procesos

Post on 06-Jun-2015

2.285 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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.

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.

Concepto de proceso.

Registros (PC, SP)

Datos de la pila (Stack)

Datos de las variables

Instrucciones(Programa en

ejecución)

ENTORNO

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).

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.

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.

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

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

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

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

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.

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

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

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.

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.

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.

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)

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.

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).

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

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.

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

top related