Sei sulla pagina 1di 52

PROCESOS

Aparicio Prez Joel Daz Campos Hctor Eduardo Gonzalez Tello Ricardo Romero Ruiz Alejandro Isa

Temario
Concepto de procesos Planificacin de procesos Operaciones con procesos Procesos cooperativos Hilos (Threads) Comunicacin entre procesos

PROCESO - PROGRAMA - TRABAJO

Temario
Concepto de procesos Planificacin de procesos Operaciones con procesos Procesos cooperativos Hilos (Threads) Comunicacin entre procesos

PLANIFICACIN DE PROCESOS
Corto plazo:
Selecciona espacios de trabajo memoria y CPU

Mediano plazo:
Sistemas de tiempo compartido Swapping

Largo plazo:
Pone Trabajos Memoria

PCB - PROCESS CONTROL BLOCK

CONMUTACIN DE PROCESOS

Temario
Concepto de procesos Planificacin de procesos Operaciones con procesos Procesos cooperativos Hilos (Threads) Comunicacin entre procesos

Operaciones con procesos.

1/8

Al crear un proceso este requiere de ciertos recursos para ejecutarse (tiempo de CPU, archivos, dispositivos de E/S).

Operaciones con procesos.

2/8

Un procesos puede crear procesos nuevos, mediante una llamada al sistema crear proceso El proceso creador se llama proceso padre. Los procesos creados por este son los hijos. Estos procesos nuevos pueden crear nuevos procesos, formando un rbol de procesos.

Operaciones con procesos.


rbol de procesos.

3/8

Operaciones con procesos.

4/8

Cuando un proceso crear otro nuevo, el proceso padre


repartir sus recursos a sus hijos. Los hijos pueden compartir los recursos del padre entre ellos. La restriccin de los procesos hijos a un subconjunto de los recursos del padre, evita que estos sobrecargue el sistema creando demasiados subprocesos.

Operaciones con procesos.

5/8

Cuando un proceso crea un proceso nuevo, hay 2 posibilidades en trminos de ejecucin: El padre sigue ejecutndose con sus hijos. El padre espera a que alguno de sus hijos, o todos, terminen. Tambin hay 2 posibilidades en trminos de espacio de direcciones del nuevo proceso: El proceso hijo es duplicado del proceso padre. Se carga un programa en el proceso hijo.

Operaciones con procesos.

6/8

Un proceso finaliza cuando su ltimo enunciado


termina y pide al S.O que lo elimine usando la llamada al sistema salir (exit).

El S.O libera todos los recursos del proceso (memoria


fsica y virtual, archivos abiertos y buffer de E/S).

Un proceso puede finalizar otro, por ejemplo,


mediante la llamada al sistema abortar

Operaciones con procesos.

7/8

El procesos padre debe reconocer a sus hijos, por eso


el S.O le pasa la identidad del procesos recin creado.

El padre podra terminar la ejecucin de sus hijos por


razones como: El hijo excedido los recursos que se le asignaron. La tarea que se asign ya no es necesaria. El padre va a salir.

Operaciones con procesos.

8/8

En muchos sistemas si un proceso padre termina no


puede permitir que los procesos hijos existan si su padre ya termino, si ocurre (ya sea normal o de forma anormal), todos sus hijos deben terminar.

Este fenmeno se le denomina terminacin en


cascada y por lo regular es el S.O quien lo inicia.

Temario
Concepto de procesos Planificacin de procesos Operaciones con procesos Procesos cooperativos Hilos (Threads) Comunicacin entre procesos

Procesos cooperativos Compartir informacion. Aceleracin de Clculos. Modularidad. Comodidad.

Procesos cooperativos
Independiente: No afecta ni puede ser afectado por otros procesos. No comparte datos. Cooperativo: Comparte datos e interacta con otros procesos.

Procesos cooperativos
Se ilustra el concepto de procesos cooperativos con el paradigma productor y consumidor. Un productor produce informacin que es consumida por el consumidor.

Procesos cooperativos

Temario
Concepto de procesos Planificacin de procesos Operaciones con procesos Procesos cooperativos Hilos (Threads) Comunicacin entre procesos

Hilos (Threads)

1/5

Tambin se conocen como procesos ligero. Un hilo consiste en: contador de programas, juego de
registros y espacio de pila. Un hilo comparte con sus hilos pares una tarea. En un proceso pesado (tarea de un solo hilo), una tarea no hace nada si no contiene hilos, y un hilo debe tener una y slo una tarea.

Hilos (Threads)

2/5

La conmutacin entre hilos en el nivel usuario puede hacerse con independencia del S.O y, por tanto, muy rpidamente. Los hilos a nivel usuario tienen desventajas. Ejemplo: si el ncleo es monohilado, un hilo a nivel de usuario que ejecute una llamada al sistema har que toda la tarea espere hasta que la llamada regrese.

Hilos (Threads)

3/5

Un proceso multihilado emplea menos recursos que


varios procesos redundantes.

Los hilos pueden estar en uno o varios estados: listo,


bloqueado, en ejecucin, o terminado.

Los hilos pueden crear hilos hijos, y se pueden


bloquear para finalizar la ejecucin de llamada al sistema, si un hilo se bloquea, otro puede ejecutarse.

Hilos (Threads)

4/5

A diferencia de los procesos, los hilos son


dependientes entre s.

Todos los hilos pueden acceder a las direcciones de la


tarea, puede leer la pila de otro hilo, o escribir sobre ella.

Los hilos probablemente estn diseados para ayudarse


mutuamente y por tal motivo no requiere de una proteccin.

Hilos (Threads)

5/5

En una tarea que contiene mltiples hilos, si un hilo est bloqueado y esperando, un segundo hilo de la misma tarea podra ejecutarse, la cooperacin de mltiples hilos tiene como ventajas mayor rendimiento y mejor desempeo.

Temario
Concepto de procesos Planificacin de procesos Operaciones con procesos Procesos cooperativos Hilos (Threads) Comunicacin entre procesos

Comunicacin Entre Procesos Estructura bsica


Un IPC ofrece mnimo dos operaciones: enviar(mensaje) recibir(mensaje). El envo de mensajes de tamao variable es ms complejo que para los de tamao fijo. Para que P y Q se comuniquen es necesario un enlace de comunicacin entre ellos.

Comunicacin Entre Procesos Comunicacin directa


Un proceso nombra explcitamente al destinatario o el remitente. Las primitivas enviar/recibir se definen como: enviar(P, mensaje), enviar un mensaje al proceso P. recibir(Q,mensaje), recibe un mensaje del proceso Q.

Comunicacin Entre Procesos Comunicacin directa

Comunicacin Entre Procesos Comunicacin directa


Propiedades: Se establece automticamente la comunicacin entre cada par de procesos. Un enlace por cada par de procesos. Solo existe un enlace entre cada proceso. Unidireccional, pero suele ser bidireccional.

Comunicacin Entre Procesos Comunicacin indirecta


Los mensajes se envan y reciben por medio de buzones. Las primitivas se definen como: enviar(A, mensaje), enviar un mensaje al buzn A. recibir(A,mensaje), recibe un mensaje del buzn A.

Comunicacin Entre Procesos Comunicacin indirecta

Comunicacin Entre Procesos Comunicacin indirecta


Propiedades: Solo se puede establecer comunicacin si existe un buzn compartido. Un enlace puede asociarse a ms de dos procesos. Entre cada par de procesos pueden existir varios buzones. Enlaces unidireccionales o bidireccionales.

Comunicacin Entre Procesos Uso de buffers


Capacidad cero: Procesos sincronizados. Capacidad limitada Capacidad ilimitada

Comunicacin Entre Procesos Condiciones de excepcin


En sistemas distribuidos: gran probabilidad de errores en la comunicacin En sistemas locales: produce un fallo en el sistema

Comunicacin Entre Procesos Excepcin: El proceso termina


El emisor o receptor podra terminar antes de que se procese el mensaje. Un receptor P espera eternamente el mensaje del proceso muerto Q. El proceso P enva un mensaje al proceso muerto Q

Comunicacin Entre Procesos Excepcin: Mensajes perdidos


Un mensaje puede perderse en la red de comunicacin. 1. El S.O. detecta y notifica el problema. 2. El emisor detecta y notifica el problema. 3. El S.O. detecta el problema, notifica al emisor y ste decide que hacer.

Comunicacin Entre Procesos Excepcin: Mensajes alterados


El mensaje puede llegar con alteraciones. Es un caso similar al del mensaje perdido. El sistema operativo retransmitir el mensaje.

MS-DOS Caracteristicas

Monousuario

Monotarea

Windows NT
Implementa un diseo modular moderno Mltiples subsistemas con los que los programas se comunican Los programas se consideran clientes del servidor de subsistemas Dos procesos locales se comunican entre s por medio de LPC (Local Procedure Call)

Windows NT
Puertos de conexin: Son objetos con nombre Visibles para todos los procesos Canal de comunicacin entre aplicaciones Puertos de comunicacin: El cliente abre un mando El cliente enva una solicitud de conexin El servidor crea dos puertos de conexin El cliente y servidor usan el mando del puerto correspondiente para enviar mensajes o devoluciones de llamadas.

Windows NT
Tcnicas para la transferencia de mensajes: 1. Si el mensaje es pequeo, se usa la cola de mensajes del puerto como medio. 2. Mensajes grandes se usa memoria compartida. 3. Mecanismo de devolucin de llamadas.

FreeBSD
Un proceso se ejecuta en modo usuario o modo kernel. Modo usuario: Modo protegido sin privilegios. Modo kernel: Llamadas al sistema por medio de un mecanismo de proteccin.

FreeBSD
Comunicacin interprocesos - Sockets BSD Con los sockets BSD no es necesario que los procesos se ejecuten en la misma mquina ni Sistema Operativo. Se construyen con el modelo bsico de UNIX: Todo es un archivo.

FreeBSD

Potrebbero piacerti anche