Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procesos
Sistemas Operativos
Procesos
Concepto de proceso Planificacin de los procesos Operaciones en procesos Procesos cooperantes Comunicacin entre procesos
Procesos
Sistemas Operativos
Concepto de proceso
Un sistema operativo ejecuta una variedad de programas:
Sistemas por lotes trabajos Sistemas de tiempo compartido programas de usuario o tareas
Procesos
Sistemas Operativos
Concepto de proceso
Proceso un programa en memoria (virtual), puede estar en ejecucin, o listo para ejecutarse Un proceso incluye:
Contador de programa Stack Seccin de datos
Procesos
Sistemas Operativos
Estados de un proceso
Mientras un proceso se ejecuta, cambia su estado
Nuevo
El proceso se est creando
Ejecucin
Las instrucciones del proceso se estn ejecutando
Bloqueado
El proceso est esperando a que ocurra un evento
Listo
El proceso est esperando a que se le de el CPU
Terminado
El proceso termin su ejecucin
Procesos Sistemas Operativos 5
Pasar a ejecucin Nuevo Admitir Listo Fin de plazo (time-out) E/S o Evento ocurre E/S o Espera evento Ejecucin
Liberar Salida
Bloqueado
Procesos Sistemas Operativos 6
Procesos
Sistemas Operativos
Cambio de CPU entre un proceso y otro proceso Proceso P Proceso P Sistema Operativo
0 1
Espera
Recupera el estado del PCB1
Espera
Espera
Recupera el estado del PCB0
Procesos
Sistemas Operativos
Colas de procesos
Cola de procesos conjunto de todos los procesos en el sistema. Cola de listos conjunto de todos los procesos que residen en memoria principal Colas de dispositivos Conjunto de procesos que esperan un dispositivo de E/S Los procesos migran entre las diferentes colas
Procesos
Sistemas Operativos
10
PCB3 Registros
PCB14 Registros
PCB6 Registros
Unidad terminal 0
Procesos
Solicitudes E/S Solicitudes E/S Termina Termina rebanadade rebanada de tiempo tiempo
Procesos
Sistemas Operativos
Planificadores
Planificador a largo plazo
Planificador de tareas Selecciona que procesos se llevan a la cola de listos
Procesos
Sistemas Operativos
13
CPU CPU
Fin
E/S E/S
Procesos
Sistemas Operativos
14
Planificadores
El planificador a corto plazo se invoca con mucha frecuencia
Milisegundos Debe ser rpido
Planificadores
Los procesos pueden describirse de las siguientes formas
E/S gastan mucho de su tiempo ejecutando E/S en vez de clculos, muchos perodos cortos de uso del CPU CPU gastan mucho tiempo haciendo cmputo (uso del CPU), muy pocos perodos largos de uso de CPU
Procesos
Sistemas Operativos
16
Cambio de contextos
Cuando el CPU cambia a otro proceso, el sistema debe:
Guardar el estado del proceso antiguo Cargar el contexto almacenado del proceso nuevo
Procesos
Sistemas Operativos
17
Ejemplo
PROGRAMA 1 100: MOV A, 0 CICLO: 102: ADD A, 1 104: CMP A, 10 106: JNE CICLO
1F8 1FA
1FC 1FE
PROGRAMA 2 300: MOV A,10 CICLO: 302: SUB A,1 304: CMP A,0 306: JNE CICLO
3F8
INTERRUPCION 500: PUSH A 502: MOV TABLA_PROC[ACTUAL].SP, SP 504: /* INTERRUPCION RELOJ */ 510: /* SELECIONA NUEVO PROCESO */ 520: MOV ACTUAL, NUEVO_PROCESO 522: MOV SP, TABLA_PROC[ACTUAL].SP 524: POP A 526: IRET Procesos Sistemas Operativos
CPU SP: 1FA SP: 3FA 3FC 1FC 400 200 PC: 100 306 304 302 526 524 522 520 510 504 502 102 300 500 A: 10 A: 1 9 0
18
Creacin de procesos
Los procesos padres crean procesos hijos
Estos pueden crear otros procesos y forman un rbol de procesos
Creacin de procesos
Espacio de direcciones
El hijo duplica el del padre El hijo tiene ah cargado un programa
Ejemplos en UNIX
La llamada fork crea un proceso nuevo La llamada execve usada despus del fork para reemplazar el espacio de memoria del proceso con un programa nuevo
Procesos
Sistemas Operativos
20
10
swapper
init
Usuario 1
Usuario 2
Usuario 3
Procesos
Sistemas Operativos
21
Terminacin de procesos
El proceso ejecuta la ltima sentencia y le indica al sistema salir (exit)
Envo de datos del hijo al padre (va wait) Los recursos de los procesos son des-asignados por el sistema operativo
Procesos
Sistemas Operativos
22
11
Terminacin de procesos
El padre debe terminar la ejecucin del proceso hijo (abort)
El hijo excedi los recursos asignados Ya no se requieren las tareas asignadas a los hijos El padre termina
El caso de que el sistema operativo no permite que el hijo contine si el padre termina Terminacin en cascada
Procesos
Sistemas Operativos
23
Procesos cooperantes
Procesos independientes
No pueden afectarse o ser afectados por la ejecucin de otro proceso
Procesos cooperantes
Pueden afectarse o ser afectados por la ejecucin de otros procesos
Procesos
Sistemas Operativos
24
12
Procesos
Sistemas Operativos
25
Procesos
Sistemas Operativos
26
13