2. Universidad
Veracruzana
2
Conceptualmente, cada proceso tiene
su propia CPU
En la realidad, la CPU conmuta de un
proceso a otro
Este modelo se le conoce como
multiprogramación
3. Universidad
Veracruzana
3
(a) Multiprogramación de cuatro programas. (b) Modelo conceptual de cuatro
procesos secuenciales independientes. (c) Sólo hay un programa activo a la vez
Un contador de programa
A
B
C
D
Conmutación
de proceso
Cuatro
contadores de
programa
A B C D
D
C
B
A
Tiempo
(a) (b) (c)
5. Universidad
Veracruzana
5
Creación de un
proceso
1. El arranque del sistema
2. La ejecución, desde un proceso, de una llamada
al sistema para creación de procesos
3. Una petición de usuario para crear un proceso
4. El inicio de un trabajo por lotes
¡Feliz
cumpleaños
proceso!
6. Universidad
Veracruzana
6
1. Salida normal (voluntaria)
2. Salida por error (voluntaria)
3. Error fatal (involuntaria)
4. Eliminado por otro proceso (involuntaria)
Terminación de
un proceso
¡Goodbye!
7. Universidad
Veracruzana
7
Bloqueado
Despierto Dormido
Estados de un
proceso
En
ejecución
Despachar
Expiración
de tiempo
Listo Bloqueado
Despertar
Despierto
eeeh…
mamá está
en estado…
8. Paso de un proceso de un estado a otro
Universidad
Veracruzana
despachar(nombre_del_proceso): listo en_ejecución
8
Despacho es la asignación del CPU al
primer proceso de la lista de listo,
actividad realizada por el Despachador
Transiciones de
estado de los
procesos
9. Universidad
Veracruzana
9
Para evitar que un proceso monopolice
al CPU, el Sistema Operativo utiliza un
reloj de interrupción
Establece el tiempo de uso del CPU, si se
agota, se le retira al proceso devolviendo
el control al Sistema Operativo
El Sistema Operativo asignará la CPU al
proceso que se en encuentre al principio
de la lista de Listos
10. Transiciones de
estado presentes
Universidad
Veracruzana
10
Tiempo_expirado(nombre_del_proceso): en_ejecución listo
despachar(nombre_del_proceso): listo en_ejecución
¡yo si me lo
despacho!
11. Universidad
Veracruzana
11
Si un proceso inicia una operación de E/S,
libera voluntariamente al CPU, el proceso
se bloquea a si mismo
bloquear(nombre_del_proceso): en_ejecución bloqueado
Cuando se completa la operación de E/S,
el proceso pasa de bloqueado a listo
despertar(nombre_del_proceso): bloqueado listo
13. Universidad
Veracruzana
13
Investigación
por parejas
Imprimir o fotocopiar las hojas correspondientes a los estados de
los procesos de los libros de:
1. Stallings
2. Silbertschatz
3. Carretero
4. Tanenbaum
Subraya las palabras clave y escribe un artículo de al menos 10 cuartillas
dónde describas con tus palabras los modelos de los cuatro autores.
Debes incluir los diagramas necesarios para tus explicaciones. Se
expondrá en clase el artículo escrito.
14. Universidad
Veracruzana
El PCB. Process
Control Block
14
Estado actual del
proceso
Identificador único
de proceso
Apuntador al
padre del proceso
Apuntadores a los
hijos del proceso
Prioridad del
proceso
Apuntadores a
zonas de memoria
del proceso
Apuntadores a
recursos asignados
al proceso
Área de
salvaguarda de los
registros
El procesador en que
se está ejecutando el
proceso
… es que a veces soy
olvidadizo…
15. Universidad
Veracruzana
15
Investigación
por parejas
¿Cuál es el papel del Núcleo (Kernel) en un Sistema Operativo referente
a los procesos?
Escribir el artículo de al menos 3 cuartillas y entregarlo impreso. Se
presentará en clase en un tiempo máximo de diez minutos.
16. Herramienta para trabajar en una arquitectura
multiprocesador.
Universidad
Veracruzana
Procesos
ligeros
16
El proceso se convierte en una entidad compuesta por
recursos y por hilos.
A los procesos ligeros se les conoce como hilos o
threads.
Son objetos dinámicos dónde se ejecutan secuencias de
instrucciones y comparten entre sí recursos del proceso como el
espacio de direcciones.
18. Universidad
Veracruzana
18
Procesos
ligeros
Un proceso ligero es un hilo del usuario sostenido por el
núcleo.
Un proceso se compone de varios procesos
ligeros, cada uno apoyado en un hilo del núcleo.
Son visibles para el núcleo y éste se encarga de despacharlos
y alojarlos en procesadores libres.
De esta forma, se traduce la concurrencia de una aplicación en
paralelismo real.
19. No es
greña…
son finos
hilos…
Universidad
Veracruzana
Hilo
s
19
Proceso dentro de proceso
¿Razón para tener estos
miniprocesos?
En muchas aplicaciones se desarrollan varias actividades a la
vez
En vez de pensar en interrupciones, temporizadores y
conmutaciones de contexto, pensemos en procesos
paralelos
Los hilos son útiles en sistemas con varios CPU, donde
es posible el verdadero paralelismo
20. Investigación
Universidad
Veracruzana
20
Qué es la concurrencia
Qué es el paralelismo
Diferencias entre concurrencia y paralelismo
o Individual.
o Al menos una cuartilla.
21. Universidad
Veracruzana
Tipos de
procesos
21
Procesos largos
Aquellos que por mucho tiempo han estado listos o en ejecución.
Procesos cortos
Aquellos que, ya sea que en este momento estén en una ráfaga
limitada por E/S y requieran atención ocasional del procesador, o
tienden a estar bloqueados esperando a eventos.
22. Universidad
Veracruzana
22
Nuevo
ejecución
Terminado
Bloqueado
Admitir
Listo
Activar
ejecución
Tiempo
terminado
Ocurrió
evento
Esperar
evento
24. Universidad
Veracruzana
24
Planificación de
procesos
Es la manera en que el Sistema Operativo determina el orden
de asignación de uso del procesador a los procesos que lo
vayan solicitando.
Aplica políticas de uso para que el tiempo de asignación no
sea excesivo respecto al uso esperado del sistema.
26. Universidad
Veracruzana
26
Tareas pendientes
T1 T2 T3 … Tn
Procesos activos
P1 P2 P3 … Pn
Planificador a largo plazo
27. Planificador a mediano plazo, o
agendador
Universidad
Veracruzana
27
Procesos en intercambio (swap)
Regreso de intercambio
Cola de procesos listos
CPU
Cola de entrada/salida
E/S
Envío a
intercambio
Solicitud de E/S
E/S completada
Inicio
Fin
28. Planificador a corto plazo, o despachador
Universidad
Veracruzana
28
Cola de procesos listos
P5 P4 P3 P2 P1
Despachador
CPU
29. Universidad
Veracruzana
29
Planificador a largo
plazo
Se encarga de admitir un nuevo proceso:
transición de Nuevo a Listo.
Planificador a
mediano plazo
Maneja la activación y bloqueo de un proceso
relacionado con eventos. Transiciones entre En
ejecución y bloqueado y entre Bloqueado a Listo.
Planificador a corto
plazo
Decide entre los procesos que están listos para
ejecutarse y determina cuál de ellos activar.
Detiene aquellos que exceden su tiempo de
procesador.
30. Universidad
Veracruzana
30 Objetivos de la planificación
Ser justo
Debe tratarse de igual manera a todos los procesos que compartan
características y nunca postergar indefinidamente a uno de ellos.
Maximizar
el
rendimient
o
Dar servicio a la mayor parte de procesos por unidad de tiempo.
Ser
predecible
Un mismo trabajo debe tomar aproximadamente la misma cantidad
de tiempo en completarse independientemente de la carga del
sistema.
Minimizar la
sobrecarga
El tiempo que el algoritmo pierda en burocracia debe mantenerse al
mínimo, dado que éste es tiempo de procesamiento útil perdido.
Equilibrar el
uso de
recursos
Favorecer a los procesos que empleen recursos subutilizados, penalizar
a los que peleen por un recurso sobreutilizado causando contención
en el sistema.
31. Universidad
Veracruzana
31 Objetivos de la planificación
Evitar la
postergación
indefinida
Aumentar la prioridad de los procesos más viejos, para favorecer que
alcancen a obtener algún recurso por el cual estén esperando.
Favorecer el
uso esperado
del sistema
En un sistema con usuarios interactivos, maximizar la prioridad de los
procesos que sirvan a solicitudes iniciadas por éste (aún a cambio de
penalizar a los procesos de sistema).
Dar preferencia
a los procesos
que podrían
causar bloqueo
Si un proceso de baja prioridad está empleando un recurso del
sistema por el cual más procesos están esperando, favorecer que éste
termine de emplearlo más rápido.
Favorecer a los
procesos con un
comportamiento
estable
Si un proceso causa muchas demoras, se le puede penalizar porque
degrada el rendimiento global del sistema.
Degradarse
suavemente
Si bien el nivel ideal de utilización del procesador es al 100%, es
imposible mantenerse siempre a este nivel. Un algoritmo puede buscar
responder con la menor penalización a los procesos preexistentes al
momento de exceder este umbral.
33. Universidad
Veracruzana
33
1. Medida de la respuesta de procesos.
2. Algoritmos de planificación de procesos
1. Primero en llegar, primero en ser atendido
(FCFS)
2. Ronda (Round Robin)
3. El proceso más corto a continuación (SPN)
4. Ronda egoísta (SRR)
5. Retroalimentación multinivel (FB)
6. Lotería