unidad 2 sistemas operativos 2011

21
UNIDAD II. ADMINISTRACIÓN DE PROCESOS 1. Definición de proceso 2. Funciones y políticas del procesador 3. Bloque de Control de Procesos 4. Interrupciones 5. Secciones críticas y exclusión mutua 6. Abrazo mortal

Upload: abimael-hernandez

Post on 21-Jul-2015

3.306 views

Category:

Education


1 download

TRANSCRIPT

UNIDAD II.

ADMINISTRACIÓN DE PROCESOS

1. Definición de proceso

2. Funciones y políticas del procesador

3. Bloque de Control de Procesos

4. Interrupciones

5. Secciones críticas y exclusión mutua

6. Abrazo mortal

Núcleo de

S.O.

(Kernell)

PROCESO

Conjunto de

microinstrucciones de

un programa destinadas

a ser ejecutadas por el

microprocesador.

Código

+

Datos

Ejecutarse

Crear otro(s)

proceso(s)

PCB

Bloque de Control de

Procesos

Funciones del

s.o. sobre los

procesos

Suspender

momentáneamente

Auxiliar en la

ejecución del

proceso

Bloquear

Reanudar

Cambiar

prioridad“Dormir”

Comunicación

entre procesos

“Despertar”

Destruir

Crear el PCB

para cada

proceso

Políticas del sistema operativo sobre

los procesos

1. Qué información debe contener el PCB cuando

se crea.

2. Si se elimina a un proceso padres, se elimina a

los procesos hijo.

P C B

Bloque de Control

de Procesos

Almacén central de información que

permite al sistema operativo localizar

toda la información importante acerca

de un proceso.

Es una estructura de

datos que contiene

información acerca

del proceso, • Identificador único del proceso.

• Estado actual del proceso.

• Prioridad del proceso.

• Recursos que va a ocupar el proceso.

• El procesador en que se está ejecutando.

• Apuntador hacia el “padre” del proceso.

• Apuntador(es) hacia el (los) hijo(s).

• Apuntadores hacia las zonas de memoria.

Estados de un proceso

Transiciones de estado

de los procesosPCB

Transición De estado: A estado:

Despacho Listo Ejecución

Expiración

de tiempo

Ejecución Listo

Bloqueo Ejecución Bloqueado

Despertar Bloqueado Listo

Procesamiento de interrupciones

Es un evento que altera

la secuencia en que el

procesador ejecuta las

instrucciones.

INTERRUPCIÓN

Suspensión de un proceso, como

la ejecución de un programa,

originada por un suceso externo a

dicho proceso y llevada a cabo de

forma que el proceso pueda

reanudarse.

TIPOS

• De programa

• De reloj

• De entrada/salida

• De reinicio

• De verificación de

la máquina

¿Qué pasa cuando ocurre una interrupción?

1. El sistema operativo toma el control (el hardware pasa el

control al sistema operativo).

2. El sistema operativo guarda el estado del proceso

interrumpido en el PCB del proceso.

3. El sistema operativo analiza la interrupción y transfiere

el control a la rutina adecuada para atenderla.

4. La rutina del manejador de interrupciones procesa la

interrupción.

5. Se restablece el estado del proceso interrumpido.

6. Se ejecuta el proceso interrumpido (pasa a su estado

Listo).

Conceptos a considerarMultitarea: Capacidad que tienen los sistemas operativos de ejecutar de

forma simultánea varios procesos.

Multiprogramación: Se intenta mantener del modo más ocupado

posible a todos los recursos del sistema con el entrelazado y el

solapamiento de la ejecución de más de un programa. Solamente

cambiando la atención de un único procesador entre varios programas y

dejando que cada uno se ejecute unas milésimas de segundo antes de ir a

otro, permite crear la ilusión de la ejecución concurrente o al unísono de los

programas. Además de la multitarea incluye la capacidad de gestión de la

memoria y de los ficheros.

Sistemas de tiempo compartido: Sistemas con multiprogramación

interactiva en los que se asigna a cada programa un mismo intervalo de

tiempo de ejecución.

PROCESO 1

PROCESO 2

PROCESO n

CPU

SISTEMAS DE

MULTIPROGRAMACION

Exclusión mutuaCondición por la cual, de un conjunto

de procesos, sólo uno puede

acceder a un recurso dado o realizar

una función dada en un instante de

tiempo.

Actividad que realiza el sistema

operativo para evitar que dos o

más procesos ingresen al

mismo tiempo a un área de

datos compartidos o accedan

a un mismo recurso.

1. Semáforos

2. Monitores

3. Algoritmo de Decker

4. Algoritmo de Peterson

“ x or “

(uno pero no ambos)

Región/sección crítica

Cuando un proceso utiliza un recurso compartido, realiza una

serie de operaciones sobre este recurso y luego lo deja de

utilizar. A estos recursos se les llama recursos críticos y la

parte del programa/código que utiliza estos recursos se le conoce

como sección crítica el programa.

SemáforosMonitores

Programa del sistema

operativo que controla el

tráfico de procesos dentro

del sistema.

Método clásico para restringir

o permitir el acceso a

recursos compartidos (por

ejemplo, un recurso de

almacenamiento del sistema

o variables del código fuente)

en un entorno de

multiprocesamiento.

Dentro de un sistema

operativo es un programa que

observa y administra los

procesos dentro del cpu.

Se pueden implementar en

memoria.

Algoritmo de Decker

Algoritmo de Peterson

A cada proceso se le asignan varios recursos para su ejecución.

MultiprogramaciónCompartir recursos.

Es la actividad en que dos o más procesos esperan un recurso (cpu,

memoria, entrada/salida) que nunca les va a ser otorgado.

La mayor parte de los bloqueos mutuos en sistemas reales implican

una competencia entre varios procesos por varios recursos.

Deadlock (abrazo mortal)

Detección

Determina si realmente existe un bloqueo mutuo e identifica los procesos

y recursos implicados en él.

* PCB indica qué recursos, cuántos y en qué orden va a utilizar el

proceso. Al momento que se asignen recursos al proceso no se le deben

asignar a otro proceso.

Prevención

Es la técnica más empleada para tratar el bloqueo mutuo.

Para prevenir la condición de deadlock:

1. Cada proceso deberá pedir desde un principio todos los recursos que

va a utilizar.

2. Si va a utilizar más recursos después, tiene que esperarse a que se

liberen los demás recursos.

3. Si a un proceso que tiene varios recursos se le niegan los demás, ese

proceso deberá liberar sus recursos que ya le habían sido

asignados.

4. Asignar prioridad a los recursos.

1º CPU

2º Memoria

3º E/S

4º Buses

Recuperación

Cuando se ha bloqueado un sistema, el deadlock se debe romper

mediante la eliminación de una o más de las condiciones necesarias.

En los sistemas actuales, la recuperación se suele realizar eliminando

un proceso y arrebatándole sus recursos. Por lo general, el proceso

eliminado se pierde, pero ahora es posible concluir los procesos

restantes.

Los procesos pueden eliminarse de acuerdo a su prioridad.