Pincharme para ir al resumen del tema 1!
2-Procesos
- Conceptos básicos
- Estados de un proceso
- Operaciones sobre un proceso
- Interrupciones
- Núcleo del S.O
- Los procesos en UNIX
Conceptos básicos
Proceso secuencial=>
instancia de programa en ejecución, proviene de gestión de ejecución
pseudoparalela en MULTICS, alternancia CPU entre diferentes tareas
En un procesador e
instante dado solo un proceso puede estar ejecutándose(muchos listos y
esperando)
Para ejecutar un
programa el so debe de crearle un proceso.
-El procesador de un sistema con
multiprogramacion ejecuta código de distintos procesos, dos procesos del mismo
programa se consideran dos secuencias de ejecución separadas
Traza de un proceso=> listado de la
secuencia de instrucciones que se ejecutan para el mismo
Sistema informatico=> conjunto de
procesos(incl. SO) en ejecución no homogénea cada uno con su propia cpu virtual
que alternan uso de procesador(es) reales
Obligaciones del SO como gestor de
procesos creación y eliminación
de procesos. Planificación de procesos, establecimiento de mecanismos para la
sincronización y comunicación de procesos, manejo de bloqueos mutuos. Tiene 2
niveles, Inferior(planificador de procesos) superior (todos los demás procesos
del sistema(user y kernel))
Principal función del planificador=>
intercambiar procesos activos por otros preparados para ser
ejecutados(minimizando tiempo requerido)
-Habrá tantos CPUs virtuales como procesos. En las CPUs reales irán todos los procesos y son los que mostrarán los resultados
Acciones para cambio de contexto=>
1-Almacenamiento del estado actual de proceso.
2-restauración
del proceso a ejecutar(necesita conocer el estado de todos los procesos,
almacenado en el PCB, bloque de control de procesos)
-Debe hacer un sistema eficiente. - Tiempo mínimo posible
Contenido estructura de datos PCB
Identificador
unico del proceso(numérico). Estado actual del proceso. Contador de
programa(direccion de la siguiente instrucción), registros de CPU, información
de planificación de la CPU, información de gestión de memoria, información de
contabilidad, información de estado de E/S
Estados de un proceso
Estado: situación del proceso en sistema.
Transición debido a acciones
del proceso o eventos externos.
Esquema de los 3 estados:
Listo(esperando
ejecución)=> En ejecución(proceso ejecutándose en CPU)=>A Listo o A
BLOQUEADO(esperando una e/s, o acción propia del proceso). Cuando ocurre una
E/S vuelve a listo.
Sistema de colas en el modelo de 3 estados=>
se necesitan como mínimo 2 colas (listos y bloqueados). El sistema elige de
cola de listos alguno para pasarlo a ejecución. Mas eficiente tener varias
colas bloqueados(una asociada a cada suceso)
Suspensión de un proceso=>Iniciativa
y reanudación externa al proceso(por el so). Sirve para optimizar rendimiento
del sistema(libera todos o parte de los recursos del proceso)
CAUSAS=> riesgo de fallo generalizado
del sistema(todos), carga excesiva del sistema(baja prioridad) mal
funcionamiento del proceso(hasta verificación)
El
proceso volverá a ejecutarse si encuentra una solución, si no, se cierra
automáticamente.
2 nuevos estados=> Listo suspendido cuando el proceso va a
ejecutarse se suspende, pero si se recupera(sol problema) vuelve a listo
Bloqueado suspendido el proceso
bloqueado pasa a suspendido y se busca solución si se encuentra pasa a
bloqueado, y si ocurre e/s pasa a listo suspendido.
Operaciones sobre procesos
Creación(reserva
estructuras y recursos y asigna prioridad)
despacho(se selecciona para ejecución
terminación(libera reservas).
Suspensión, reanudación, bloqueo(necesita evento)
despertado(se
produce el evento esperado), comunicación, sincronización.
Interrupciones
Interrupciones es un evento
producido por el Hardware del sistema que altera la secuencia en la cual el
procesador ejecuta las instrucciones.
Operaciones
1-
control pasa a SO, 2-el So almacena el estado completo del proceso 3- se
analiza la interrupción y se pasa el control a la rutina de servicio apropiada.
Se restaura el proceso interrumpido. 6 se ejecuta el siguiente proceso del
planificador.
Tipos básicos de interrupciones=> Sincronas/trap(generadas
por el proceso, indican al SO que hay que realizar operaciones que necesitan
privilegios que no tiene el usuario)
ASÍNCRONAS Hardware ante un evento, puede
no estar relacionado con el proceso) POLLING=> gestión de e/s mediante asíncronos.
Clases(IBM)=>Svc(llamada al supervisor, es
síncrono) E/s(asíncrono) Externas, reinicio, verificación del programa,
verificación de la maquina.
Implementacion=> gestión de
interrupciones con vectores completos. Genera un código de interrupción único(indice en tabla de vectores de interrupción). De la tabla se obtiene la
dirección de la rutina del servicio
El núcleo del Sistema Operativo
El núcleo del sistema operativo
reside en memoria de forma continua. Realiza todas las acciones criticas del
sistema (trap es la forma de acceso por proceso usuario). La ejecución del núcleo ha de ser rápida y optima (durante interrupción el núcleo inhabilita la recepción de nuevas interrupciones)
Los procesos en UNIX