Académique Documents
Professionnel Documents
Culture Documents
Concepto de Proceso.
Una definicin sencilla:
Entidad pasiva Programa
RECURSOS CPU Memoria Ficheros Dispositivos
Programa en ejecucin.
Entidad activa Proceso
El programa necesita una serie de recursos para su ejecucin: Tiempo de la CPU. Memoria.
Con el contenido del programa. Pila para datos temporales. Seccin de datos con variables globales.
Concepto de Proceso.
Para entender mejor el concepto de proceso:
Los procesos tienen un carcter secuencial:
Un proceso en su ejecucin puede generar ms de un proceso (llamada fork). Dos procesos pueden asociarse al mismo programa.
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.
Estado de un proceso.
Diagrama de transicin de estados:
1.- Pasa a esperar un suceso (E/S) y se bloquea. 2.- Expulsin de proceso de la CPU 3.- El planificador elige otro proceso. 4.- El suceso (E/S) que esperaba el proceso acaba.
En ejecucin
Proceso Finalizado
1
Bloqueado
Proceso Nuevo
Listo
Concepto de planificacin.
Si hay dos procesos listos para ejecucin ... Cual se ejecutar primero? El planificador (scheduler) del sistema operativo decide cual. El planificador utiliza Algoritmo de planificacin. Un ejemplo de planificacin de procesos: P0 y P1 listos
Rafaga CPU. Rafaga CPU. Rafaga CPU. Rafaga CPU.
Proceso P 0 Inicio
Rafaga CPU. Inactivo, E/S Rafaga CPU. Inactivo, E/S Rafaga CPU. Inactivo, E/S
Fin
Rafaga CPU.
Proceso P 1 Inicio
Inactivo, E/S Inactivo, E/S Inactivo, E/S
Fin
Concepto de planificacin.
Una manera sencilla de planificacin, sin multiprogramacin. Rafaga Rafaga
CPU. CPU.
Proceso P 0
Inicio
Inactivo, E/S
Fin
Rafaga CPU. Rafaga CPU. Inactivo, E/S
Proceso P 1
En espera
Inicio
Fin
10
Concepto de planificacin.
Colas de planificacin:
El S.O. usa una serie de colas para planificar los recursos (Memoria, E/S, CPU etc.). Cola de trabajos:
Procesos en almacenamiento secundario esperando memoria principal.
Cola de dispositivos:
Para cada dispositivo (disco, impresora, etc.) hay una cola de procesos esperando utilizarlo.
11
Concepto de planificacin.
Se usan los PCB como elementos de las colas:
PCB 7 Cola de procesos listos Inicio Fin Registros Registros PCB 2
...
PCB 4
...
PCB 6
Registros
Registros
...
...
...
...
Concepto de planificacin.
Un proceso cambia de cola a lo largo de su ejecucin. Planificador:
Elemento del sistema operativo que selecciona procesos en esas colas.
13
Concepto de planificacin.
Planificador de trabajos:
Necesidad: Si hay muchos procesos ... algunos en almacenamiento secundario. Cometido: Se encarga del intercambio entre memoria y almacenamiento secundario. Controla el nmero de procesos en memoria (grado de multiprogramacin). Frecuencia: Se ejecuta con menor frecuencia que el planificador CPU (cuando termina un proceso, etc.) ... puede ser ms lento Eficiencia: Buena mezcla en memoria entre procesos limitados por la CPU y por E/S
Sistemas Operativos (IS11) Tema 2
14
Concepto de planificacin.
Ejecucin de un proceso: Ciclo de rfagas CPU y E/S:
En la ejecucin de un proceso se alternan la ejecucin en CPU y la espera de E/S. Rfaga CPU: Tiempo de ejecucin en CPU entre dos E/S. Rfaga E/S: Tiempo entre solicitud y terminacin de E/S.
15
Concepto de planificacin.
Histograma tpico de duracin de rfagas de CPU:
Concepto de planificacin.
Planificador de la CPU: (planificador a corto plazo)
Cometido: Selecciona un proceso listo y le asigna CPU, reparte el
tiempo de CPU entre procesos. Frecuencia: Mayor que la del planificador de trabajos ... debe ser ms rpido.
Concepto de planificacin.
Cambio de contexto (cambio de proceso):
Cambio del proceso en ejecucin. Requiere: Guardar el estado del proceso que se estaba ejecutando (PCB). Cargar el estado (PCB) guardado para el nuevo proceso que se ejecutar. Su duracin es un gasto de tiempo (tpica de 1-100 microsg) y depende de: La velocidad de la memoria. El nmero de registros. Existencia de instrucciones especiales (una sola instruccin para cargar o almacenar todos los registros), Etc.
Sistemas Operativos (IS11) Tema 2 18
Algoritmos de planificacin.
Algoritmo de planificacin:
Decide el proceso de la cola de procesos listos al que se le asigna CPU.
19
Algoritmos de planificacin.
Objetivos:
Maximizar eficiencia y rendimiento. Minimizar tiempo de retorno, espera y respuesta.
Se pueden intentar optimizar los valores promedio, mximos o mnimos. Para que todos los usuarios buen servicio podemos minimizar el tiempo de respuesta.
20
21
TP
( 0 24 27) 3
17
TP
( 0 3 6) 3
Ejemplo:
TP
(0 3 9 16) 4
23
Valor previsto para nesima rafaga CPU Valor nesima rafaga CPU 1
24
25
TP
(0 (10 1)) P1 0 P 2 4
(17 2) P 3
(5 3) P 4
6,5
26
Prioridades generales.
Se asigna una prioridad a cada proceso:
El de menor prioridad se ejecuta en CPU (si hay dos de igual prioridad FCFS). SJF es un caso particular: p=1/T. Se asigna nmeros a la prioridad.
Ejemplo:
Proceso
P1 P2 P3 P4 P5 Duracin Rfaga CPU 10 1 2 1 5 Prioridad 3 1 3 4 2 P2 0 1 P5 6 P1 16 P3 P4 18 19
27
Prioridades generales.
Las prioridades pueden definirse:
Factores externos al sistema: Importancia del proceso, del usuario, etc. Factores internos al sistema: Requisitos de memoria, lmites de tiempo, nmero de archivos abiertos, etc.
La planificacin puede ser hasta terminacin o expulsiva. Problema: Bloqueo indefinido o inanicin.
Un proceso con muy baja prioridad puede llegar a no ejecutarse nunca. Solucin: Envejecimiento. Se aumenta la prioridad al aumentar el tiempo de espera en la cola de procesos listos.
28
Prioridades generales.
Ejemplo prioridades planif. expulsiva y envejecimiento:
29
Caractersticas:
Esquema de planificacin expulsiva. Si hay n procesos en cola, tiempo espera mximo entre dos ejecuciones (n-1)Q. Tiempo promedio de espera bastante grande. Diseado para sistemas de tiempo compartido (equidad).
Sistemas Operativos (IS11) Tema 2
30
31
Cada nuevo proceso se incluir en una cola y permanecer en ella. Debe existir una planificacin entre las colas.
Ejemplo: Prioridad absoluta de la cola de primer plano sobre la de segundo. Reparto de la CPU: 80 % primer plano, 20% segundo plano.
Sistemas Operativos (IS11) Tema 2
32
33
34
El planificador:
Ejecuta primero los procesos cola 0, si vaca cola 1, si vaca cola 2. Proceso nuevo se coloca en cola 0. Si la duracin de rfaga de un proceso de la cola 0 es mayor que Q=8, se pasa a cola 1. Si la duracin de rfaga de un proceso de cola 1 es mayor que Q=24, se pasa a cola 2.
Sistemas Operativos (IS11) Tema 2
35
36
37
Evaluacin de Algoritmos.
Cmo seleccionar un algoritmo en un sistema?
Decidir un criterio o criterios a utilizar.
Modelado determinista:
Se tome un carga de trabajo determinada.
Modelado de colas:
Se usa una distribucin de rfagas de CPU y E/S. Se usa otra de tiempos de llegada de procesos.
Simulaciones.
Sistemas Operativos (IS11) Tema 2
38