Sistemas Operativos I
ESEI Uvigo
Contenidos
1 Conceptos fundamentales de los Sistemas Operativos 1
1.1 Introducción a los Sistemas Operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Funciones del Sistema Operativo . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Característica de un Sistema Operativo . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Estructura de los Sistemas Operativos . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Procesos 5
2.1 Estados de un proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Representación de los procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3 Operaciones básicas sobre procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Áreas de comunicación entre procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.1 Interbloqueo e Inanición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.2 Propiedades de conexión de los sistemas concurrentes . . . . . . . . . . . . . . . 17
2.5 El Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.1 Dispatcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.2 Controlador de interrupciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Grado en Enxeñaría Informática SOI Curso 2024-2025
1 Conceptos fundamentales de los Sistemas Op-
erativos
1.1 Introducción a los Sistemas Operativos
Definición 1. Software todos los programas que tiene el ordenador. Está
formado por tres niveles, todos ellos sobre el hardware y cada uno encima
del anterior: Software de control, Software de utilidades generales y
Software de aplicaciones
Definición 2. Un Sistema Operativo (S.O.) es un programa o conjunto
de programas que tiene por objetivo facilitar el uso del ordenador y con-
seguir que este uso sea eficiente.
El Sistema Operativo tiene contacto directo con el hardware y una de sus fun-
ciones es hacer la máquina más amigable. Hay servicios comunes y no comunes
a todos los Sistemas Operativos.
1.1.1 Funciones del Sistema Operativo
Cada sistema operativo proporciona al usuario una serie de funciones básicas y
otras que no, y por lo tanto no todos los sistemas tiene, un ejemplo de estas
ultimas serian:
• Sistemas monoprogramado y multiprogramados
• Sistemas monousuario y multiusuario
• Sistemas monoprocesador y multiprocesador
Las funciones básicas que todo S.O. debe de llevar a cabo son:
1. Inicializar la máquina: comprobar que todos los elementos funcionan.
• Inicialización total: llega corriente e inicializa la BIOS, en la ROM;
esta comprueba que todo esté correcto y busca el S.O., no necesari-
amente está en el disco duro, para cargarlo en memoria principal.
No todos los comandos se cargan en memoria, esto da lugar a co-
mandos internos(en memoria principal) y comando externos(que
no se cargan debidos a un uso menos frecuente).
• Inicialización parcial: solo se inicia una parte del sistema, mientras
que la parte restante continua en funcionamiento. Se utiliza cuando
no es conveniente apagar y volver a encender en casos de error. un
ejemplo de uso, es instalar un disco duro en ordenador donde ya hay
discos duros.
2. Servir de máquina extendida(virtual): crea una máquina mas sencilla
para el usuario, con la que oculta detalles del hardware. También pro-
porciona seguridad impidiendo que la ejecución de un programa interfiera
en la ejecución de otros. Así la maquina extendida tiene dos funciones
principales.
• Seguridad: impide que la ejecución de un programa A interfiera con
la de un segundo programa B. Esta función de la máquina extendida
permite dividir las instrucciones e dos tipos.
1
Grado en Enxeñaría Informática SOI Curso 2024-2025
– Instrucciones peligrosas: son aquellas que no interfieren, se
ejecutan en un modo no privilegiado (modo usuario).
– Instrucciones no peligrosas: pueden interferir en la ejecu-
ción de otras instrucciones, se ejecutan en un modo privilegiado
(modo supervisor)
• Abstracción: los S.O. ocultan los recursos físicos mediante la
creación de recursos virtuales. Ejemplo: los sectores en un disco
duro serían el recuso físico y los nombres de los archivos el recurso
virtual.
3. Administrar los recursos para su funcionamiento: el S.O. asigna a
cada programa os recursos que necesita y controla el uso correcto de
esos recursos. Ejemplos de recursos serían. tiempo de CPU, E/S, el
procesador...
Nota 1 (BIOS). La BIOS es un software fundamental almacenado en la
memoria ROM de la placa base de tu ordenador. Su función principal es
iniciar y gestionar los componentes de hardware durante el arranque del
sistema1.
La BIOS se encarga de realizar una serie de pruebas y configuraciones
básicas antes de que el sistema operativo se cargue. Esto incluye la acti-
vación de controladores y la verificación de que todos los componentes de
hardware estén funcionando correctamente
Nota 2 (Como pasar de modo usuario a modo supervisor). Primero se
generan interrupciones, el S.O. toma el control y decide cuando se ejecuta
la instrucción peligrosa; después una vez ejecutada la instrucción se pasa
a modo usuario y el programa retoma el control.
2
Grado en Enxeñaría Informática SOI Curso 2024-2025
1.1.2 Característica de un Sistema Operativo
Importante 1. Un S.O. debe ser siempre y al mismo tiempo:
• Determinista: ante unos mismos datos que entran varias veces se
obtiene se obtiene siempre la misma salida.
• Indeterminista: el S.O. debe responder a circunstancias imprevisi-
bles que ocurren en un orden desconocido.
Nota 3. Se dice que el S.O. cae cuando no responde, cuando esto pasa
con excesiva frecuencia se dice del S.O. que no es robusto.
1.2 Estructura de los Sistemas Operativos
Hay varias formas de organizar el software.
• Sistemas monolíticos: no existen niveles y los procedimientos se pueden
invocar todos unos a otros, tampoco hay ocultación de la información.
cuando ocurre una interrupción el programa de usuario coloca determi-
nados parámetros mediante una tabla para saber que instrucción peli-
grosa se quiere ejecutar y después ejecuta el procedimiento. La estructura
en niveles es:
– Procedimiento principal
– Procedimiento de servicio
– Procedimientos auxiliares
Un ejemplo de sistema monolítico es el MS DOS:
– Ventajas: requiere poco espacio en memoria y es rápido en la ejecu-
ción.
– Inconvenientes: la depuración es complicada y el mantenimiento difí-
cil.
• Sistemas en estratos (o capas): el S.O. se divide en niveles o capas que
realizan funciones que le ocultan al nivel superior. Un ejemplo es THE(Di-
jkstra) o MULTICS. En el caso de THE se clasifican las instrucciones en
niveles según el orden en el que se ejecutan:
1. Distribución del procesador y multiprogramación
2. Administración de memoria y tambor
3. Comunicación entre operador y procesos
4. Administración de E/S
5. Programas de usuario
6. Operador THE
Cada nivel tiene una tarea y el resto de niveles no sabe nada de como se
realiza esta. El diseño de THE fue en niveles pero la implementación fue
monolítica; MULTICS si es en niveles y cuanto mas abajo y más cerca del
hardware mas seguridad hay en la capa.
• Maquinas virtuales: está formado por un único proceso que copia la
máquina real, lo que permite que cada copia ejecute un S.O. distinto. El
programa de control se ejecuta sobre el propio hardware.
3
Grado en Enxeñaría Informática SOI Curso 2024-2025
– Ventaja: puedes utilizar una máquina con un sistema operativo que
no conoces.
– Inconveniente: la potencia.
• Modelo cliente-servidor: se minimiza el kernel para estar en modo
supervisor la menor cantidad de tiempo posible, y así reduce el retardo.
Los procesos se dividen en:
– Procesos servidores: funciones del S.O.
– Procesos clientes: funciones del usuario.
Importante 2. El proceso cliente se comunica con el servidor medi-
ante el kernel
Las principales ventajas e inconvenientes son:
– Ventajas: depuración sencilla, flexibilidad para el mantenimiento y
utilidad para implementar S.O. distribuidos.
– Inconvenientes: repetición de código(más gasto de memoria) y lenti-
tud(por no ejecutar en modo supervisor).
Un ejemplo se sistema cliente-servidor es Novel.
Nota 4. en un S.O. distribuido si un servidor falla el resto puede
seguir funcionando
• Estructura orientada a objetos: cada tipo de objeto es una clase:
– Programa:
∗ [Link]
∗ [Link]
– Fichero: [Link]
Las principales ventajas e inconvenientes son:
– Ventajas: ocultación de información.
– Inconvenientes: espacio.
• Sistema híbridos: están teniendo bastante auge, utilizan la estructura de
los sistemas monolíticos y del modelo cliente-servidor al mismo tiempo.
4
Grado en Enxeñaría Informática SOI Curso 2024-2025
2 Procesos
Definición 3 (Programa). Conjunto de instrucciones o acciones definidas
mediante un lenguaje de programación, con las que se describen tareas.
Definición 4 (Proceso). Ejecución del código del programa, realización de
esas tareas.
• Un mismo proceso puede estar asociado a varios programas.
Ejemplo: el proceso de la entrada por teclado.
• Un programa puede dar lugar a uno o varios procesos.
• Un programa tiene como mínimo un proceso asociado.
Definición 5 (Multiprogramación). Se dice de cuando varios programas
residen en memoria principal de forma simultanea.
Nota 5. La multiprogramación implica siempre multiproceso. Si solo
tengo un procesador tendré que multiplexar, si tengo más puedo ejecutar
en paralelo.
Definición 6 (Procesador). Un procesador es cualquier agente capaz de
realizar acciones descritas en un programa. toda CPU es un procesador,
pero no todo procesador es una CPU, por ejemplo el bus de datos es un
procesador cuyas instrucción (trasladar datos) están en el hardware.
M U LT IP ROCESO 6= M U LT IP ROCESADOR
Definición 7 (Multiproceso). Ejecución de más de un proceso de forma
simultanea,
5
Grado en Enxeñaría Informática SOI Curso 2024-2025
Definición 8 (Concurrencia). Solapamiento en el tiempo de varias activi-
dades. Dos procesos P1 y P2, se están ejecutando concurrentemente
si la primera instrucción de P1 se ejecuta entre la primera instrucción
de P2 y la ultima instrucción de P2.
1. Concurrencia real/ Paralelislmo: ejecución paralela real, las activi-
dades se realizan simultaneamente en distintos procesadores, cada
una el el suyo.
n procesadores ≥ n procesos
2. Concurrencia aparente / Pseudoparalelismo: Las distintas ac-
ciones se turnan para ejecutarse en un procesador compartido, se
multiplexan en el tiempo.
n procesadores < n procesos
Definición 9. El contexto o entorno volátil es el estado guardado de
un proceso al que se le ha quitado la CPU para que puedan restablecerse
los valores cuando sea devuelto a la CPU. El resultado de restablecer esos
valore se denomina conmutación de CPU.
Definición 10 (Carga adicional / Ovewrhead / Sobrecarga). Se denomina
carga adicional al tiempo que tarda la CPU en cambiar de proceso, debe
ser el menor posible.
P rocesamiento concurrente 6= P rogramación concurrente
Definición 11 (Procesamiento concurrente). Es la situación que encon-
tramos en el sistema al hacer una instantánea, en donde vemos varios
procesos en un estado intermedio entre el inicio y el final.
Definición 12 (Programación concurrente). Es el conjunto de notaciones
que se utiliza para expresar paralelismo e indicar que partes del programa
se pueden ejecutar de forma concurrente. Además técnicas para resolver
posibles conflictos entre procesos.
2.1 Estados de un proceso
Los posibles estados de un proceso son los siguientes:
• Activo: el proceso tiene el control total de la CPU.
• Listo: El proceso está esperando a que le asignen un procesador.
• Bloqueado: El proceso está esperando a la finalización de un evento para
poder continuar con su ejecución.
6
Grado en Enxeñaría Informática SOI Curso 2024-2025
Nota 6. Para evitar que un proceso se apodere de la CPU se establece
el quantum, un tiempo máximo despues del cual el proceso deja de estar
activo. cuando el quantum se ha consumido se genera una interrupción y
el proceso pasa a estado listo.
Esperando
finalización
de un
evento
Bloqueado
Estados de Listo
Esperando
asignación
un Proceso
Activo
Control
total de
la CPU
7
Grado en Enxeñaría Informática SOI Curso 2024-2025
2.2 Representación de los procesos
Definición 13 (Bloque de control de procesos, PCB). Estructura de datos
que contiene toda la información de un proceso que el S.O. necesita para
su control.
Dentro del PCB se guarda la siguiente información:
• PID: identificador del proceso, todo proceso tiene un identificador que es
único.
• Estado actual.
• Punteros para localizar el espacio de memoria asignado al proceso
• Área para reservar registros, allí es donde se va ha guarar el entorno volátil.
• Punteros para asignar recursos.
Definición 14 (Bloque de control sistema, SCB). estructura de datos que
gestiona el S.O. para controlar los PCB de los procesos.
Los componentes del SCB son:
• Lista de PCB de los procesos.
• Puntero al PCB del proceso activo.
• Puntero a la lista de procesos en estado listo.
• Puntero a la lista de procesos en estado bloquedado.
8
Grado en Enxeñaría Informática SOI Curso 2024-2025
Punteros
a PCBs
Listas
Control de
los PCBs
SCB
Representación
de los Procesos
PCB
Información
del Proceso
Registros
Estado
PID
9
Grado en Enxeñaría Informática SOI Curso 2024-2025
2.3 Operaciones básicas sobre procesos
1. Crear proceso:
(a) Crear PCB.
(b) Obtener PIB:
(c) Asignar recursos.
(d) Añadirlo a la lista de procesos listos.
(e) Calcular su prioridad.
2. Destruir un proceso:
(a) Desasignar recursos
(b) Borrarlo de las listas del sistema
(c) Borrar PCB
3. Cambiar la prioridad de un proceso, la prioridad de un proceso puede
cambiar al usar algunos algoritmos de prioridad.
4. Bloquear un proceso, cuando un proceso tiene que esperar a la final-
ización de un evento.
5. Despertar un proceso, cuando el proceso pasa de bloqueado a listo, no
se toca el entorno volátil
6. Despachar un proceso, cuando pasa de listo a activo.
Nota 7. Cuando un proceso se queda huérfano en Unix es asignado al
proceso universal, PID=1; en Windows tampoco se borra pero queda sin
proceso padre.
Nota 8. El quantum:
Los algoritmos no apropiativos no tienen quantum.
Los algoritmos apropiativos tienen quantum.
Nota 9. En Linux existe un proceso para todos los procesos que quedan
huerfanos, es el PIB=1.
10
Grado en Enxeñaría Informática SOI Curso 2024-2025
Asignar
recursos
Calcular
prioridad
Despertar Bloquear
Crear Proceso
Proceso Proceso
Operaciones Básicas
Despachar
Destruir Cambiar
Proceso Prioridad
Desasignar
recursos
Borrar PCB
11
Grado en Enxeñaría Informática SOI Curso 2024-2025
2.4 Áreas de comunicación entre procesos
Exclusión mutua, basada en "competir por recursos" que pueden ser:
• Compartibles, se les puede retirar un proceso antes de terminar.
• No compartibles, tiene que terminar el proceso que lo usa antes de que
se le pueda asignar a un proceso distinto.
Definición 15 (Exclusión mutua). Es la comunicación requerida entre dos
o más procesos que se están ejecutando en paralelo y que necesitan a la vez
el uso de un recurso no compartible(RNC). Consiste en asignar el recurso
no compartible a solo uno de los procesos, mientras que los otros deben
permanecer a la espera hasta que finalice la utilización de dicho recurso
por el proceso al que se le asignó. Cuando este proceso termine, el recurso
será asignado a uno de los procesos en espera. Se asegura el correcto
uso del recurso. Cuando los procesos ejecutan operaciones que no están
en conflicto entre sí (uso del mismo recurso no compartible), se les debe
permitir que procedan de forma concurrente.
Definición 16 (Sección crítica). Sección crítica o región crítica es el trozo
de código donde un proceso hace uso de un recurso no compartible, por
lo tanto debe ejecutarse en exclusión mutua. Deberá además ejecutarse
de forma rápida para no aumentar la lista de procesos en espera. Además,
deben codificarse con cuidado, para no entrar en bucles infinitos por ejem-
plo.
Ejemplo 1. Impresoras, no tienen sentido que dos procesos escriban en la
misma hoja, no tendríamos un resultado comprensible
Importante 3. Se ejecutan en paralelo Pa y Pb usando RN C1 y RN C2
respectivamente:
Pa (RN C1 ) k Pb (RN C2 )
No pueden ejecutarse en paralelo Pa y Pb usando RN C1 los dos al
mismo tiempo:
Pa (RN C1 ) k Pb (RN C1 )
12
Grado en Enxeñaría Informática SOI Curso 2024-2025
Importante 4. Protocolos de entrada y salida:
• Protocolo de entrada
1. El recurso no compartible (RNC) está libre?
2. O está libre o no lo está
– Está libre, el recurso pasa a la región crítica.
– No está libre, el proceso espera (para en este fragmento de
código).
• Protocolo de salida
1. Hay algún proceso en espera?
2. O hay procesos (uno o más) en espero o no hay ninguno
– Existen procesos en espera, el recurso pasa a la región
crítica.
– No existen, el recurso queda libre.
Definición 17 (Sincronización). Comunicación requerida entre dos proce-
sos con el fin de sincronizar sus actividades, hay dos tipos simple y múltiple.
• Sincronización simple, un proceso P1 espera a un proceso P2 .
• Sincronización múltiple, dos procesos se esperan mutuamente.
Ejemplo 2 (Sincronización simple). Leer y sumar una matriz:
1. P1 lee MA
2. P1 llega al evento T
3. P1 se pregunta si el proceso P2 ha llegado al evento Q(P2 ha leído
MB ), en caso afirmativo P1 realiza la operación MB + MB
Ejemplo 3 (Sincronización múltiple). Lectura y suma de matrices:
1. P1 lee MA
2. P1 llega al evento T
3. P1 se pregunta si el proceso P2 ha llegado al evento Q(P2 ha leído
MB ), P2 se pregunta si se ha llegado al evento T (haber leído MA )
4. MA + MB
13
Grado en Enxeñaría Informática SOI Curso 2024-2025
2.4.1 Interbloqueo e Inanición
Definición 18 (Interbloqueo). Cuando no se puede asignar un recurso
solicitado por el proceso Un proceso esta interbloqueado si está esperando
por un evento determinado que nunca va a ocurrir. Se dice que un conjunto
de procesos se encuentra en estado de interbloqueo, cuando cada uno
de ellos está esperando un suceso que sólo puede ser causado por otro
proceso del mismo conjunto, y que nunca se producirá porque todos están
bloqueados.
Definición 19 (Inanición de procesos). Se está esperando por un evento
que puede ocurrir, pero que cuyo tiempo de espera no se puede limitar,
ocurre con los recursos compartibles.
Condiciones de interbloqueo:
Nota 10. Son todas condiciones necesarias, si deja de cumplirse alguna ya
no hay interbloqueo.
1. Condición de exclusión mutua.
2. Condición de "esperar por": mantienen los recursos que se tienen mien-
tras se espera por la asignación de uno nuevo.
3. Condición de no apropiatividad: no se van a poder extraer recursos.
4. Condición de espera circular.
Puntos de estudio del interbloqueo:
1. Prevención, hace que "nunca jamás" se produzca el interbloqueo:
• Negar la condición "esperar por": se solicitan de golpe todos los
recursos y o se asignan todos o ninguno.
• Negar la condición de no apropiatividad:
(a) Cuando no se puede asignar un recurso solicitado por el proceso
todos los demás se liberan.
(b) Cuando se liberan los recursos pierdo el trabajo realizado hasta
ese momento.
(c) Baja utilización de recursos.
• Negar la condición de espera circular.
2. Evitación: dotar al sistema de estrategias para resolver las situaciones en
las que se produce el interbloqueo. esto no implica que no ocurra, solo
que pasa menos veces(ocurre solo en los casos que quedan fuera de las
estrategias que se han planteado en la etapa de diseño).
• Mejora la utilización de recursos.
• No asegura que no se vaya a producir el interbloqueo
3. Detección: determina si existe el interbloqueo y la causa, procesos y
recursos implicados.
4. Recuperación: Retirada forzosa de el o los procesos implicados, abortar
procesos.
14
Grado en Enxeñaría Informática SOI Curso 2024-2025
Recursos
com-
partibles
Tiempo
espera
indefinido
Inanición Esperando
de procesos evento
Interbloqueo
e Inanición
Conjunto
Interbloqueo de procesos
bloqueados
Esperando
evento
que nunca
ocurrirá
No se
puede
asignar un
recurso
15
Grado en Enxeñaría Informática SOI Curso 2024-2025
Abortar Identificar
procesos interbloqueo
implicados y causa
Recu-
peración Detección
Estrategias
para resolver
interblo-
queos
Evitación
Puntos de
Estudio del
Interbloqueo
Negar
espera
circular
Prevención
Negar no
apropia-
tividad
Negar
"esperar
por"
Interbloqueo
Espera
circular
Condi-
ciones de
Interbloqueo
No apropia-
tividad
Exclusión "Esperar
mutua por"
16
Grado en Enxeñaría Informática SOI Curso 2024-2025
2.4.2 Propiedades de conexión de los sistemas concurrentes
Propiedades de seguridad: cuando el S.O. funciona lo hace correctamente.
1. Se cumple la exclusión mutua.
2. Se solucionan los problemas de sincronización.
Propiedades de vivacidad: el S.O. no falla.
1. Está comprobado que no se producen interbloqueos.
2. Está comprobado que no se produce inanición.
17
Grado en Enxeñaría Informática SOI Curso 2024-2025
2.5 El Kernel
Definición 20 (Kernel). Parte del sistema operativo más cercana al hard-
ware, a diferencia de otras reside siempre en memoria principal y se eje-
cuta siempre en modo supervisor. Suele escribirse en lenguaje máquina,
ensamblador o más recientemente C.
Funciones del Kernel:
1. Manipulación de interrupciones
2. Inhabilitación y habilitación de interrupciones
3. Creación y destrucción de procesos
4. Cambio de estado de un proceso
5. Despachar un proceso
6. Comunicación entre procesos
7. Manipulación de los PCBs
8. Soporte para servicios de más alto nivel
Componentes del Kernel:
1. Dispatcher.
2. Controlador de interrupciones.
3. Manejador de la comunicación entre procesos.
18
Grado en Enxeñaría Informática SOI Curso 2024-2025
2.5.1 Dispatcher
Definición 21 (Dispatcher). Es el encargado de asignar los procesadores a
los diferentes procesos, que proceso va lo elige el algoritmo de planificación,
por lo tanto debe actuar cuando se debe comprobar si es necesario cambiar
el proceso que está activo.
Importante 5. El dispatcher es crucial para la gestión eficiente de la CPU,
asegurando que siempre haya un proceso adecuado en ejecución. Verifica
constantemente si debe cambiar el proceso activo, guarda y restaura el
estado de los procesos, y decide qué proceso ejecutará a continuación según
las políticas de planificación del sistema operativo.
El dispatcher debe asignar un procesador cuando:
• Cuando el proceso activo se bloquea: Por ejemplo, al esperar una
operación de E/S, el dispatcher selecciona otro proceso listo para ejecutar.
• Cuando un proceso se desbloquea, pasando a estado listo por el al-
goritmo de planificación, puede llegar a desplazar al proceso activo:
Si un proceso de mayor prioridad se desbloquea, puede tomar el lugar del
proceso activo.
• Cuando un proceso debe pasar de activo a listo, y por lo tanto otro
pasara de listo a activo: Esto puede suceder por diferentes razones,
como la expiración del tiempo asignado. El dispatcher entonces selecciona
un nuevo proceso listo para ejecutarse.
19
Grado en Enxeñaría Informática SOI Curso 2024-2025
1. Inicio: El dispatcher se activa cuando hay un cambio en el estado del
proceso actual. Esto puede suceder por varias razones, como cuando un
proceso se bloquea o cuando se desbloquea otro con mayor prioridad.
2. Continuar?: Aquí, el sistema evalúa si debe continuar con el proceso
actual:
• Si la respuesta es "Sí":
– El control sigue con el proceso actual (Control al proceso).
– Después de esto, el dispatcher termina (Fin).
• Si la respuesta es "No": Cuando se decide no continuar con el
proceso actual:
– Salvar el entorno del proceso activo:
∗ Se guarda el estado del proceso activo en su PCB (Pro-
cess Control Block). Esto incluye registros, contadores
de programa y cualquier otra información necesaria para
reanudarlo más tarde.
– Restaurar el entorno del proceso que está en la cabecera de
la lista de procesos en estado listo:
∗ Se carga el estado del siguiente proceso a ejecutar, que
está en la cabecera de la cola de listos.
– Control al proceso:
∗ El control se transfiere al nuevo proceso seleccionado.
– Fin:
∗ El dispatcher termina su ejecución y el nuevo proceso
comienza a ejecutarse.
20
Grado en Enxeñaría Informática SOI Curso 2024-2025
2.5.2 Controlador de interrupciones
Tipos de interrupciones:
• Interrupciones internas: producidas por los propios procesos.
• Interrupciones externas: producidas por elementos ajenos a los proce-
sos.
Objetivos del controlador de interrupciones:
Nota 11. Últimamente no se utiliza porque los ordenadores tienen dupli-
cados los registros; pero el controlador tiene un paso previo que es guardar
la información básica del proceso activo 8registros CPU, entorno volátil).
1. Determinar el origen de la interrupción
Metodos:
• Ejecutando un trozo de código formado por estructuras de decisión
anidadas (cadena de saltos).
• Que el hardware sea capaz de distinguir las diferentes fuentes de
interrupción y transferir el control a su correspondiente rutina de
tratamiento.
• Primero el hardware reconoce a qué grupo pertenece la interrupción
y luego mediante una pequeña cadena de salto asociada a ese grupo
se identifica la interrupción.
Importante 6. Relación con la complejidad del hardware.
2. Dar servicio a la interrupción:
• El controlador inicia el servicio de la interrupción invocando a la
rutina de tratamiento adecuada. Estas rutinas de tratamiento deben
ser lo más cortas posibles, por lo tanto, en general, llevan a cabo
acciones mínimas.
• Es posible que una interrupción varíe el estado de un proceso, en
cuyo caso será la propia rutina de tratamiento la que cambie dicho
estado accediendo al PCB del proceso.
Nota 12. En los sistemas a tiempo real hay interrupciones que no pueden
ser retenidas en modo supervisor; así solo se retienen las de menor o igual
prioridad.
Funcionamiento:
Mientras que actúa el controlador de interrupciones estas están inhabilitadas.
Sin embargo, esto no se puede realizar en sistemas donde determinadas inter-
rupciones requieren una respuesta rápida. Por ello, surge la noción de prioridad
entre las interrupciones, de forma que una interrupción puede ser interrumpida
si llega otra con una prioridad más alta. En definitiva, solo se inhabilitan las
interrupciones de igual o menor prioridad.
Resumen:
• Interrupciones internas y externas: Diferentes orígenes.
• Objetivos: Identificar y dar servicio a las interrupciones.
• Funcionamiento: Control y prioridad de las interrupciones.
21
Grado en Enxeñaría Informática SOI Curso 2024-2025
Ejemplo 4. Un sistema con prioridades, a menor valor mayor prioridad,
como máximo numero de interrupciones de cada tipo interrumpe n-1 in-
terrupciones de los n tipos que hay 8 a igual prioridad no pasa nada)
Respuesta
Rápida
Prioridad Interrup-
de Inter- ciones
rupciones Inhab-
ilitadas
Fun-
cionamiento
Acceso
al PCB
Rutina
Dar Adecuada
Servicio
Controlador de
Objetivos
Interrupciones
Grupo +
Cadena
Determinar de Salto
el Origen
Hardware
Distinguido
Estructuras
de Decisión
Tipos de
Interrupciones
Internas Externas
22