Vous êtes sur la page 1sur 31

Unidad 2 Procesos

2.1 Procesos 2.3 Comunicacin entre procesos 2.4 Problemas clasicos de comunicacin entre procesos 2.5 Calendarizacin

ITSZ Sistemas Operativos Adriana Tovar


1

Procesos
Todas las computadoras modernas pueden hacer varias cosas al mismo tiempo. Si bien, en trminos estrictos, la CPU slo puede ejecutar un programa en cualquier instante dado, a lo largo de un segundo puede trabajar en varios programas, lo que da a los usuarios la ilusin de paralelismo. A veces se le llama pseudoparalelismo, para contrastarlo con el verdadero paralelismo de hw de los sistemas multiprocesador. Un proceso es un programa en ejecucin, incluye los valores que tienen el contador de programa, los registros y las variables.

Procesos
El modelo de procesos

a) Multiprogramacin de cuatro programas. b) Modelo conceptual de cuatro procesos secuenciales independientes. c) Solo un programa est activo a la vez. Con la CPU conmutando, la rapidez con que un proceso efecta sus operaciones no ser uniforme y es probable que ni siquiera sea reproducible si los mismos procesos se ejecutan otra vez. Ejemplo: cientfico cocinando. 3

Creacin de Procesos
Principales eventos que causan la creacin de procesos.
1. El arranque del sistema 2. La ejecucin, desde un proceso, de una llamada al sistema para creacin de procesos. 3. Una peticin de usuario para crear un proceso. 4. Inicio de un trabajo por lotes.

Terminacin de Procesos
Condiciones para terminan procesos:
1. 2. 3. 4. Terminacin normal (voluntaria) Terminacin por error (voluntaria) Error fatal (involuntaria) Terminado por otro proceso (involuntaria)

Jerarquas de procesos
Los padres crean procesos hijos, los procesos hijos pueden crear a su vez sus propios procesos. Forman una jerarqua
UNIX la llama un grupo de procesos Los procesos en UNIX no pueden desheredar a sus hijos.

Windows no tiene el concepto de jerarqua de procesos.


Todos los procesos son iguales. Uso de token.
6

Estados de procesos (1)


Transisiones entre estados Posibles estados de procesos En ejecucin Bloqueado Listo Planificador

Estados de procesos (2)

La capa mas baja de un s.o. con estructura de procesos


maneja las interrupciones y la calendarizacion.

Arriba de ella estn los procesos secuenciales.


8

Implementacin de procesos (1)


Para implementar el modelo de procesos, el s.o. mantiene una tabla llamada tabla de procesos. Contiene informacin acerca de:
Estado del proceso, su contador de programa, apuntador de pila, asignacin de memoria, estado de sus archivos abiertos, informacin contable y de calendarizacin, y todas las dems cosas que deben guardarse cuando el proceso para del estado de en ejecucin al listo o bloqueado para que se le pueda volver a poner en marcha posteriormente, como si nunca se hubiera detenido ;)
9

Implementacin de procesos (2)

Algunos campos de una entrada tpica de la tabla de procesos.

10

Comunicacin entre procesos


Condiciones de competencia

Dos procesos que quieren tener acceso a la memoria compartida al mismo tiempo.
Ley de Murphy: si algo puede salir mal, lo har.
11

Regiones Crticas
Cuantro condiciones para proveer exclusin mutua.
1.

2.

3.

4.

Dos procesos no pueden entrar al mismo tiempo dentro de sus regiones criticas. No pueden hacerse suposiciones sobre las velocidades ni el nmero de las CPUs. Ningn proceso que se est ejecutando afuera de su regin crtica puede bloquear a otros procesos. Ningn proceso deber tener que esperar de manera indefinida para entrar en su regin crtica.
12

Regiones Crticas (2)

Exclusin mutua empleando regiones crticas


13

Exclusin mutua con espera ocupada (1)


Deshabilitando interrupciones Variables de candado Alternancia estricta

Espera Ocupada

Solucin propuesta al problema de la regin crtica (a) Process 0. (b) Process 1.


14

Exclusion mutua con espera ocupada (2)

Solucin de Peterson para lograr exclusin mutua

15

Exclusion mutua con espera ocupada (3)

Ingreso en, y salida de, la regin crtica empleando la instruccin TSL


16

Activar y desactivar dormir y despertar

El problema del productor-consumidor con una condicin de competencia fatal. 17

Semforos

El problema de productor-consumidor empleando semforos

18

Monitores (1)
Es una coleccin de procedimientos, variables y estructuras de datos que se agrupan en un tipo especial de mdulo o paquete. Los procesos pueden invocar los procedimientos de un monitor cuando lo deseen, pero no pueden acceder en forma directa a sus estructuras de datos internas desde procedimientos declarados fuera de dicho monitor.

Un monitor
19

Monitores (2)
Cuando un proceso llama a un procedimiento de monitor, las primeras instrucciones de ste verifican si algn otro proceso est activo dentro del monitor. Si es as, el proceso invocador se suspender hasta que el otro proceso haya salido del monitor. Si ningn otro proceso lo est usando, el proceso invocador puede entrar.

20

Monitores (3)
Aunque los monitores facilitan la exclusin mutua, no es suficiente, tambin necesitamos que los procesos puedan bloquearse cuando les sea imposible continuar. Variables de condicin, wait y signal.
Cuando un procedimiento de monitor descubre que no puede continuar (ej. para el productor un buffer lleno) ejecuta wait con alguna variable de condicin (ej. lleno). Esta accin hace que el proceso invocador se bloquee, y tambin permite la entrada de otro proceso al que antes se le haba impedido entrar en el monitor. Este proceso, que podra ser el consumidor, puede activar a su compaero inactivo ejecutando signal con la variable de condicin que su compaero est esperando.

21

Monitors (4)

Bosquejo del problema del productor-consumidor con monitores.


Solo un procedimiento de monitor est activo a la vez. El bfer tiene N ranuras.
22

Transferencia de mensajes (1)


Este mtodo de comunicacin entre procesos utiliza dos primitivas:
send (destino, &mensaje) receive (origen, &mensaje)

Si no hay mensajes disponibles, el receptor puede bloquearse hasta que llegue uno, o bien, regresar de inmediato un cdigo de error.
23

Transferencia de mensajes (2)

Una solucin del problema del productorconsumidor con N mensajes.

24

Cena de los filsofos (1)


Los filsofos comen o piensan Para comer necesitan dos tenedores Toman un tenedor a la vez Como prevenir deadlock (que se muera alguien de hambre, o todos!)

25

Cena de los filsofos (2)

Una no-solucin para el problema de la cena de los filsofos. 26

Cena de los filsofos (3)

Solucin cena de los filsofos (parte 1)

27

Cena de los filsofos (4)

Solucin a la cena de los filsofos (part 2)

28

El problema de los lectores y escritores

Una solucin para el problema de los lectores y escritores


29

El problema del barbero dormiln (1)

30

El problema del barbero dormiln (2)

Solucin para el problema del barbero dormiln.

31

Vous aimerez peut-être aussi