Facultad de Ingeniera Industrial y de Sistemas - UNI -2012 Carlos Janjachi carlos.janjachi@gmail.com
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
INTRODUCCION. Seudoparalelismo es la rpida conmutacin de la CPU entre programas. Paralelismo de hardware aplica a sistemas multiprocesador que tienen dos o mas CPU Un modelo (procesos secuenciales) facilitan el manejo de paralelismo.
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
MODELO DE PROCESOS. Con la CPU conmutando entre procesos, la rapidez con que un proceso realiza sus clculos no es uniforme. Proceso es una actividad de algn tipo: tiene un programa, entrada, salida y un estado.
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
JERARQUIA DE PROCESOS. Es un mecanismo para crear todos los procesos necesarios. Cada proceso tiene un padre pero puede tener cero, uno o mas hijos. Se implementa con la llamada a FORK que crea un copia idntica del proceso invocador.
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
ESTADOS DEL PROCESO. Un proceso se bloquea porque le es imposible continuar lgicamente. Ejemplo: porque esta esperando entradas que todava no estn disponibles. Un proceso puede pasar por tres estados bsicos: Listo Ejecucin Bloqueado. El bloqueo se implementa con la llamada a BLOCK
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
IMPLEMENTACION DE PROCESOS. El SO mantiene una tabla de procesos, con una entrada por cada proceso. La entrada contiene: estado del proceso contador de programa apuntador a la pila reparto de memoria situacin de archivos abiertos informacin de planificacin. El servicio de interrupciones guarda la entrada en la tabla de procesos para el proceso actual
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
IMPLEMENTACION DE PROCESOS.
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
HILOS. Llamados procesos ligeros. Un hilo puede pasar por tres estados: Listo Ejecucin Bloqueado. El kernel mantiene una tabla de hilos, similar a una tabla de procesos.
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
CONDICION DE COMPETENCIA. Se da cuando los procesos comparten cierto almacenamiento comn en el que ambos pueden escribir o leer. El almacenamiento puede estar en la memoria principal o en un archivo compartido. Dos procesos quieren acceder a memoria compartida al mismo tiempo.
FIIS - UNI - Carlos Janjachi
Funciones del Sistema Operativo
SECCION CRITICA. Llamado regin critica. Conjunto de tareas criticas que pueden dar lugar a competencia. Parte del programa que accede a memoria compartida. Se logra una solucin a travs de la exclusin mutua de operaciones primitivas.
FIIS - UNI - Carlos Janjachi
10
Funciones del Sistema Operativo
EXCLUSION MUTUA. Inhabilitar interrupciones cuando un proceso ingresa en su seccin critica y habilita justo antes de salir de ellas. Existe el riesgo que proceso no habilite interrupciones.
FIIS - UNI - Carlos Janjachi
11
Funciones del Sistema Operativo
SOLUCION DE PETERSON. Implementa concepto de espera activa. Utiliza variable turn, interested y metodo enter_region, leave_region. Desperdicia tiempo de CPU
FIIS - UNI - Carlos Janjachi
12
Funciones del Sistema Operativo
TSL (Test an Set Lock) Implementa concepto de espera activa. La operacin de leer la palabra y guardar el valor en ella son indivisibles, ningn otro procesador puede acceder a la palabra de memoria en tanto la instruccin no haya terminado. La CPU que ejecuta la sentencia TSL pone un candado al bus de memoria para que ningn otro CPU pueda acceder a la memoria en tanto no termine. TSL - Utiliza variable lock, metodo enter_region y leave_region. Desperdicia tiempo de CPU
FIIS - UNI - Carlos Janjachi
13
Funciones del Sistema Operativo
DORMIR Y DESPERTAR. Utiliza SLEEP (el proceso se bloquea hasta que otro lo despierte) y WAKEUP (recibe el id del proceso que debe despertar). Problema de productor-consumidor
FIIS - UNI - Carlos Janjachi
14
Funciones del Sistema Operativo
PRODUCTOR Y CONSUMIDOR. Dos procesos comparten el mismo buffer, uno coloca informacin y el otro lo saca del buffer. Cuando el buffer esta lleno el productor se duerme y se le despierta cuando el consumidor ha retirado uno o mas elementos del buffer, del mismo modo cuando el consumidor requiere sacar un elemento del buffer y esta vaco se duerme hasta que el productor pone algo en el buffer y lo despierta.
FIIS - UNI - Carlos Janjachi
15
Funciones del Sistema Operativo
MONITOR. Es una primitiva de sincronizacin de alto nivel. Implementan la exclusin mutua: solo un proceso puede estar activo en un momento dado. Ejecuta un WAIT + variable de condicin.
FIIS - UNI - Carlos Janjachi
16
Funciones del Sistema Operativo
TRANSFERENCIA DE MENSAJES. Utiliza primitiva (llamada al sistema y no lgica construcciones del lenguaje) SEND y RECEIVE para la comunicacin entre procesos. send (destino, mensaje) receive (origen, mensaje) Problema a resolver: la perdida de mensajes Solucin: acuse de recibo, retrasmitir Problema: distinguir un proceso de nuevo de otro viejo. Solucin: verificar el # secuencia Problema: verificar la autenticidad del proceso origen, destino Solucin: utilizar id proceso Un buzn es lugar donde se almacenan temporalmente cierta cantidad de mensajes. SEND y RECEIVE utilizan buzones El buzn de destino contiene mensajes que han sido enviados al proceso destino pero aun no han sido aceptados. Si no hay buzn receptor y emisor deben estar sincronizados. FIIS - UNI - Carlos Janjachi 17
Funciones del Sistema Operativo
PROBLEMA DEL IPC. Problema de la cena de filsofos: procesos que compiten por tener acceso exclusivo a un numero limitado de recursos. Problema de lectores y escritores: modela el acceso a una base de datos Problema del peluquero dormido.