Вы находитесь на странице: 1из 31

2.

1 Introducci
on
2.2 Comunicaci
on entre procesos

Sistemas Operativos
Unidad II
Administrador de procesos

Jose David Ortega Pacheco


Instituto Polit
ecnico Nacional
Escueal Superior de C
omputo
Departamento de Ingeniera en Sistemas Computacionales
Academia de Sistemas Distribuidos

20 de octubre de 2015

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Objetivo

Describir la comunicaci
on entre procesos, mediante la definicion de
semaforos, monitores y transferencia de mensajes, para aplicarlos
en la solucion de los problemas clasicos de la comunicacion entre
procesos, la planificaci
on de sistemas y administracion de procesos.

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Orden de la presentacion

2.1 Introduccion

2.2 Comunicacion entre procesos

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Definicion de proceso

Un proceso es una entidad activa (programa en ejecucion) que


cuenta con dos elementos principales como concepto
abstracto, 1) Codigo de programa y 2) Un conjunto de
recursos y datos asociados para su administracion (Bloque de
Control de Proceso - BCP - ).
De manera fsica, un proceso se representa mediante una
imagen de proceso, la cual hace referencia a: codigo de
programa, datos, pila y al BCP.

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Bloque de Control de Proceso


Estructura de datos asociada a un proceso, la cual contiene la
informacion necesaria para que el sistema operativo pueda
administralo (detener o continuar con su ejecuci
on). De manera
general incluye informaci
on como la siguiente:
1

Identificador: Identificador u
nico para distinguir a un proceso
de otro

Estado: Definido a partir del ciclo de vida del proceso


(depende de cada sistema operativo)

Prioridad: Nivel de prioridad relativo a otros procesos

Contador de programa: Apuntador a la siguiente instruccion


del programa a ser ejecutado

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Bloque de Control de Proceso

Apuntadores a memoria: Apuntadores al c


odigo de programa y
datos asociados, junto con apuntadores a memoria compartida
con otros procesos

Datos de contexto: Datos presentes en los registros del


procesador mientras el proceso es ejecutado

Informacion de Entrada/Salida: Requerimiento o asignacion


de recursos de E/S

Informacion de auditora: Tiempo de procesador, lmites de


tiempo, quen y cuando ejecuto el proceso, etc.

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Modelo de estados
Descripcion del comportamiento (ciclo de vida) de los procesos en
un sistema operativo.
Modelo de dos estados

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Creacion de procesos

Un proceso puede ser creado por las siguientes razones:


Trabajo por lotes
Inicio inteactivo (login)
Proveer un servicio (por parte de sistema operativo)

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Creacion de procesos

A peticion de un proceso.
Dos posibilidades de ejecuci
on:
1
2

El padre se ejecuta concurrentemente con el hijo


El padre espera a que alguno o todos sus hijos terminen

Respecto al espacio de direcciones en memoria para el nuevo


proceso:
1

El hijo es un duplicado del padre (tiene el mismo codigo de


programa y datos que el padre)
El hijo tiene un c
odigo de programa y datos diferentes al padre

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Creacion de procesos
Proceso general para la creaci
on de procesos:
1

Asignar un identificador de proceso: Identificador u


nico del
proceso

Reserva espacio para el proceso: Memoria de datos y de


programa

Inicializar bloque de control de proceso: Valores por default


establecidos para el inicio del proceso

Inicializar ligas: Planificaci


on mediante listas ligadas,
determinar si el nuevo proceso se asocia a la cola de procesos
listos o listos/suspendidos por ejemplo.

Crear estructuras adicionales: Estructuras o archivos para


estadstica y o prop
ositos de desempe
no

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Eliminacion de procesos

Un proceso puede ser eliminado debido a alguna de las siguientes


razones:
Culminacion normal.
Lmite de tiempo de ejecuci
on excedido
Memoria no disponible (Requiere mas memoria)
Violacion de acceso a memoria
Error por protecci
on (Acceso no permitido a recurso)
Error Aritmetico
Tiempo de espera excedido (recurso/evento)

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Eliminacion de procesos

Falla de Entrada/Salida (Operaci


on invalida o error en la
operacion de E/S)
Instruccion invaida (Del conjunto de instrucciones del
procesador)
Instruccion privilegiada (Reservada al SO)
Error en especificaci
on de dato (Tipo equivocado o no
inicializado)
Intervencion del usuario o del SO
Culminacion del padre
Requerimiento del padre

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Modelo de estados

Modelo de cinco estados

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Modelo de estados

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Modelo de estados

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Modelo de estados

Suspencion.
Se utiliza cuando todos los estados descritos en el modelo de
cinco estados se cargan en memoria principal, lo cual
representa un riesgo
Se puede extender la memoria principal, lo cual implica
costos, ademas de que los programas demandan de manera
idividual cada vez mas espacio de memoria
Otra solucion es el Swapping

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Modelo de estados

Swapping.
Implica mover procesos de memoria principal a
almacenamiento secundario (disco) mediante un estado
denominado como suspenci
on
Operacion de Entrada/Salida que tiene riesgos inherentes a
los dispositivos de E/S, sin ambargo termina siendo una
buena solucion debido a que el disco es de los dispositivos de
E/S mas rapidos

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Modelo de estados

Modelo de seis estados.

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Modelo de estados
Modelo de siete estados.

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Cambio de contexto

Mecanismos que interumpen la ejecuci


on normal de un proceso en
el procesador.

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Cambio de contexto
Pasos generales para el cambio de proceso en el uso de procesador.
1

Guardar el contexto del procesador (Program Counter y otros


registros)

Actualizar el BCP del proceso actual, cuyo estado es


Ejecutando (Se cambia de estado)

Mover el BCP del proceso al estado apropiado

Seleccionar otro proceso para su ejecuci


on

Actualizar el BCP del proceso seleccionado

Actualizar estructuras de datos para el manejo de memoria

Establecer el contexto del procesador con los datos de


contexto del proceso a ejecutar

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Introduccion

Los procesos se ejecutan de manera concurrente en el sistema


operativo y pueden ejecutarse como procesos independientes o
como procesos cooperativos.
Un proceso independiente es aqel que no puede afectar o ser
afectado por otro proceso
Un proceso es cooperativo si puede afectar o verse afectado
por otro proceso

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Razones para la cooperacion entre procesos

Compartir informaci
on
Incrementear la velocidad de c
omputo
Modularidad
Conveniencia

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Comunicacion entre procesos

Existen dos mecanismos para la comuicaci


on entre procesos:
Memoria compartida: Mas rapido
Paso de mensajes: Facil de implementar

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Comunicacion entre procesos

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Memoria compartida

Region compartida de memoria


La memoria compartida termina siendo el espacio de
direcciones de un proceso
El sistema operativo cuida que ningun proceso interfiera con
otro, por llo que los procesos en comunicaci
on aceptan
eliminar esta condici
on para comunicarse
los procesos en comunicaci
on peden leer y escribir en el area
compartida
Los procesos son responsables de asegurarse de que no
escriben en la misma direcci
on de memoria de manera
simultanea.

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Paso de mensajes

No se comparte el espaco de direcciones


de manera particular en ambientes distribuidos
Util
Se tienen dos operaciones: enviar y recibir
Tama
no fijo de env
o facilita la implementaci
on de paso de
mensaje pero dificulta la tarea de programaci
on
Tama
no variable del envo dificulta la implementacion de paso
de mensajes pero facilita la tarea de programacion

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Paso de mensajes

Formas de comunicaci
on
Comunicacion directa o indirecta (Nombrado)
Comunicacion sncrona o asncrona (Sincronizacion)
Buffer automatico o explcito (Buffering)

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Paso de mensajes

Nombrado
Esquema simetrico: Envas mensaje al proceso P send(P,
message), Recibe mensaje del proceso Q receive(Q, message)
Esquema asimetrico: Envas mensaje al proceso P send(P,
message), Recibe mensaje de cualquier proceso receive(id,
message)
Mailbox: Enviar mensaje al mailbox A send(A, message),
Recibir mensaje del mailbox A receive(A, message). El sistema
operativo debe permitir crear un mailbox, enviar y recibir
mensajes a partir de un mailbox y eliminar un mailbox

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Paso de mensajes
Sincronizacion
El paso de mensajes puede ser bloqueante (sncrono) o
no-bloqueante (asncrono)
Envo bloqueante: El proceso que enva es bloqueado hasta
que el mensaje es recibido por el proceso o mailbox destino
Envo no-bloqueante: El proceso de envo manda el mensaje y
contin
ua su operaci
on
Recepcion bloqueante: El proceso receptor se bloquea hasta
que tiene un mensaje
Recepcion no-bloqueante: El receptor recupera un mensaje o
un mensaje nulo

Jos
e David Ortega Pacheco

Sistemas Operativos

2.1 Introducci
on
2.2 Comunicaci
on entre procesos

Paso de mensajes

Buffering
Comunicacion mediante una cola temporal
Capacidad Cero: Se bloquea al proceso que enva hasta que el
receptor reciba el mensaje
Capacidad Limitada: Capacidad n. Si se llena, el proceso que
enva se bloquea hasta que haya espacio
Capacidad Ilimitada: Cantidad ilimitada de mensajes y el
proceso que enva no se bloquea

Jos
e David Ortega Pacheco

Sistemas Operativos

Вам также может понравиться