Sistema Operativo Tema 2 ( Planificación de procesos )
Planificación del Procesador.
Sistemas Operativos.
Tema 2.
Sistemas Operativos (IS11) – Tema 2
1
Concepto de Proceso.
• Una definición sencilla:
Entidad pasiva
Programa
RECURSOS
CPU
Memoria
Ficheros
Dispositivos
Programa en ejecución.
Entidad activa
Proceso
+
Pila
Datos
Código
Otros recursos
Ficheros abto.
Disponible E/S, etc
PC
– El programanecesita una serie de recursos para su ejecución:
• Tiempo de la CPU.
• Memoria.
– Con el contenido del programa.
– Pila para datos temporales.
– Sección de datos con variables globales.
• Acceso a archivos y dispositivos E/S.
Sistemas Operativos (IS11) – Tema 2
2
Concepto de Proceso.
• Para entender mejor el concepto de proceso:
– Los procesos tienen un carácter secuencial:
– Unproceso en su ejecución puede generar más de un
proceso (llamada fork).
– Dos procesos pueden asociarse al mismo programa.
• Proceso: Unidad de trabajo del sistema.
– En general, habrá más de un proceso ejecutándose
concurrentemente.
• Procesos de usuario y procesos del sistema.
• El sistema operativo se encargará de:
– La creación y eliminación de procesos.
– La planificación deprocesos.
– La sincronización, comunicación y manejo de bloqueos mutuos
entre procesos.
Sistemas Operativos (IS11) – Tema 2
3
Estado de un proceso.
• El estado de un proceso:
– Relacionado con su actividad del proceso en un cierto momento.
– Al ejecutarse irá cambiando de estado.
• Posibles estados de un proceso:
– En ejecución: Está usando el procesador.
– Bloqueado: No puede hacernada porque está espera un evento
externo (esperando la conclusión de E/S).
– Listo: Está en memoria esperando turno para ejecutarse en la
CPU (espera asignación del procesador).
Sistemas Operativos (IS11) – Tema 2
4
Estado de un proceso.
• Diagrama de transición de estados:
– 1.- Pasa a esperar un suceso
(E/S) y se bloquea.
– 2.- Expulsión de proceso
de la CPU
– 3.- Elplanificador elige
otro proceso.
– 4.- El suceso (E/S) que
esperaba el proceso acaba.
Proceso
Finalizado
En ejecución
1
3
2
Proceso
Nuevo
Bloqueado
4
Listo
• En un instante: sólo un proceso en ejecución, los demás
estarán listos o en espera.
Sistemas Operativos (IS11) – Tema 2
5
Bloque de control del proceso (PCB)
• En el S.O.:
– Un proceso se representa por: UnBloque de Control del
Proceso (PCB, Process Control Block).
• Es un conjunto de registros que almacena información
sobre el proceso:
– Estado del proceso: Nuevo, Listo, en Ejecución, Bloqueado.
– Contador del programa: Dirección siguiente instrucción a ejecutar.
– Registros de la CPU: Contenidos al final de la ultima ejecución
(contador de programa, puntero a pila, registros de datos,etc.).
– Información planificación CPU: prioridad, apuntadores a las colas,
algoritmo usado.
– Información contable y de identificación: Número de proceso,
tiempo real y de CPU utilizado.
– Información estado E/S: Solicitudes E/S pendientes, lista archivos
abiertos, etc.
Sistemas Operativos (IS11) – Tema 2
6
Bloque de control del proceso (PCB)
• Se utiliza para poder ejecutar procesosconcurrentes:
hay un cambio de contexto (se produce una interrupción
que debe atender el sistema operativo)
Sistemas Operativos (IS11) – Tema 2
7
Concepto de hilo de ejecución: thread.
• 1) Varios procesos pueden cooperar para resolver una
misma tarea. Tendremos ejecución concurrente entre
procesos comunicados por memoria
• 2) Un programa podría realizar actividades concurrentes(paralelismo dentro del proceso). Tendremos: Ejecución
concurrente de varios “hilos” dentro de un proceso.
• Cada hilo, thread o proceso ligero tiene su propio:
– Contador de programa, pila, registros y estado del proceso ligero
• Los procesos ligeros de un mismo proceso comparten la
información del proceso:
– Espacio de memoria, Variables globales, Archivos abiertos,
Procesos hijos,...
Regístrate para leer el documento completo.