Vous êtes sur la page 1sur 11

PROBLEMA LECTORES-

ESCRITORES
CARLOS MORA 625200, MAURICIO NAVARRO 625171,
DAVID CORREA 625194, ANDRES RODRIGUEZ 625199
Cuestin:
Hay un objeto de datos(fichero de texto) que es utilizado por
varios procesos, unos leen y otro que escriben.

Solo puede utilizar el recurso un proceso y solo uno, es decir, o
bien un proceso estar escribiendo o bien leyendo, pero nunca
ocurrir simultneamente (teniendo en cuenta que si no lo esta
utilizando nadie, tendr preferencia el escritor ante el lector).

Documentacin:
Se considera a cada usuario(lector y escritor) como dos
procesos y al fichero en cuestin como un recurso. De
modo que, para que un proceso acceda al recurso que
necesita, tenemos que considerar a cada usuario (lector
y escritor) como dos semforos. Estos semforos son
binarios y valen 0 si el recurso (fichero) est siendo
utilizado por otro proceso y 1 si dicho recurso est
disponible.
La solucin de este problema se basa en implementar un
algoritmo eficiente (vase algoritmo) en el manejo de
semforos y memoria compartida que seguidamente
describimos. A lo largo del programa se utilizan
funciones necesarias para el manejo de memoria
compartida.

El problema de los lectores y escritores describe una
situacin en la cual tenemos procesos que necesitan
acceder a un recurso compartido de dos formas diferentes:

Lectores/Escritores
Lector

Escritor

Lectores/Escritores
Lector 1 Lector 2 Escritor 1
Escritor 2
Lector
1
Lector
2
Lector
3
Lectores/Escritores
Prioridad Lector
Cl=1 Cl=2 Cl=3
Lector 1 Lector 2 Lector 3
Cl=4
Lector 3
Cl=5
Lector 4

cl=cl-1;

O
U
T Escritor 1
!Go
Escritor
Lectores/Escritores
Prioridad Lector
T=1 T=2 T=3
Lector 1 Lector 2 Lector 3
T=4
Lector 4

O
U
T
Escritor 1
T=5
Como se puede evitar esto ?
!Logra una menor concurrencia y por ende, un
menor rendimiento!
Lectores / Escritores
Prioridades
Prioridad lectores: Ningn lector debe esperar salvo que
un escritor este escribiendo. Un lector no espera por el
simple hecho de que haya un escritor esperando.

Prioridad escritores: Cuando un escritor espera, debe
escribir lo antes posible. Es decir ningn nuevo lector
debe iniciar su lectura si hay algn escritor esperando.

Referencias
Tanenbaum, Andrew S. Sistemas Operativos Modernos, 3era
Edicin.pag 167. Prentice Hall. 2009.
https://www.youtube.com/watch?v=61_FyuE5F7U

Vous aimerez peut-être aussi