SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
PROBLEMA DE LECTORES ESCRITORES
Evelyn Flores1, Carmen Loor2, Alexis Carvajal3, Leonardo Tomalo4, Jazmín
Limón5.
evelyn_flores1312@hotmail.com1,carmenk74@hotmail.com2, donalexisdr@gmail.com3, leo.tomalo@gmail.com4,
jazminlimon-07@hotmail.com5.
Facultad de Sistemas y Telecomunicaciones
Universidad Estatal Península de Santa Elena
La Libertad – Ecuador
dquirumbay@upse.edu.ec
Sistemas Operativos
PROBLEMA DE LECTORES ESCRITORES.
RESUMEN
En los problemas clásicos de comunicación de procesos, existen varios, pero en este
documento analizaremos “EL PROBLEMA DE LECTORES ESCRITORES”.
Tanto lectores y escritores pueden tener acceso a archivos pero no al mismo tiempo, todo
es de la siguiente manera:
 Si el escritor hace modificaciones entonces el lector deberá esperar o viceversa.
 Ambos pueden hacer las veces de lector pero no escritor a la vez.
 Al terminar de realizar un proceso escritor, este debe permitir el acceso al
siguiente proceso en este caso a los lectores, que se pueden convertir en
escritores pero teniendo en cuenta sus restricciones.
Existen restricciones que se deben seguir para que el proceso escritor no interfiera con
los procesos lectores.
 Memoria compartida con la restricción antes mencionada.
 Escritores preferencias.
 Bloqueo de datos compartidos dentro de un límite de tiempo.
Dentro de cada uno de las restricciones se detalla el algoritmo que ha de seguirse para
su solución, es importante asimilar y tener en cuidado de que ningún proceso se
sobrepone a otros o al mismo tiempo para lograr su acción.
I Introducción
Con frecuencia, los procesos
necesitan comunicarse con otros
procesos. Por ejemplo, en una
canalización del Shell, la salida del
primer proceso se debe pasar al
segundo proceso y así
sucesivamente. Por ende, existe una
necesidad de comunicación entre
procesos, de preferencia en una
forma bien estructurada sin utilizar
interrupciones.
Sin embargo, existen algunos
problemas de comunicación de
procesos, en este caso detallaremos
el problema de lectores escritores,
propuesto por Courtois en 1971.
En este problema existe un
determinado objeto que puede ser un
archivo, un registro dentro de un
archivo, etc., que va a ser utilizado y
compartido por una serie de procesos
concurrentes. Algunos de estos
procesos sólo van a acceder al objeto
sin modificarlo, mientras que otros
van a acceder al objeto para
modificar su contenido. Esta
actualización implica leerlo, modificar
su contenido y escribirlo. A los
primeros procesos se les denomina
lectores y a los segundos se les
denomina escritores.
Si tomamos el ejemplar de una
enorme base de datos, un sistema de
reservaciones de una línea aérea,
con muchos procesos en
competencia, que intentan leer y
escribir en ella. Se puede aceptar que
varios procesos lean la base de datos
al mismo tiempo, pero si uno de los
procesos está escribiendo, (es decir
modificando) la base de datos,
ninguno de los demás procesos
deberá tener acceso a esta, ni
siquiera los lectores. El problema es
como programar a los lectores y
escritores.
Se deben considerar las siguientes
reglas de acceso a la base de datos:
Solamente puede haber un escritor al
mismo tiempo, si un escritor o un
lector quiere utilizar la base de datos
y hay un escritor utilizándola,
entonces debe esperar.
Puede haber varios lectores
utilizando la base de datos al mismo
tiempo, pero si un escritor quiere usar
la base de datos mientras los lectores
la usan, deberá esperar.
El último lector en usar la base de
datos debe habilitarla para que pueda
ingresar el siguiente escritor que
estaba esperando la base de datos o
en todo caso al siguiente proceso que
requiera usarla.
II Desarrollo
“El problema de los lectores y
escritores (Courtois et al., 1971), que
modela el acceso a una base de
datos”. [1]
Este tipo de conflicto se da cuando un
usuario quiere acceder a la misma
acción que accede el otro usuario.
Por lo que no puede llamar al mismo
ya que está siendo ocupado.
Generalmente se presenta en lo que
respecta a base de datos, cuando se
quiere realizar las acciones de
escribir y ver lo que se tiene en la
base de datos; por lo que, si algún
usuario solo realiza la acción de
observar el contenido la base de
datos y otro usuario puede estar
intentando modificar la misma; al
usuario que quiere realizar la opción
de modificar la base de datos tiene
que esperar hasta que el usuario que
ingreso primero no estén realizando
ya la acción.
Y si es en el caso contrario el o los
usuarios no podrán leer el contenido
de la base de datos por lo que está
siendo modificada, y hasta que este
termine no podrán acceder.
Existe una solución de prioridad en la
cual los lectores son los superiores a
los escritores (modificadores).
Otro ejemplo de este tipo de
problemas es:
“Hay un objeto de datos (fichero de
texto) que es utilizado por varios
procesos, unos leen y otro
que escribe. Solo puede utilizar el
recurso un proceso y solo uno, es
decir, o bien un proceso estará
escribiendo o bien leyendo, pero
nunca ocurrirá simultáneamente
(teniendo en cuenta que si no lo está
utilizando nadie, tendrá preferencia el
escritor ante el lector). ” [2]
Cuando un escritor va a realizar su
tarea debe estar preparado para no
interferir los procesos lectores, las
mismas que presentan las siguientes
restricciones.
En este tipo de problemas existen
varias restricciones que han de
seguirse:
 Sólo se permite que un escritor
tenga acceso al objeto al
mismo tiempo. Mientras el
escritor esté accediendo al
objeto, ningún otro proceso
lector ni escritor podrá acceder
a él.
 Se permite, sin embargo, que
múltiples lectores tengan
acceso al objeto, ya que ellos
nunca van a modificar el
contenido del mismo. En este
tipo de problemas es necesario
disponer de servicios de
sincronización que permitan a
los procesos lectores y
escritores sincronizarse
adecuadamente en el acceso
al objeto.
PRIMER PROBLEMA DE LOS
LECTORES-ESCRITORES [3]
Como primer problema tenemos un
área de memoria compartida con las
restricciones detalladas
anteriormente. Podemos proteger los
datos compartidos detrás de una
exclusión mutua, en cuyo caso no
hay dos hilos donde pueden acceder
a los datos al mismo tiempo. Sin
embargo, esta solución no es óptima,
ya que un lector de R 1 pudiera tener
la cerradura, y luego otro lector
de R solicitudes de acceso. Es por
esto la restricción de que ningún
lector se hizo esperar si la
participación está abierta actualmente
para la lectura.
Figura 1: Lectores-escritores
SEGUNDO PROBLEMA DE LOS
LECTORES-ESCRITORES [3]
La motivación para el segundo
problema de los lectores-escritores
es, en la que se añade la restricción
de que ningún escritor, una vez
añadido a la cola, se hizo esperar
más de lo necesario. Esto también
se llama escritores preferencia.
Figura 2: Lectores-escritores
TERCER PROBLEMA DE LOS
LECTORES-ESCRITORES [3]
El tercer problema de los lectores-
escritores, añade la restricción de
que ningún hilo se permitirá a morir
de hambre; es decir, la operación de
obtener un bloqueo en los datos
compartidos siempre terminará en
una cantidad limitada de tiempo.
Figura 3: lectores-escritores
CONCLUSIONES.
Este problema de lectores y
escritores se debe tomar en cuenta
en la creación de un Sistema
Operativo para el control de
concurrencias, ya que esto no se
trata de solo bloquear y habilitar
recursos compartidos para los
procesos que los utilizan, sino
también es importante diferenciar
entre las operaciones que se realizan
en esas áreas compartidas, tales
como: en variables, en memoria,
registros, archivos, tablas, etc. Se
debe saber cuáles son de lectura y
cuales son de escritura, este proceso
es muy crítico, porque si la operación
que se está realizando sobre los
archivos es de lectura y no afecta el
valor de la variable o el contenido de
un archivo, debería poder compartirse
el archivo de manera simultánea
como al de un proceso, lo critico es
(cuidando la consistencia y la
coherencia de los datos de un
archivo), que se escriba sobre ellos.
De esta manera los Sistemas
Operativos tienen muy bien
programados sus algoritmos de
lectura y escritura, no solo para saber
si el recurso está siendo utilizado por
un proceso, sino también para saber
qué tipo de operación se está
realizando sobre el mismo.
Por eso se deben satisfacer las
siguientes condiciones o reglas:
 Cualquier número de lectores
puede leer el archivo
simultáneamente.
o Esto quiere decir que si solo se
está leyendo el archivo,
cualquier cantidad de procesos
pueden también estar leyendo
al mismo tiempo.
 Solo puede escribir en el
archivo un escritor en cada
instante.
o Esto se refiere a que si se está
escribiendo el archivo solo se
puede estar haciendo este
proceso, los demás procesos
podrían quedarse como ciclos
pendientes en la programación
del Sistema Operativo.
 Si un escritor está accediendo
al archivo, ningún lector puede
leerlo.
o De alguna manera, si se está
escribiendo, nadie puede leer
el archivo porque está siendo
modificado, es por eso que no
se puede acceder al archivo.
RECOMENDACIONES.
Los lectores y escritores, es un tipo
de problema clásico de comunicación
entre procesos, que a su vez es de
suma importancia en el momento de
empezar a crear un Sistema
Operativo para el control de
concurrencias. Por eso, si se va a
diseñar un Sistema Operativo se
debe tomar en cuenta este tipo de
problema en su creación y diseño,
observando y analizando
detenidamente el algoritmo que se
enfrasca en el problema de lectores y
escritores.
Biografía
Edsger W. Dijkstra
Nació el 11 de Mayo de 1930 en
Rotterdam, Netherlands, Falleció el 6
de Agosto de 2002 a los 72 años en
Nuenen, Netherlands.
Holandés Informático y Matemático,
trabajó como Programador en
Mathematisch Centrum en
Amsterdam (1952 1962), fue profesor
de Matemáticas en Eindhoven
University of Technology(1962-1984)
En 1968 Dijkstra fue quien dio una
solución al problema de la exclusión
mutua, con la introducción del
concepto de semáforo binario. Está
herramienta de sincronización brinda
una solución al problema de la
exclusión mutua restringiendo el
acceso simultáneo a los recursos
compartidos [4]
Trabajos citados
[2] Comunicacion entre procesos S.O. (s.f.).
Obtenido de
https://www.scribd.com/doc/91486
274/Problema-de-Comunicacion-
Entre-Procesos-Sistemas-Operativos-
1#scribd
DISCA/DSIC, E. d. (s.f.). Comunicacion y
sincronizacion de procesos. Obtenido
de http://www.redes-
linux.com/apuntes/so1/teoria/tema
4.pdf
[3] Problemas Clasicos comunicación entre
procesos. (s.f.). Obtenido de
http://lsi.vc.ehu.es/pablogn/docenci
a/manuales/SO/TemasSOuJaen/CON
CURRENCIA/4ProblemasClasicosdeC
omunicacionentreProcesos.htm
[2] Wiki. (s.f.). Obtenido de Enciclopedia
Libre:
https://es.wikipedia.org/wiki/Edsger
_Dijkstra
[4] Wikipedia. (s.f.). Obtenido de
Enciclopedia Libre:
https://en.wikipedia.org/wiki/Reader
s%E2%80%93writers_problem

Más contenido relacionado

La actualidad más candente

Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareLorena Quiñónez
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitosKleo Jorgee
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONPANAFMX
 
Proyecto Final Modelado de Proceso de Negocios
Proyecto Final Modelado de Proceso de NegociosProyecto Final Modelado de Proceso de Negocios
Proyecto Final Modelado de Proceso de NegociosLuis Alberto Grijalva
 
Mapa mental niveles de capacidad del modelo CMMI
Mapa mental niveles de capacidad del modelo CMMIMapa mental niveles de capacidad del modelo CMMI
Mapa mental niveles de capacidad del modelo CMMIZuisdiaz01
 
Manual técnico del software
Manual técnico del softwareManual técnico del software
Manual técnico del softwareLina Vega
 
Planificación y modelado del sistema de una pizzeria.
Planificación y modelado del sistema de una pizzeria.Planificación y modelado del sistema de una pizzeria.
Planificación y modelado del sistema de una pizzeria.Luis Cigarroa
 
Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasAntonio Soria
 
IDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientosIDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientosFranklin Parrales Bravo
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)katherine revelo gomez
 

La actualidad más candente (20)

Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
Diagrama de dominio armando
Diagrama de dominio armandoDiagrama de dominio armando
Diagrama de dominio armando
 
Modelado de requisitos
Modelado de requisitosModelado de requisitos
Modelado de requisitos
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSON
 
Proyecto Final Modelado de Proceso de Negocios
Proyecto Final Modelado de Proceso de NegociosProyecto Final Modelado de Proceso de Negocios
Proyecto Final Modelado de Proceso de Negocios
 
Rational rose
Rational roseRational rose
Rational rose
 
Diseño de interfaces
Diseño de interfacesDiseño de interfaces
Diseño de interfaces
 
Mapa mental niveles de capacidad del modelo CMMI
Mapa mental niveles de capacidad del modelo CMMIMapa mental niveles de capacidad del modelo CMMI
Mapa mental niveles de capacidad del modelo CMMI
 
Manual técnico del software
Manual técnico del softwareManual técnico del software
Manual técnico del software
 
Planificación y modelado del sistema de una pizzeria.
Planificación y modelado del sistema de una pizzeria.Planificación y modelado del sistema de una pizzeria.
Planificación y modelado del sistema de una pizzeria.
 
Rup
RupRup
Rup
 
Paralelismo a nivel de Instrucciones
Paralelismo a nivel de InstruccionesParalelismo a nivel de Instrucciones
Paralelismo a nivel de Instrucciones
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Memoria virtual android
Memoria virtual androidMemoria virtual android
Memoria virtual android
 
Plan de desarrollo software
Plan de desarrollo softwarePlan de desarrollo software
Plan de desarrollo software
 
Apache Derby
Apache DerbyApache Derby
Apache Derby
 
Arquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos DistribuidasArquitecturas de Bases de Datos Distribuidas
Arquitecturas de Bases de Datos Distribuidas
 
Metodologia para el proyecto
Metodologia para el proyectoMetodologia para el proyecto
Metodologia para el proyecto
 
IDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientosIDR Unidad 2: Elicitación de requerimientos
IDR Unidad 2: Elicitación de requerimientos
 
Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)Arquitectura flujo de datos(filtros y tuberías)
Arquitectura flujo de datos(filtros y tuberías)
 

Similar a Lector escritor UPSE

Cooperación entre procesos
Cooperación entre procesosCooperación entre procesos
Cooperación entre procesosDafra Sahe
 
PPT CAP 2 Proceso e hilo.pdf
PPT CAP 2 Proceso e hilo.pdfPPT CAP 2 Proceso e hilo.pdf
PPT CAP 2 Proceso e hilo.pdfAbigailMontero5
 
Archivos distribuidos
Archivos distribuidosArchivos distribuidos
Archivos distribuidosTensor
 
Archivos distribuidos
Archivos distribuidosArchivos distribuidos
Archivos distribuidosTensor
 
Taller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutuaTaller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutuahhgomezc
 
Taller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutuaTaller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutuahhgomezc
 
Clasificacion de los s.o.1.
Clasificacion de los s.o.1.Clasificacion de los s.o.1.
Clasificacion de los s.o.1.honeyjimenez
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversionnqnwebs
 
Sistemas operativos informe
Sistemas operativos informe Sistemas operativos informe
Sistemas operativos informe J2918
 
Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos J2918
 
Taller Concurrencia Y Exclusion Mutua 1
Taller Concurrencia Y Exclusion Mutua 1Taller Concurrencia Y Exclusion Mutua 1
Taller Concurrencia Y Exclusion Mutua 1xcarlos91
 

Similar a Lector escritor UPSE (20)

Cooperación entre procesos
Cooperación entre procesosCooperación entre procesos
Cooperación entre procesos
 
PPT CAP 2 Proceso e hilo.pdf
PPT CAP 2 Proceso e hilo.pdfPPT CAP 2 Proceso e hilo.pdf
PPT CAP 2 Proceso e hilo.pdf
 
Archivos distribuidos
Archivos distribuidosArchivos distribuidos
Archivos distribuidos
 
Archivos distribuidos
Archivos distribuidosArchivos distribuidos
Archivos distribuidos
 
Archivos Distribuidos
Archivos DistribuidosArchivos Distribuidos
Archivos Distribuidos
 
Vega_NoAnimation.pptx
Vega_NoAnimation.pptxVega_NoAnimation.pptx
Vega_NoAnimation.pptx
 
Hilos hebras
Hilos hebrasHilos hebras
Hilos hebras
 
Taller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutuaTaller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutua
 
Taller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutuaTaller concurrencia y_exclusion_mutua
Taller concurrencia y_exclusion_mutua
 
Hilo de ejecución
Hilo de ejecuciónHilo de ejecución
Hilo de ejecución
 
sandra yunuen zaragoza carrion
sandra yunuen zaragoza carrionsandra yunuen zaragoza carrion
sandra yunuen zaragoza carrion
 
sandra yunuen zaragoza carrion
sandra yunuen zaragoza carrionsandra yunuen zaragoza carrion
sandra yunuen zaragoza carrion
 
Clasificación de los s.o.
Clasificación de los s.o.Clasificación de los s.o.
Clasificación de los s.o.
 
Clasificacion de los s.o.1.
Clasificacion de los s.o.1.Clasificacion de los s.o.1.
Clasificacion de los s.o.1.
 
Clase 3 ene 8
Clase 3 ene 8Clase 3 ene 8
Clase 3 ene 8
 
Clasificacion de los s.o
Clasificacion de los s.oClasificacion de los s.o
Clasificacion de los s.o
 
Control de versiones con Subversion
Control de versiones con SubversionControl de versiones con Subversion
Control de versiones con Subversion
 
Sistemas operativos informe
Sistemas operativos informe Sistemas operativos informe
Sistemas operativos informe
 
Sistemas Operativos
Sistemas Operativos Sistemas Operativos
Sistemas Operativos
 
Taller Concurrencia Y Exclusion Mutua 1
Taller Concurrencia Y Exclusion Mutua 1Taller Concurrencia Y Exclusion Mutua 1
Taller Concurrencia Y Exclusion Mutua 1
 

Último

OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfAlfaresbilingual
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 

Último (20)

OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 

Lector escritor UPSE

  • 1. PROBLEMA DE LECTORES ESCRITORES Evelyn Flores1, Carmen Loor2, Alexis Carvajal3, Leonardo Tomalo4, Jazmín Limón5. evelyn_flores1312@hotmail.com1,carmenk74@hotmail.com2, donalexisdr@gmail.com3, leo.tomalo@gmail.com4, jazminlimon-07@hotmail.com5. Facultad de Sistemas y Telecomunicaciones Universidad Estatal Península de Santa Elena La Libertad – Ecuador dquirumbay@upse.edu.ec Sistemas Operativos PROBLEMA DE LECTORES ESCRITORES. RESUMEN En los problemas clásicos de comunicación de procesos, existen varios, pero en este documento analizaremos “EL PROBLEMA DE LECTORES ESCRITORES”. Tanto lectores y escritores pueden tener acceso a archivos pero no al mismo tiempo, todo es de la siguiente manera:  Si el escritor hace modificaciones entonces el lector deberá esperar o viceversa.  Ambos pueden hacer las veces de lector pero no escritor a la vez.  Al terminar de realizar un proceso escritor, este debe permitir el acceso al siguiente proceso en este caso a los lectores, que se pueden convertir en escritores pero teniendo en cuenta sus restricciones. Existen restricciones que se deben seguir para que el proceso escritor no interfiera con los procesos lectores.  Memoria compartida con la restricción antes mencionada.  Escritores preferencias.  Bloqueo de datos compartidos dentro de un límite de tiempo. Dentro de cada uno de las restricciones se detalla el algoritmo que ha de seguirse para su solución, es importante asimilar y tener en cuidado de que ningún proceso se sobrepone a otros o al mismo tiempo para lograr su acción.
  • 2. I Introducción Con frecuencia, los procesos necesitan comunicarse con otros procesos. Por ejemplo, en una canalización del Shell, la salida del primer proceso se debe pasar al segundo proceso y así sucesivamente. Por ende, existe una necesidad de comunicación entre procesos, de preferencia en una forma bien estructurada sin utilizar interrupciones. Sin embargo, existen algunos problemas de comunicación de procesos, en este caso detallaremos el problema de lectores escritores, propuesto por Courtois en 1971. En este problema existe un determinado objeto que puede ser un archivo, un registro dentro de un archivo, etc., que va a ser utilizado y compartido por una serie de procesos concurrentes. Algunos de estos procesos sólo van a acceder al objeto sin modificarlo, mientras que otros van a acceder al objeto para modificar su contenido. Esta actualización implica leerlo, modificar su contenido y escribirlo. A los primeros procesos se les denomina lectores y a los segundos se les denomina escritores. Si tomamos el ejemplar de una enorme base de datos, un sistema de reservaciones de una línea aérea, con muchos procesos en competencia, que intentan leer y escribir en ella. Se puede aceptar que varios procesos lean la base de datos al mismo tiempo, pero si uno de los procesos está escribiendo, (es decir modificando) la base de datos, ninguno de los demás procesos deberá tener acceso a esta, ni siquiera los lectores. El problema es como programar a los lectores y escritores. Se deben considerar las siguientes reglas de acceso a la base de datos: Solamente puede haber un escritor al mismo tiempo, si un escritor o un lector quiere utilizar la base de datos y hay un escritor utilizándola, entonces debe esperar. Puede haber varios lectores utilizando la base de datos al mismo tiempo, pero si un escritor quiere usar la base de datos mientras los lectores la usan, deberá esperar.
  • 3. El último lector en usar la base de datos debe habilitarla para que pueda ingresar el siguiente escritor que estaba esperando la base de datos o en todo caso al siguiente proceso que requiera usarla. II Desarrollo “El problema de los lectores y escritores (Courtois et al., 1971), que modela el acceso a una base de datos”. [1] Este tipo de conflicto se da cuando un usuario quiere acceder a la misma acción que accede el otro usuario. Por lo que no puede llamar al mismo ya que está siendo ocupado. Generalmente se presenta en lo que respecta a base de datos, cuando se quiere realizar las acciones de escribir y ver lo que se tiene en la base de datos; por lo que, si algún usuario solo realiza la acción de observar el contenido la base de datos y otro usuario puede estar intentando modificar la misma; al usuario que quiere realizar la opción de modificar la base de datos tiene que esperar hasta que el usuario que ingreso primero no estén realizando ya la acción. Y si es en el caso contrario el o los usuarios no podrán leer el contenido de la base de datos por lo que está siendo modificada, y hasta que este termine no podrán acceder. Existe una solución de prioridad en la cual los lectores son los superiores a los escritores (modificadores). Otro ejemplo de este tipo de problemas es: “Hay un objeto de datos (fichero de texto) que es utilizado por varios procesos, unos leen y otro que escribe. Solo puede utilizar el recurso un proceso y solo uno, es decir, o bien un proceso estará escribiendo o bien leyendo, pero nunca ocurrirá simultáneamente (teniendo en cuenta que si no lo está utilizando nadie, tendrá preferencia el escritor ante el lector). ” [2] Cuando un escritor va a realizar su tarea debe estar preparado para no interferir los procesos lectores, las mismas que presentan las siguientes restricciones.
  • 4. En este tipo de problemas existen varias restricciones que han de seguirse:  Sólo se permite que un escritor tenga acceso al objeto al mismo tiempo. Mientras el escritor esté accediendo al objeto, ningún otro proceso lector ni escritor podrá acceder a él.  Se permite, sin embargo, que múltiples lectores tengan acceso al objeto, ya que ellos nunca van a modificar el contenido del mismo. En este tipo de problemas es necesario disponer de servicios de sincronización que permitan a los procesos lectores y escritores sincronizarse adecuadamente en el acceso al objeto. PRIMER PROBLEMA DE LOS LECTORES-ESCRITORES [3] Como primer problema tenemos un área de memoria compartida con las restricciones detalladas anteriormente. Podemos proteger los datos compartidos detrás de una exclusión mutua, en cuyo caso no hay dos hilos donde pueden acceder a los datos al mismo tiempo. Sin embargo, esta solución no es óptima, ya que un lector de R 1 pudiera tener la cerradura, y luego otro lector de R solicitudes de acceso. Es por esto la restricción de que ningún lector se hizo esperar si la participación está abierta actualmente para la lectura. Figura 1: Lectores-escritores SEGUNDO PROBLEMA DE LOS LECTORES-ESCRITORES [3] La motivación para el segundo problema de los lectores-escritores es, en la que se añade la restricción de que ningún escritor, una vez añadido a la cola, se hizo esperar más de lo necesario. Esto también se llama escritores preferencia.
  • 5. Figura 2: Lectores-escritores TERCER PROBLEMA DE LOS LECTORES-ESCRITORES [3] El tercer problema de los lectores- escritores, añade la restricción de que ningún hilo se permitirá a morir de hambre; es decir, la operación de obtener un bloqueo en los datos compartidos siempre terminará en una cantidad limitada de tiempo. Figura 3: lectores-escritores CONCLUSIONES. Este problema de lectores y escritores se debe tomar en cuenta en la creación de un Sistema Operativo para el control de concurrencias, ya que esto no se trata de solo bloquear y habilitar recursos compartidos para los procesos que los utilizan, sino también es importante diferenciar entre las operaciones que se realizan en esas áreas compartidas, tales como: en variables, en memoria, registros, archivos, tablas, etc. Se debe saber cuáles son de lectura y cuales son de escritura, este proceso es muy crítico, porque si la operación que se está realizando sobre los archivos es de lectura y no afecta el valor de la variable o el contenido de un archivo, debería poder compartirse el archivo de manera simultánea como al de un proceso, lo critico es (cuidando la consistencia y la coherencia de los datos de un archivo), que se escriba sobre ellos. De esta manera los Sistemas Operativos tienen muy bien programados sus algoritmos de lectura y escritura, no solo para saber si el recurso está siendo utilizado por
  • 6. un proceso, sino también para saber qué tipo de operación se está realizando sobre el mismo. Por eso se deben satisfacer las siguientes condiciones o reglas:  Cualquier número de lectores puede leer el archivo simultáneamente. o Esto quiere decir que si solo se está leyendo el archivo, cualquier cantidad de procesos pueden también estar leyendo al mismo tiempo.  Solo puede escribir en el archivo un escritor en cada instante. o Esto se refiere a que si se está escribiendo el archivo solo se puede estar haciendo este proceso, los demás procesos podrían quedarse como ciclos pendientes en la programación del Sistema Operativo.  Si un escritor está accediendo al archivo, ningún lector puede leerlo. o De alguna manera, si se está escribiendo, nadie puede leer el archivo porque está siendo modificado, es por eso que no se puede acceder al archivo. RECOMENDACIONES. Los lectores y escritores, es un tipo de problema clásico de comunicación entre procesos, que a su vez es de suma importancia en el momento de empezar a crear un Sistema Operativo para el control de concurrencias. Por eso, si se va a diseñar un Sistema Operativo se debe tomar en cuenta este tipo de problema en su creación y diseño, observando y analizando detenidamente el algoritmo que se enfrasca en el problema de lectores y escritores. Biografía Edsger W. Dijkstra Nació el 11 de Mayo de 1930 en Rotterdam, Netherlands, Falleció el 6 de Agosto de 2002 a los 72 años en Nuenen, Netherlands. Holandés Informático y Matemático, trabajó como Programador en Mathematisch Centrum en Amsterdam (1952 1962), fue profesor de Matemáticas en Eindhoven University of Technology(1962-1984) En 1968 Dijkstra fue quien dio una solución al problema de la exclusión
  • 7. mutua, con la introducción del concepto de semáforo binario. Está herramienta de sincronización brinda una solución al problema de la exclusión mutua restringiendo el acceso simultáneo a los recursos compartidos [4] Trabajos citados [2] Comunicacion entre procesos S.O. (s.f.). Obtenido de https://www.scribd.com/doc/91486 274/Problema-de-Comunicacion- Entre-Procesos-Sistemas-Operativos- 1#scribd DISCA/DSIC, E. d. (s.f.). Comunicacion y sincronizacion de procesos. Obtenido de http://www.redes- linux.com/apuntes/so1/teoria/tema 4.pdf [3] Problemas Clasicos comunicación entre procesos. (s.f.). Obtenido de http://lsi.vc.ehu.es/pablogn/docenci a/manuales/SO/TemasSOuJaen/CON CURRENCIA/4ProblemasClasicosdeC omunicacionentreProcesos.htm [2] Wiki. (s.f.). Obtenido de Enciclopedia Libre: https://es.wikipedia.org/wiki/Edsger _Dijkstra [4] Wikipedia. (s.f.). Obtenido de Enciclopedia Libre: https://en.wikipedia.org/wiki/Reader s%E2%80%93writers_problem