SlideShare una empresa de Scribd logo
1 de 9
Escuela: sistemas
Tema: Problemas clásicos de IPC
(lectores y escritores)
Integrantes: Gabriel Calderón
Lectores y Escritores
En el presente trabajo resolveremos un
problema clásico dentro del mundo de los
sistemas operativos.
Resolvemos el problema de Lectores/Escritores
con prioridad Lectores.
Presentaremos un programa que muestra por
pantalla la información que posee el archivo
pasado como parámetro por el usuario.
ANALISIS DEL PROBLEMA
Existe un área de datos compartida entre una serie de
procesos, algunos sólo leen los datos (lectores) y otros sólo
escriben datos (escritores). El problema es satisfacer las
siguientes condiciones:
    1. Cualquier número de lectores puede leer el archivo
simultáneamente.
    2. En el archivo sólo puede escribir un escritor en cada
instante.
   3. Si un escritor está accediendo al archivo, ningún lector
puede leerlo.
El problema general de exclusión mutua, consiste en permitir
a cualquiera de los procesos (lectores o escritores) leer o
escribir en el área de datos.
PLANTEAR SOLUCION

En esta solución, el primer lector que obtiene el
acceso a la base de datos realiza un while sobre
el semáforo bd. Los lectores siguientes sólo
incrementan un contador, rc. Al salir los lectores,
éstos decrementan al contador, y el último en
salir realiza un signal sobre el semáforo, lo que
permite entrar a un escritor bloqueado, si existe.
PRIORIDAD A LOS LECTORES
Es una solución que utiliza semáforos para respetar
la exclusión mutua. Se permite el acceso a varios
lectores, pero mientras que un escritor está
accediendo a los datos compartidos, no se permite
acceder a ningún escritor o lector.
El primer lector que intenta acceder debe esperar
en el semáforo, Cuando haya al menos un lector, los
lectores siguientes no necesitan esperar para
entrar, se les da prioridad.
PRIORIDAD A LOS ESCRITORES
Esta solución garantiza que no se permitirá
acceder a los datos a ningún nuevo lector una
vez que, al menos, un escritor haya declarado su
deseo de escribir. Se utilizan los mismos
semáforos que en la solución anterior y se
añaden otros más.
ALGORITMO
Lector
Esperar a que no haya escritores
acceder a la b.d.
Avisar a los escritores que esperan

Escritor
Esperar a que no haya lectores ni escritores
acceder a la b.d.
Avisar a los lectores o escritores que esperan
CODIGO
Lectores y escritores

Más contenido relacionado

La actualidad más candente

PROBLEMA DE LECTORES Y ESCRITORES DE UNA IPC
PROBLEMA DE LECTORES Y ESCRITORES DE UNA IPCPROBLEMA DE LECTORES Y ESCRITORES DE UNA IPC
PROBLEMA DE LECTORES Y ESCRITORES DE UNA IPC
falco87
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
omfib123
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesos
Abimael hernandez
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
sueich
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas Operativos
G Hoyos A
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacion
IrisMTF16
 

La actualidad más candente (20)

Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Ventajas y desventajas
Ventajas y desventajasVentajas y desventajas
Ventajas y desventajas
 
PROBLEMA DE LECTORES Y ESCRITORES DE UNA IPC
PROBLEMA DE LECTORES Y ESCRITORES DE UNA IPCPROBLEMA DE LECTORES Y ESCRITORES DE UNA IPC
PROBLEMA DE LECTORES Y ESCRITORES DE UNA IPC
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Línea del tiempo de sistemas operativos
Línea del tiempo de sistemas operativosLínea del tiempo de sistemas operativos
Línea del tiempo de sistemas operativos
 
Procesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o HebrasProcesos Ligeros: Hilos o Hebras
Procesos Ligeros: Hilos o Hebras
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesos
 
Evolución de linux
Evolución de linuxEvolución de linux
Evolución de linux
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUM
 
Cuadro Comparativo sobre Sistemas Operativos.
Cuadro Comparativo sobre Sistemas Operativos. Cuadro Comparativo sobre Sistemas Operativos.
Cuadro Comparativo sobre Sistemas Operativos.
 
Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]Control de Flujo [Telecomunicaciones]
Control de Flujo [Telecomunicaciones]
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
 
Protocolo de capa 3
Protocolo de capa 3Protocolo de capa 3
Protocolo de capa 3
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas Operativos
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Multiprogramacion
MultiprogramacionMultiprogramacion
Multiprogramacion
 

Destacado

SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
lorenapardo
 
Nachos sistema operativo
Nachos sistema operativoNachos sistema operativo
Nachos sistema operativo
mahc83
 
Mapa conceptual recursos web
Mapa conceptual recursos webMapa conceptual recursos web
Mapa conceptual recursos web
marthampd
 
La formación del lector y el escritor
La formación del lector y el escritorLa formación del lector y el escritor
La formación del lector y el escritor
yanalmyangel
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
Tecnologico de pinotepa
 
Verbos en pasado simple
Verbos en pasado simpleVerbos en pasado simple
Verbos en pasado simple
jote1981
 
La lectura[1]
La lectura[1]La lectura[1]
La lectura[1]
luciabaza
 

Destacado (20)

Problema de los Filosofos
Problema de los FilosofosProblema de los Filosofos
Problema de los Filosofos
 
Problema del barbero durmiente
Problema del barbero durmienteProblema del barbero durmiente
Problema del barbero durmiente
 
Barbero Dormilon
Barbero DormilonBarbero Dormilon
Barbero Dormilon
 
Construcción de lectores y escritores
Construcción de lectores y escritoresConstrucción de lectores y escritores
Construcción de lectores y escritores
 
Panaderia lamport
Panaderia lamportPanaderia lamport
Panaderia lamport
 
Kernel de los sistemas operativos
Kernel de los  sistemas operativosKernel de los  sistemas operativos
Kernel de los sistemas operativos
 
Filósofos
FilósofosFilósofos
Filósofos
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
 
Fumadores
FumadoresFumadores
Fumadores
 
Lector escritor UPSE
Lector escritor UPSELector escritor UPSE
Lector escritor UPSE
 
Sistemas operativos tarea 3
Sistemas operativos tarea 3Sistemas operativos tarea 3
Sistemas operativos tarea 3
 
Sistema operativo NachOS
Sistema operativo NachOSSistema operativo NachOS
Sistema operativo NachOS
 
Nachos sistema operativo
Nachos sistema operativoNachos sistema operativo
Nachos sistema operativo
 
Mapa conceptual recursos web
Mapa conceptual recursos webMapa conceptual recursos web
Mapa conceptual recursos web
 
La formación del lector y el escritor
La formación del lector y el escritorLa formación del lector y el escritor
La formación del lector y el escritor
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
 
Verbos en pasado simple
Verbos en pasado simpleVerbos en pasado simple
Verbos en pasado simple
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
La lectura[1]
La lectura[1]La lectura[1]
La lectura[1]
 
Literatura antigua y clasica
Literatura antigua y clasicaLiteratura antigua y clasica
Literatura antigua y clasica
 

Lectores y escritores

  • 1. Escuela: sistemas Tema: Problemas clásicos de IPC (lectores y escritores) Integrantes: Gabriel Calderón
  • 2. Lectores y Escritores En el presente trabajo resolveremos un problema clásico dentro del mundo de los sistemas operativos. Resolvemos el problema de Lectores/Escritores con prioridad Lectores. Presentaremos un programa que muestra por pantalla la información que posee el archivo pasado como parámetro por el usuario.
  • 3. ANALISIS DEL PROBLEMA Existe un área de datos compartida entre una serie de procesos, algunos sólo leen los datos (lectores) y otros sólo escriben datos (escritores). El problema es satisfacer las siguientes condiciones: 1. Cualquier número de lectores puede leer el archivo simultáneamente. 2. En el archivo sólo puede escribir un escritor en cada instante. 3. Si un escritor está accediendo al archivo, ningún lector puede leerlo. El problema general de exclusión mutua, consiste en permitir a cualquiera de los procesos (lectores o escritores) leer o escribir en el área de datos.
  • 4. PLANTEAR SOLUCION En esta solución, el primer lector que obtiene el acceso a la base de datos realiza un while sobre el semáforo bd. Los lectores siguientes sólo incrementan un contador, rc. Al salir los lectores, éstos decrementan al contador, y el último en salir realiza un signal sobre el semáforo, lo que permite entrar a un escritor bloqueado, si existe.
  • 5. PRIORIDAD A LOS LECTORES Es una solución que utiliza semáforos para respetar la exclusión mutua. Se permite el acceso a varios lectores, pero mientras que un escritor está accediendo a los datos compartidos, no se permite acceder a ningún escritor o lector. El primer lector que intenta acceder debe esperar en el semáforo, Cuando haya al menos un lector, los lectores siguientes no necesitan esperar para entrar, se les da prioridad.
  • 6. PRIORIDAD A LOS ESCRITORES Esta solución garantiza que no se permitirá acceder a los datos a ningún nuevo lector una vez que, al menos, un escritor haya declarado su deseo de escribir. Se utilizan los mismos semáforos que en la solución anterior y se añaden otros más.
  • 7. ALGORITMO Lector Esperar a que no haya escritores acceder a la b.d. Avisar a los escritores que esperan Escritor Esperar a que no haya lectores ni escritores acceder a la b.d. Avisar a los lectores o escritores que esperan