Este documento describe las interrupciones de software en un sistema operativo. Explica que las interrupciones de software son generadas por un programa mediante la instrucción INT y atendidas por una subrutina del sistema operativo. Detalla algunas interrupciones comunes como INT 21h para los servicios de DOS e INT 10h, 16h y 17h para servicios de video, teclado e impresora. Finalmente, resume el mecanismo de tratamiento de interrupciones por el sistema operativo.
2. Interrupciones de Software
René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
INTEGRANTES
Omar Alexis Sanmartín Tapia
Ángel Steven Martínez Chamba
Miguel Alexander Rojas Cobos
Cristian Eduardo Medina Morocho
Johanna Patricia Montaño Guamán
Mayo, 2020
3. 3
1. Clasificación y Definiciones
2. Mecanismo De Interrupción : El Vector De Interrupción
3. Interrupciones Por Software
3.1. Leer un Carácter
3.2. Escribir un String
3.3.Lectura de String
Agenda
4.
5. ¿QUÉ ES UNA INTERRUPCIÓN?
Las interrupciones son un mecanismo para pausar brevemente la ejecución de un
programa, ejecutar una subrutina especial, y luego continuar ejecutando el programa.
7. • Los sistemas operativos (SO) centralizan el manejo de
algunos de los recursos de la computadora, haciendo de
intermediarios entre los programas y los recursos.
Por ejemplo:
• Si un programa quiere mostrar un texto en el monitor debe pedirle al SO que lo muestre.
De esta forma, si varios programas quieren modificar el contenido de la pantalla, el SO
puede mediar para que lo hagan de manera ordenada y consistente de modo que la
imagen final que se muestra tenga sentido.
8. Llamada al sistema (syscall)
Interrumpe la ejecución del programa y le pase temporalmente el control a una
subrutina del SO. El SO satisface el pedido del programa (ejecutando las
instrucciones de la subrutina del SO), y luego continúa con la ejecución del
mismo.
9. Instrucciones Int
• La instrucción INT (llamada a un procedimiento de interrupción) llama a una subrutina del
sistema que también se conoce como manejador de interrupciones.
• La sintaxis es:INT número
• En donde el número es un entero en el rango de 0 a FF hexadecimal.
10. Interrupciones de software
• Las interrupciones por software las genera el programa, se
producen cuando un usuario solicita un recurso del núcleo,
mediante una llamada al sistema lo que causa que se ejecute
una subrutina del sistema operativo.
11.
12. • En procesadores x86, para lanzar una interrupción por software
un proceso ejecuta la instrucción int seguida de un número de
16 bits que indica el tipo de interrupción por software.
• Hoy en día las arquitecturas de los procesadores modernos
vienen con instrucciones especializadas para la invocación de
llamadas al sistema como syscall en x86, por tanto, esta
técnica ha caído en desuso
13. Mecanismo de Interrupción : El
Vector de Interrupciones
Tipos de interrupción y propiedades
Tipo de
Interrupción
Inicia Atiende
Software El programa mediante la
instrucción int N
Una subrutina del
sistema operativo
(código oculto)
Hardware El dispositivo través del
PIC
Una subrutina del
programa (debe
implementarla el
programador)
14. Mecanismo de Interrupción : El
Vector de Interrupciones
Ambos tipos de interrupciones tienen en común que la interrupción se
identifican con un número.
15. Mecanismo de Interrupción : El
Vector de Interrupciones
Las direcciones son de 2 bytes, cada
elemento ocupa 4 bytes: los primeros 2
tienen la dirección y los otros 2 no se usan.
16. Mecanismo de Interrupción : El
Vector de Interrupciones
Al recibir una interrupción con identificador N, la CPU accede a la posición N
de dicho vector, obtiene la dirección de comienzo de la subrutina, y ejecuta un
call a la misma.
17. Mecanismo de Interrupción : El
Vector de Interrupciones
Interrupciones más comunes
Interrupción Detalle
INT 10h Servicios de video
INT 16h Servicios de teclado
INT 17h Servicios de impresora
INT 1Ah Hora del día
INT 1Ch Interrupción de temporizador del usuario
INT 21h Servicios de MS-DOS
18. INTERRUPCIONES DEL DEL SISTEMA OPERATIVO
INTERRUPCIÓN DETALLE
INT 21H La interrupción mas importante, Servicios de DOS
INT 20H Termina el Programa
INT 22H Control de finalización de programas
INT 23H Tratamiento del Ctrl-C
INT 24H Tratamiento de Errores críticos
INT 25H Lectura absoluta del disco( Sectores Lógicos)
INT 26H Escritura absoluta del disco( Sectores Lógicos)
INT 27H Termina dejando residente el programa
INT 28H Idle (ejecutada cuando esta inactivo)
INT 29H Impresión rápida en pantalla
19. INTERRUPCIÓN DETALLE
INT 2AH Red Local MS NET
INT 2BH-2DH Uso interno del DOS
INT 2EH Procesos Batch
INT 2FH Interrupción MultipleX
INT 30H-31H Compatibilidad CP/M-80
INT 32H Reservada
20. Las bibliotecas como intermediarias
• Generalmente, los sistemas operativos proveen bibliotecas que
relacionan los programas de usuario y el resto del sistema
operativo
• Manejan entre otras cosas, los detalles de bajo nivel para
transferir información al kernel y conmutar a modo supervisor, así
como cualquier procesamiento de datos
21. Tratamiento de interrupciones
1. Almacena el estado de la ejecución del proceso en el Bloque de Control de
procesos (PCB).
2. Se pasa la CPU a modo supervisor.
3. Se ejecuta el código del sistema operativo que realiza el tratamiento de la
interrupción. Este decide la acción correspondiente dependiendo del tipo
de interrupción.
4. Se devuelve el control de la ejecución al planificador del sistema operativo.
22. Orden de Prioridad
1. Excepciones del Procesador
2. Interrupciones Software
3. Interrupciones Hardware no Enmascarables
4. Interrupciones Hardware Enmascarables
23. Ejemplo de Lectura , Escritura NASM
Para hacer una operación se envían los parámetros del tipo de operación
a través de los registros del procesador.
Los registros pueden ser EAX,EBX