Sistemas operativos
Tema 3 – Procesos
http://www.ditec.um.es/so
Departamento de Ingenieria y Tecnologia de Computadores
Universidad de Murcia
Sistemas Operativos – p. 1/63
Índice
1. Introducción (Carretero, C3), (Tanenbaum, C2), (Stallings, C3)
2. Hilos o hebras (Tanenbaum, 2.2), (Stallings, 4.1), (Carretero, 3.6)
3. Introducción a la comunicación entre procesos, a lasincronización (Tanenbaum, 2.3), (Carretero, C5), (Stallings, C5)
4. Planificación de procesos (Carretero, 3.7), (Stallings, C9), (Tanenbaum,
2.5)
5. Multiprocesamiento (Stallings, 4.2), (Tanenbaum, 8.1)
6. Procesamiento en tiempo real (Stallings, 10.2)
7. Procesos en UNIX (Tanenbaum, 10.3), (Stallings, 3.4, 4.6, 10.3–10.4),
(Carretero, 11.3)
8. Procesos en Windows 2000 (Tanenbaum, 11.4),(Stallings, 4.4, 10.5)
Sistemas Operativos – p. 2/63
Índice
1. Introducción
1.1 Concepto de proceso (Tanenbaum, 2.1), (Carretero, 3.1)
1.2 Creación y terminación de procesos (Tanenbaum, 2.1)
1.3 Estados de un proceso. Suspensión y reanudación
(Tanenbaum, 2.1), (Carretero, 3.5)
1.4 Descripción de procesos (Carretero, 3.3), (Tanenbaum, 2.1.6),
(Stallings, 3.2)
1.5 Control de procesos(Stallings, 3.3)
Sistemas Operativos – p. 3/63
1.1 Concepto de Proceso
La CPU es un recurso importantísimo
Más procesos que CPUs ⇒ ¿qué proceso la usa?
Ocurre igual con otros recursos limitados (p.ej. la memoria)
Distintos usuarios realizan tareas concurrentemente
Alternancia rápida entre procesos: cambio de contexto ⇒
Pseudoparalelismo
Modelo de procesos:
Aparentementesecuenciales,
ocultan la dificultad de las interrupciones
Es la unidad para describir las tareas de cada usuario y
para asignar recursos
Recordemos: proceso, dinámico (PC, pila, registros,
variables...); programa, estático
Sistemas Operativos – p. 4/63
1.1 Concepto de Proceso (ii)
¿Qué proceso usa la CPU?
Algoritmo de planificación
Ventajas de tener varios procesos en ejecución:
compartirrecursos soft y hard
acelerar cálculos con varias CPUs
modularidad
comodidad
etc.
Sistemas Operativos – p. 5/63
1.2 Creación de Procesos
Necesario un mecanismo de creación y terminación de
procesos
Creación de procesos:
Inicio del sistema
Procesos interactivos vs. demonios (daemons)
Llamada al sistema para crear procesos
UNIX fork+exec, Win32 CreateProcess
El usuario inicia un procesoYa sea en modo gráfico o en algún shell
Inicio de un trabajo por lotes
Normalmente en sistemas de mainframe
Sistemas Operativos – p. 6/63
1.2 Terminación de Procesos
Un proceso puede terminar por varias razones:
Terminación normal (voluntaria)
UNIX exit, Win32 ExitProcess
Terminación por error (voluntaria)
También usando esas llamadas al sistema, pero
devolviendo un código de errorindicando el fallo
Error fatal (involuntaria)
Terminado por otro proceso (involuntaria)
UNIX kill, Win32 TerminateProcess
Jerarqu´a de procesos
ı
Unos procesos crean a otros procesos
Se puede ver como una jerarquía de procesos
Sistemas Operativos – p. 7/63
1.3 Estados de un proceso
Estados de un proceso
´
En ejecucion: tiene la CPU
Listo: detenido, otro tiene la CPU
Bloqueado:no se puede ejecutar, espera algún
evento
En ejecución
1
Bloqueado
3
4
2
Listo
1. El proceso se bloquea en espera de datos
2. El planificador elige otro proceso
3. El planificador elige a este proceso
4. Datos disponibles
Se puede incluir la posibilidad de suspender y
reanudar procesos
Aliviar la carga temporalmente
Depuración
Sistemas Operativos – p. 8/63
1.3 Estadosde un proceso (i)
Nuevo. Se acaba de crear y aunque tiene el BCP, no ha sido
cargado en memoria
Ejecutando.
Listo. Está preparado para ejecutarse cuando haya oportunidad
Bloqueado. No se puede ejecutar hasta que se cumpla un evento
determinado o se complete una operación de E/S
Saliente. Se ha quitado del grupo de procesos ejecutables porque
ha sido abortado por alguna razón
Sistemas...
Regístrate para leer el documento completo.