procesos

23
Lección 3. Procesos n Definición de procesos n Analogía n El bloque de control del proceso (PCB) n Estados de los procesos n Transiciones entre estados n Operaciones sobre procesos n Prioridades n Tipos de procesos n Excepciones

Transcript of procesos

Page 1: procesos

Lección 3. Procesos

n Definición de procesosn Analogían El bloque de control del proceso (PCB)n Estados de los procesosn Transiciones entre estadosn Operaciones sobre procesosn Prioridadesn Tipos de procesosn Excepciones

Page 2: procesos

Procesos. Introducción.

n Los procesos son la entidad básica enlos S.O. actuales.

n Es el núcleo (kernel) de un S.O. elencargado de gestionar el procesador,la memoria, las E/S y el resto de losrecursos; de esta forma atiende elfuncionamiento y las peticiones delsistema.

Page 3: procesos

Concepto de procesos.

n Un proceso es un programa enejecución junto con su entornoasociado (registros, variables, ...).

n El núcleo del S.O. se relaciona con losprocesos, creandolos, terminandolos yrespondiendo a cualquier petición deservicios de estos.

Page 4: procesos

Concepto de proceso.

Registros (PC, SP)

Datos de la pila (Stack)

Datos de las variables

Instrucciones(Programa en

ejecución)

ENTORNO

Page 5: procesos

Analogía de un proceso.n Es importante distinguir entre un programa (conjunto

de instrucciones) y un proceso (instruccionesejecutandose).

n En la analogía se compara un ordenador con untaller mecánico donde hay averías (procesos)complejas y sencillas. Para reparar (ejecutar) lasprimeras hay que consultar un manual (programa)que puede interrumpirse si aparece otra avería(proceso), pero antes tenemos que guardar el estadoen que abandonamos la primera y cambia de manualde reparaciones (programa) para afrontar el nuevoproceso se necesitaran otras herramientas (recursos)y las piezas de repuesto (datos). El mecánico es elprocesador y la actividad de reparar sería el proceso(junto con los datos y los recursos).

Page 6: procesos

Bloque de control del proceso(PCB)

n Un proceso se representa por un conjunto de datosdenominado PCB.

n Estos datos permiten al S.O. localizar informaciónsobre el proceso y mantenerlo registrado por si hayque suspender la ejecución temporalmente.

n La información contenida es:– Estado del proceso (CP,Reg. Int., Prio. y modo).– Estadísticas de t. y uso de recursos.– Ocupación de mem. interna y externa (swapping).– Recursos en uso.– Archivos en uso.– Privilegios.

Page 7: procesos

Bloque de control del Sistema(SCB)

n El objetivo del SCB es similar al anterior y ademásenlazar los PCB´s.

n Para entender como se cambia entre procesosvamos a suponer un solo procesador y dos procesosA y B ambos en mem. principal:– En primer lugar se deja de ejecutar el proceso A

(interrumpe) cediendo el control al núcleo delS.O., salvando su estado y se cambia decontexto pasando del modo usuario alsupervisor.

– Después el kernel estudia si el proceso B estápreparado y cambia de modo supervisor ausuario, reponiendo su estado y ejecutandolo.

Page 8: procesos

SCB y PCB.

SCB

Excepciones

Fallos de la CPU

Reloj y consola

PCB´s

Interrupciones

Puntero

Número delproceso

Estado del proceso

Prioridad

Contador delprograma

Límites de memoria

Registros

Archivos abiertos

PCB PCB

Page 9: procesos

Cambio de proceso.

Salvaregistros

B

Cargaregistros

A

Interrupción

Prog. Amodo usuario

Ejecución

Interrupción

Núcleo S.O.modo supervisor

Salvaregistros

A

Cargaregistros

B

Prog. Bmodo usuario

Comienzaejecución

Ejecución

Comienzaejecución

Ejecución

Page 10: procesos

Estados de los procesos.

n Los estados en que puedenencontrarse los procesos los controla elS.O. y son transparentes al usuario.

n Los BCP´s de cada uno de losprocesos se almacenan en colas y hayuna por cada estado posible.

n Se dividen en:– Activos– Inactivos

Page 11: procesos

Estados activos

n Son aquellos que compiten por el procesadoro están en condiciones de hacerlo:– Ejecución: cuando un proceso tiene el

control del procesador.– Preparado: aquellos procesos que están

dispuestos para ser ejecutados.– Bloqueado: no pueden ejecutarse de

momento por necesitar algún recurso nodisponible

Page 12: procesos

Estados inactivos

n Son aquellos que no pueden competir por elprocesador, pero pueden volver a hacerlo sise soluciona el problema que los ha dejado“en suspenso” (avería de un dispositivo E/S):– Suspendido bloqueado: proceso que ha

sido suspendido y que además está a laespera de un evento para desbloquearse.

– Suspendido preparado: proceso que hasido simplemente suspendido.

Page 13: procesos

Colas de estado

Completo

CPU

Cola deprocesos

bloqueados

Cola deprocesos

preparados

Gestor de procesos

Proceso enejecución

Gestor de trabajos

Cola detrabajos en

espera

Trabajo1

Trabajo2

Trabajo 3

Page 14: procesos

Cambios de estado de un proceso

ProcesoPREPARADO

Proceso BLOQUEADO

Procesoen EJECUCIÓN

ProcesoSUSPENDIDOPREPARADO

ProcesoSUSPENDIDOBLOQUEADO

Estados ACTIVOS Estados NO ACTIVOS

Suspende

Reanuda

Suspende

Reanuda

Terminación de la causa(E/S)

Terminación de lacausa (operación E/S)

Suspende

Espera por recursos

Comienza la ejecución

Interrupción

Page 15: procesos

Transiciones entre estados In Los procesos a lo largo de su existencia pueden cambiar varias

veces de estado (transición entre estados).

– Comienzo de la ejecución, (entrada a preparados) al serdada la orden de arrancar el proceso (depende del tipo degestión de la cola de trabajos).

– Paso a estado de ejecución, el procesador está inactivo yentra un proceso desde preparado.

– Paso a estado bloqueado, el proceso está en ejecución ysolicita un recurso externo (se inserta su PCB en la cola). Elprocesador ejecuta el siguiente proceso de los preparados.

– Paso a estado preparado:• Recibe la orden de ejecución.

• Si estando bloqueado, finaliza la operación de E/S• Si estaba en ejecución y llega una interrupción que lo desplaza

a preparados, entrando otro proceso en la CPU.• Activación (reanudación), cuando el proceso estaba

suspendido y pasa a preparado.

Page 16: procesos

Transiciones entre estados II

– Paso a estado suspendido bloqueado, cuando unproceso estando bloqueado y se recibe la ordende suspenderlo.

– Paso a estado suspendido preparado:• Cuando se suspende un proceso preparado.• Cuando se suspende un proceso en ejecución.• Cuando desaparece la causa de bloqueo de un

proceso suspendido bloqueado.

Page 17: procesos

Operaciones sobre procesos:Creación

Programa

Datos

Argumentos

Proceso

+

+

Ejecutar

n Los S.O. tienen funciones paramanipular los procesos:– Creación

– Destrucción– Suspensión– Reanudación

– Cambio de prioridad– Temporización de la ejecución– Despertar un proceso

n La creación de un proceso seproduce con la orden de ejecucióndel programa y requiere de variosargumentos (nombre, prioridad, ).En ese instante el PCB seráinsertado en la cola de procesospreparados.

Page 18: procesos

Operaciones sobre procesos II

n Hay dos tipos de creación de un proceso:– Jerárquica: cada proceso que se crea hereda el entorno de

ejecución del proceso “padre”. Es el más habitual.

– No jerárquica: al crearse el proceso se ejecuta de formaindependiente del entorno de su creador.

n Destruir un proceso: se elimina el PCB del proceso.

n Suspender un proceso: operación de alta prioridad que detieneun proceso momentáneamente por mal funcionamiento.

n Reanudar un proceso previamente suspendido.n Cambiar la prioridad de un proceso.

n Temporizar la ejecución de un proceso: obliga a ejecutar unproceso después de transcurrido un periodo de t. Fijo.

n Despertar un proceso: se pone en marcha un proceso quehabía sido bloqueado previamente (p.e. por temporización)

Page 19: procesos

Prioridadesn A cada proceso se le asigna una prioridad en función

de la urgencia y de los recursos que precise, lo cualdetermina la frecuencia de acceso al procesador.

n Las prioridades se clasifican:– Asignadas por el S.O.: dependiendo de los

privilegios de su propietario y del modo deejecución.

– Asignadas por el propietario: antes de comenzar laejecución (en sistemas T.R.).

n O bien en:– Estáticas: si no pueden ser modificadas durante la

ejecución (no vale para T.R.)– Dinámicas: que puede ser modificada en función de

los eventos que se produzcan.

Page 20: procesos

Tipos de proceso I

n Según el uso y la forma en que se hayaconstruido el código ejecutable:– Reutilizables: son aquellos en los que

pueden cambiar los datos, pero necesitancomenzar desde el principio.

– Reentrantes: sólo contienen código puro.Los datos se encuentran en registrosinternos y no pueden ser modificados(programas compartidos por variosusuarios).

Page 21: procesos

Tipos de proceso II

n Según la capacidad de acceso alprocesador y a los recursos:– Apropiativos: no permiten compartir

recursos, hasta que hayan acabado.– No apropiativos: permiten a otros procesos

el uso de un recurso que estén utilizando.

n Según la forma de ejecución:– Residentes: permanecen en memoria

mientras se ejecutan.– Intercambiables: pueden ser llevados al

disco mientras estén bloqueados

Page 22: procesos

Excepciones.

n Cuando se está ejecutando un proceso puedenaparecer fallos que el S.O. debe detectar e intentarcorregir (fallos de hard ó de soft, datos incorrectos,etc.). Para eso los S.O. disponen del gestor deexcepciones.

n Los fallos pueden ser:– Catastróficos: imposibilitan el funcionamiento y no

son recuperables.– No recuperables: no afectan al sistema pero

impiden que el proceso pueda continuar.– Recuperables: con ciertos ajustes el proceso

puede continuar.

Page 23: procesos

Modelos del gestor deexcepciones

n El tratamiento deuna excepciónpuede seguir dosmodelos:– Tratamiento y

continuación delproceso.

– Tratamiento yfinalización delproceso.

ProgramaExcepción

Inicio delproceso

Gestión de excepcióncon recuperación

Finalizaciónnormal delproceso

Gestor de excepciones

y conterminación

Finalizaciónanormal del

proceso