Está en la página 1de 5

Sistemas Operativos

Tema: Problema Lectores/Escritores Profesor: LSI. Luís Rodríguez Estudiante: Mónica Vaca Mendieta

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL

 .  En la base de datos sólo puede escribir un escritor en cada instante. que intentan leer y escribir en ella. El problema es satisfacer las siguientes condiciones:  Cualquier número de lectores puede leer la base de datos simultáneamente.  Si un escritor está accediendo a la base de datos. con muchos procesos en competencia.PROBLEMA DE LOS LECTORES Y ESCRITORES  Modela el acceso a una base de datos. como por ejemplo un sistema de reservaciones en una línea aérea. ningún lector puede leerlo.

escribir_dase_datos ( ). nl = nl +1.Prioridad a los lectores # include “prototypes. semaphore exmut = 1 semaphore bd =1 Int nl = 0 void lector (void) { while (TRUE) { down (&exmut). sección_no_crítica_lector. down (&bd).h” typedef int semaphore. up (&bd). if (nl == 1) up(&exmut). up(&exmut). } } . } } leer_base_datos ( ). nl = nl -1. down (&exmut). /*controla el acceso a „nl‟ */ /*controla el acceso a la base de datos */ /*número de procesos que leen o deseen leer void escritor (void) { while (TRUE) { generar_datos ( ). down (&bd). if (nl == 0) up (&bd).

Prioridad a los lectores nl 2 3 1 0 zzz… 10 Escritor Lector 10 Lector 10 Lector 0 1 exmut Registro BD 10 11 0 1 bd .

FIN PROBLEMA LECTORES/ESCRITORES PRIORIDAD LECTORES .