UNIDAD II.
ADMINISTRACIÓN DE PROCESOS
1. Definición de proceso
2. Funciones y políticas del procesador
3. Bloque de Control de Procesos
4. Interrupciones
5. Secciones críticas y exclusión mutua
6. Abrazo mortal
Núcleo de
S.O.
(Kernell)
PROCESO
Conjunto de
microinstrucciones de
un programa destinadas
a ser ejecutadas por el
microprocesador.
Código
+
Datos
Ejecutarse
Crear otro(s)
proceso(s)
PCB
Bloque de Control de
Procesos
Funciones del
s.o. sobre los
procesos
Suspender
momentáneamente
Auxiliar en la
ejecución del
proceso
Bloquear
Reanudar
Cambiar
prioridad“Dormir”
Comunicación
entre procesos
“Despertar”
Destruir
Crear el PCB
para cada
proceso
Políticas del sistema operativo sobre
los procesos
1. Qué información debe contener el PCB cuando
se crea.
2. Si se elimina a un proceso padres, se elimina a
los procesos hijo.
P C B
Bloque de Control
de Procesos
Almacén central de información que
permite al sistema operativo localizar
toda la información importante acerca
de un proceso.
Es una estructura de
datos que contiene
información acerca
del proceso, • Identificador único del proceso.
• Estado actual del proceso.
• Prioridad del proceso.
• Recursos que va a ocupar el proceso.
• El procesador en que se está ejecutando.
• Apuntador hacia el “padre” del proceso.
• Apuntador(es) hacia el (los) hijo(s).
• Apuntadores hacia las zonas de memoria.
Transición De estado: A estado:
Despacho Listo Ejecución
Expiración
de tiempo
Ejecución Listo
Bloqueo Ejecución Bloqueado
Despertar Bloqueado Listo
Es un evento que altera
la secuencia en que el
procesador ejecuta las
instrucciones.
INTERRUPCIÓN
Suspensión de un proceso, como
la ejecución de un programa,
originada por un suceso externo a
dicho proceso y llevada a cabo de
forma que el proceso pueda
reanudarse.
TIPOS
• De programa
• De reloj
• De entrada/salida
• De reinicio
• De verificación de
la máquina
¿Qué pasa cuando ocurre una interrupción?
1. El sistema operativo toma el control (el hardware pasa el
control al sistema operativo).
2. El sistema operativo guarda el estado del proceso
interrumpido en el PCB del proceso.
3. El sistema operativo analiza la interrupción y transfiere
el control a la rutina adecuada para atenderla.
4. La rutina del manejador de interrupciones procesa la
interrupción.
5. Se restablece el estado del proceso interrumpido.
6. Se ejecuta el proceso interrumpido (pasa a su estado
Listo).
Conceptos a considerarMultitarea: Capacidad que tienen los sistemas operativos de ejecutar de
forma simultánea varios procesos.
Multiprogramación: Se intenta mantener del modo más ocupado
posible a todos los recursos del sistema con el entrelazado y el
solapamiento de la ejecución de más de un programa. Solamente
cambiando la atención de un único procesador entre varios programas y
dejando que cada uno se ejecute unas milésimas de segundo antes de ir a
otro, permite crear la ilusión de la ejecución concurrente o al unísono de los
programas. Además de la multitarea incluye la capacidad de gestión de la
memoria y de los ficheros.
Sistemas de tiempo compartido: Sistemas con multiprogramación
interactiva en los que se asigna a cada programa un mismo intervalo de
tiempo de ejecución.
PROCESO 1
PROCESO 2
PROCESO n
CPU
SISTEMAS DE
MULTIPROGRAMACION
Exclusión mutuaCondición por la cual, de un conjunto
de procesos, sólo uno puede
acceder a un recurso dado o realizar
una función dada en un instante de
tiempo.
Actividad que realiza el sistema
operativo para evitar que dos o
más procesos ingresen al
mismo tiempo a un área de
datos compartidos o accedan
a un mismo recurso.
1. Semáforos
2. Monitores
3. Algoritmo de Decker
4. Algoritmo de Peterson
“ x or “
(uno pero no ambos)
Región/sección crítica
Cuando un proceso utiliza un recurso compartido, realiza una
serie de operaciones sobre este recurso y luego lo deja de
utilizar. A estos recursos se les llama recursos críticos y la
parte del programa/código que utiliza estos recursos se le conoce
como sección crítica el programa.
SemáforosMonitores
Programa del sistema
operativo que controla el
tráfico de procesos dentro
del sistema.
Método clásico para restringir
o permitir el acceso a
recursos compartidos (por
ejemplo, un recurso de
almacenamiento del sistema
o variables del código fuente)
en un entorno de
multiprocesamiento.
Dentro de un sistema
operativo es un programa que
observa y administra los
procesos dentro del cpu.
Se pueden implementar en
memoria.
Algoritmo de Decker
Algoritmo de Peterson
A cada proceso se le asignan varios recursos para su ejecución.
MultiprogramaciónCompartir recursos.
Es la actividad en que dos o más procesos esperan un recurso (cpu,
memoria, entrada/salida) que nunca les va a ser otorgado.
La mayor parte de los bloqueos mutuos en sistemas reales implican
una competencia entre varios procesos por varios recursos.
Deadlock (abrazo mortal)
Detección
Determina si realmente existe un bloqueo mutuo e identifica los procesos
y recursos implicados en él.
* PCB indica qué recursos, cuántos y en qué orden va a utilizar el
proceso. Al momento que se asignen recursos al proceso no se le deben
asignar a otro proceso.
Prevención
Es la técnica más empleada para tratar el bloqueo mutuo.
Para prevenir la condición de deadlock:
1. Cada proceso deberá pedir desde un principio todos los recursos que
va a utilizar.
2. Si va a utilizar más recursos después, tiene que esperarse a que se
liberen los demás recursos.
3. Si a un proceso que tiene varios recursos se le niegan los demás, ese
proceso deberá liberar sus recursos que ya le habían sido
asignados.
4. Asignar prioridad a los recursos.
1º CPU
2º Memoria
3º E/S
4º Buses
Recuperación
Cuando se ha bloqueado un sistema, el deadlock se debe romper
mediante la eliminación de una o más de las condiciones necesarias.
En los sistemas actuales, la recuperación se suele realizar eliminando
un proceso y arrebatándole sus recursos. Por lo general, el proceso
eliminado se pierde, pero ahora es posible concluir los procesos
restantes.
Los procesos pueden eliminarse de acuerdo a su prioridad.