UNIDAD 4 Procesos
-
Upload
cleyson-nunez-hidalgo -
Category
Documents
-
view
282 -
download
0
description
Transcript of UNIDAD 4 Procesos
Procesos
Set o conjunto de variables que se pasan al proceso al momento de su creación
Este conjunto de variables se almacenan en la Pila del proceso
Ejemplo bajo Linux:
PATH=/usr/bin:/home/pepe/binTERM=vt100HOME=/home/pepePWD=/home/pepe/libros/primeroTIMEZONE=MET
La secuencia de creación de procesos desde el inicio del SO y durante toda la operación de los usuarios, genera un árbol jerárquico de procesos
Todos los procesos creados a partir de un Shell pueden formar un grupo de procesos.
Las relaciones de los procesos de la jerarquía o grupos, forman familias de procesos y se utilizan los términos como:
Proceso hijo Proceso padre Proceso hermano Proceso abuelo
INIT
login login
ShellShell
Editor
Demonio lpdimpresión
Demonio decomunicación.
Proceso A
Proceso B Proceso D Proceso C
Proceso E Proceso F
loginlogin
Grupo
Arbol
Programaejecutable
Bibliotecasistema
Mapa dememoria
Imagendel proceso
Tabla de procesos
BCP
Carg
ador
SO
Tablas del SO
Completo en memoria Parcialmente en memoria
PROCESO
CODIGO
DATOS
PILA Disco Memoria Virtual
RAM
Tabla de paginasdel proceso
•RIED
•Tamaño
Codigo
Datos
Pila
BCP
Los SO modernos permiten que coexistan varios procesos activos a la vez
La multitarea permite el servicio interactivo simultáneo de varios usuarios de forma eficiente
La multitarea aprovecha los tiempos de espera de los procesos bloqueados por operaciones de E/S para ejecutar otros procesos
La multitarea requiere que la memoria RAM permita almacenar varias imagenes de procesos en forma simultanea
RAM
Procesam ien toE ntrada /sa lidaL istoSO
T ie m p o
P ro c e so A
P ro c e so B
P ro c e so C
P ro c e sa d o r
Ejecución mínima del proceso Nulo
El SO controla la información sobre sus procesos a través de las tablas del sistema
SO
Mapa de memoria del Proceso A
Tablas SOPC
SP
Estado
Mapa de memoria del Proceso B
Mapa de memoria del Proceso C
Registrosgenerales
Registrosespeciales
Tablas del sistema operativo
Tabla de procesos
- Tabla de memoria- Tabla de E/S- Tabla de ficheros
BCP Proceso BBCP Proceso A BCP Proceso C- - Identificación- Control
Estado (registros)- - Identificación- Control
Estado (registros) - - Identificación- Control
Estado (registros)
CPU RAM
Un proceso de crea, se ejecuta, muere o termina Los estados básicos de un proceso son:
◦ Listo para ejecutar◦ Ejecución en el CPU◦ Bloqueado en espera por completar operación de E/S
L is to B lo q u e a d o
E je c u c ió n
Final E /S
Term ina
N uevo
El SO puede suspender procesos para disminuir el grado de multiprogramación efectivo
La suspensión de procesos implica liberar sus recursos RAM y trasladarlos a memoria SWAP o de intercambio
La RAM disponible es asignada para completar la imagen RAM de los procesos listos y aligerar su terminación
Los procesos pueden ser suspendidos desde los estados listo o bloqueados
Ejecución
Listo ysuspendido
Listo
Bloqueado ysuspendido
BloqueadoFin E/S
Exit
Fin E/S
Exp
ulsa
do a
l dis
co
Exp
ulsa
do a
l dis
co
Rec
uper
ado
del d
isco
E n tra a ls is tem a
Mem
oria
Procesos por lotesen espera
Zona
de
inte
rcam
bio
Cada vez que ocurre una interrupción de H/S el SO toma el control del CPU
Cada vez que el SO toma el control del CPU, se genera un cambio de contexto
Cuando ocurre un cambio de contexto, el SO realiza las siguientes operaciones:◦ Salvar el estado del procesador del proceso en su
correspondiente BCP◦ Ejecutar la rutina de tratamiento de interrupción
Al finalizar de atender la interrupción, el SO decide si activa o no el proceso interrumpido
El Activador o Despachador es el modulo del SO que pone a ejecutar un proceso en el CPU
La activación de un proceso consiste en cargar o copiar en los registros del CPU, la información del estado del CPU contenida en el BCP del proceso
Si es la primera vez que se ejecuta se cargan los valores iníciales del estado del CPU
En caso contrario se cargan los valores parciales del estado del CPU
Su objetivo es repartir el tiempo de CPU entre los procesos que pueden ejecutar (Listos)
El Scheduler o planificador a corto plazo, es el modulo del SO que se encarga de seleccionar de la cola de listos, el próximo proceso a ejecutar
El Activador es el modulo que pone en ejecución al proceso seleccionado
La planificación se realiza sobre estructuras de colas de procesos agrupadas por tipos de estados y por prioridad
El SO mantiene diversas colas de procesos
Se implementa con punteros internos al BCP
Tabla de procesosB CP1 B CP 7B C P2 B CP8B CP 3 B C P9B CP4 B C P10B C P5 B CP11B CP6 B C P12
1 90 56 11 87 0
4Punteros de las co las
2
Cabecera de la Subcolade Prioridad 0
Cabecera de la Subcolade Prioridad 29
Cabecera de la Subcolade Prioridad 1
Cabecera de la Subcolabatch 1
Cabecera de la Subcolabatch 0
BCP-A
BCP-B
BCP-C BCP-E BCP-F
BCP-D
PalabraResum en
Bit 0
Bit 1
Bit 29
Bit 30
Bit 31
1
0
1
1
0
Los SO pueden incluir varios niveles de planificación La planificación a corto plazo realizada por el
Scheduler o planificador a corto plazo La planificación a medio plazo trata la suspensión de
procesos, expulsa y recupera procesos desde o hacia la memoria SWAP
La planificación a largo plazo selecciona procesos Lotes o Batch desde la lista de espera y los ingresa al sistema
La planificación de entrada/salida decide el orden en que se ejecutan las operaciones de E/S que están encoladas para cada dispositivo de E/S
Ejecución
Listo ysuspendido
Listo
Bloqueado ysuspendido
BloqueadoFin E/S
Exit
E n tra a ls is te m a
P la n if ica ció n a c o rto p la zo
P lan ifica ció n a m e d io p la zo
P la n if ica ció n ala rg o p la zo
Mem
oria
SwapP ro c e so s B a tc h
e n e sp e ra
Sin expulsión o no apropiativa:◦ El proceso conserva el CPU mientras lo desee◦ Libera el CPU cuando solicita un servicio que lo bloquee◦ Puede monopolizar al CPU
Con expulsión o apropiativa:◦ El SO quita el CPU al proceso, aunque éste no lo solicite◦ Se controla el tiempo de ejecución de los procesos, a
través de interrupciones de reloj, que permiten al SO a tomar el control del CPU y chequear el temporizador del proceso
Reparto de UCP equitativo Eficiencia (optimizar UCP) Mejor tiempo de respuesta en uso interactivo Mejor tiempo de espera en lotes (batch) Mayor número de trabajos por unidad de tiempo
Cíclico o Round Robin◦ Asignación de procesador rotatoria◦ Equitativo (mejor hacerlo por uid y no por proceso)◦ Uso en sistemas de tiempo compartido◦ Se asigna un tiempo máximo de procesador (rodaja)
Prioridades◦ Fijas (problema de inanición)◦ Aumentarlas con el envejecimiento
P ro c e soe n e je c u c ió n
5 3 71 3 28 7 23
P ro c e soe n e je c u c ió n
53 71 3 28 7 23
Primero el proceso más corto◦ Uso en sistemas batch◦ Produce el menor tiempo de respuesta◦ Penaliza a los procesos largos◦ Dificultad en conocer a priori la duración del proceso
FIFO◦ Uso en sistemas batch ◦ Primero que el proceso mas viejo
Aleatorio o lotería
Cada política de planificación lleva asociado un rango con al menos 32 niveles de prioridad
El planificador elegirá el proceso o proceso ligero con la prioridad más alta
Políticas de planificación◦ FIFO◦ Cíclica◦ Otra
Zombie
Ejecución
Parado
Listo
Espera
Finalizar
DormirDormir
DespertarDespertar
Despachar
Desalojar
Implementa una planificación cíclica y con expulsión
Existen 32 niveles de prioridad (0 al 31), divididos en:◦ 16 niveles con prioridad de tiempo real (16 al 31)◦ 15 niveles con prioridades variables (1 al 15)◦ Un nivel del sistema (0)
Los procesos comienzan en los niveles del 1 al 15 y al llegar al nivel 16 toman su prioridad dependiendo de su anterior comportamiento
Inic iado Situar en la colade listos
Reiniciado
Ejecuciónfinalizada
Bloqueado
Esperaterminada
Cambio de contexto. Comienzo de ejecución
Fin de b loqueo
Seleccionadopara
ejecución
Expulsado
Expulsado
Pila del kernelen swap
Pila del kernel en mem oria
Listo
ReservaEjecución
Finalizado
Transición
Bloqueado