Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos.

Slides:



Advertisements
Presentaciones similares
Tabla de Contenido Concurrencia.
Advertisements

Arquitectura de Sistema de E/S
UNIX COMP 240.
Sistema operativo Componentes de un sistema operativo
Supervisión del rendimiento de SQL Server
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Estructura de un Sistema Operativo
“Tuning” Universidad Nacional Autónoma de México Bases de datos I
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Ana Lucia Farfan Estrada. Angela Aybar Rengifo.
TRABAJO DE SISTEMAS OPERATIVOS
Estructuras en Sistemas Operativos
Windows XP sp3.
Comunicación y sincronización entre procesos
Comunicación y sincronización de procesos Comunicación por tuberías.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Mejoras a las Máquinas Von Neumann
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Elemento Lógico (Software)
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Unidad III Administración de procesos
Sistemas en tiempo real (STR)
BASE DE DATOS BY: Julián Villar Vázquez.
SISTEMAS OPERATIVOS.
Arquitectura NFS El servidor NFS exporta uno o más directorios
Hilos En La Computación. (THREADS).
 El acceso concurrente a datos compartidos puede dar pie a inconsistencia de datos  Mantener la consistencia de los datos requiere mecanismos para asegurar.
Monitores Mecanismo sincronización de nivel más alto que semáforos Construcción a nivel de lenguaje de programación que controla el acceso a datos compartidos.
Sincronización de Procesos
Monitores Cabudare, noviembre de 2010 Universidad Fermín Toro
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
Tema 5: Multiprocesadores
Teoría de Sistemas Operativos Sistemas Archivos de Red
1 Ana Mercedes Cáceres Instructor: Raúl Aguilar Año 2006 [Parte I ]
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Teoría de Sistemas Operativos Sistemas distribuidos.
VIRTUALIZACIÓN.
Cliente-Servidor La arquitectura cliente-servidor permite al usuario en una máquina, llamada el cliente, requerir algún tipo de servicio de una máquina.
Licenciatura Tecnologías de la Información y Comunicación
Elementos y tipos de sistemas operativos
UNIDAD I INTRODUCCION A LOS S.O.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Un Sistema Operativo (SO) es el software básico de una computadora que provee una interfaz entre el resto de programas del ordenador, los dispositivos.
MEMORIA DINÁMICA.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
TEMA 2: HARDWARE Y SISTEMAS OPERATIVOS
TEMA 2 PHP. Introducción e Instalación índice 1. Introducción 6. Primera Prueba 2. Requisitos 3. ¿Qué es MySQL? 4. ¿Qué es Apache? 5. WAMPServer Raquel.
 Modelo de Datos MD  Conjunto de conceptos que permiten describir, a distintos niveles de abstracción, la estructura de una B.D. Que llamaremos ESQUEMA.
Gestión de Memoria – Parte 2
Arquitectura y Sistemas Operativos Gestión de Memoria Parte 1 1 Gestión de Memoria – Parte 1 Agenda Parte 1 –RequisitosRequisitos –EvoluciónEvolución –Carga.
Arquitectura de Computadores Clase 21 Memoria Virtual IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería.
SISTEMAS OPERATIVOS Contenido: Descripción del proceso proceso nulo estado del procesador imagen del proceso información del BCP Miguel Ángel Martínez.
Introducción a Bases de Datos Universidad de Managua.
TEMA 8 Introducción a Windows 2008 Server Msc. Rina Arauz.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
This y static. This Normalmente, dentro del cuerpo de un método de un objeto se puede referir directamente a las variables miembros del objeto. Sin embargo,
Interfaz de programación de aplicación 5R1221. Las API’s API es la abreviatura de Aplication Programming Interface. Un API no es más que una serie de.
Procesos Un proceso es un programa en ejecución. Modelo de procesos secuenciales. Abstracción del SO.
JANITH SULAY JAIMES PABON GIOVANNY JIMÉNEZ GÓMEZ JOHN ANDRES AYALA ANGARITA SERGIO ANDRES ARAQUE BERMUDEZ GESTIÓN DE ALMACENAMIENTO SECUNDARIO.
Entrada y Salida en C++, Estructuras de Control Prof. Manuel B. Sánchez.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
Estructura del sistema operativo
Universidad de Panamá Facultad de Informática Programación V Tema: Monitores Profesor: Daniel Serrano Integrantes: Avelino Machuca Meybelin Rojas Jorge.
Asignaturas: Informática/Electiva I. Definición de Sistema operativo Conceptos Básicos Funciones de los Sistemas Operativos Clasificación Componentes.
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
GRUPO N°1 – SISTEMAS OPERATIVOS DISTRIBUIDOS LLAMADA A PROCEDIMIENTO REMOTO.
1 Tema 8: Sincronización y Comunicación Sistemas Operativos.
Transcripción de la presentación:

Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos pueden intercambiar datos entre ellos. Ventajas: Número ilimitado de procesos, siempre y cuando tengan permisos. Los servidores de archivos ofrecen servicios fáciles de usar.

Una tubería es un mecanismo de comunicación y sincronización. Desde el punto de vista de su utilización, es como un seudoarchivo mantenido por el sistema operativo. El flujo de datos en la comunicación empleando tuberías es unidireccional y FIFO, esto quiere decir que los datos se extraen de la tubería (mediante la operación de lectura) en el mismo orden en el que se insertaron (mediante la operación de escritura). P [0] P[1] DATOS Tipos de tuberías: Sin nombre (pipes): se pueden utilizar solamente entre los procesos que descienden del proceso que creó la tubería. Con nombre (FIFOS): se pueden utilizar para comunicar y sincronizar procesos independientes.

Escritura en una tubería : Introduce datos en orden FIFO en la misma Si la tubería está llena o se llena durante la escritura → escritor se bloquea hasta que pueda completar. Si no hay ningún proceso con la tubería abierta para lectura → la operación devuelve error. Escritura atómica: si dos procesos intentan escribir de forma simultánea, sólo uno lo hace y el otro se bloquea hasta que finalice Lectura de una tubería: Se obtienen los datos almacenados y se eliminan Si la tubería está vacía → se bloquea el lector hasta que haya algún escritor que escriba datos

Creación de un «pipe»: int pipe(int fildes[2]); Cierre de un «pipe» : int close(int fd); Escritura en un «pipe»: int write(int fd, char *buffer, int n); Lectura de un «pipe» : int read(int fd, char *buffer, int n);

Una señal es una interrupción al proceso; también se puede definir como una notificación por software a un proceso/thread de la ocurrencia de un evento que permite asociar señales independientes a cada proceso.

Generada. Depositada. Tiempo de vida. Pendiente. Atrapada. Ignorada. Bloqueada.

Síncronas: son aquellas que son generadas por la ejecución del código, y por tanto son generadas por un thread concreto. Asíncronas: el resto de señales producidas por llamas explícitas o por eventos no asociados al código en ejecución.

Un semáforo es un mecanismo de sincronización que se utiliza generalmente en sistemas con memoria compartida, bien sea un monoprocesador o un multiprocesador.

es aquel tipo de memoria que puede ser accedida por múltiple programas, ya sea para comunicarse entre ellos o para evitar copias redundantes.

● Software ● Un método de comunicación entre procesos, por ejemplo: el intercambio de datos entre dos programas ejecutándose al mismo tiempo. ● Este sistema es menos potente: los procesos que se comunican deben ejecutarse en la misma máquina. ● Esto se debe a que se requiere mayor atención y cuidado si los procesos que comparten memoria corren en CPUs separadas y la arquitectura subyacente no soporta coherencia de caché. ● Hardware ● situación dónde cada nodo comparte sus tablas de páginas, su memoria virtual y todo lo que habita en la memoria RAM con otros nodos en la misma red de interconexión.

Como crearía una memoria compartida ● CreateSharedMemory ● CreateFileMapping ● MapViewOfFile ● Algunas bibliotecas para C++ proporcionan acceso portable y orientado a objetos de la memoria compartida. ● Boost ● Interprocess ● Qt proporciona QSharedMemory. ● Además de C/C++ hay otros lenguajes con soporte nativo para memoria compartida. ● PHP.

¿Que es mutex? Es un mecanismo de sincronizacion sencillo y eficiente, que permite a los hilos asegurar la integrida de los recursos compartido al que este tenga acceso.

 Existen dos tipos de operaciones a realizar con un mutex: ● LOCK ● UNLOCK:

¿Qué es una variable condicional y cuál es su uso? Es una variable de sincronización, las variables de condición son usadas en conjunto con mutex permiten a un hilo esperar por la ocurrencia de una condición arbitraria. Tres operaciones atómicas asociadas: Esperar (wait) Señalizar (signal) Señalización global (broadcast)

¿Qué son y en qué consisten los monitores? Un monitor es un conjunto de procedimientos el cual consiste en proporciona el acceso con exclusión mutua a un recurso o conjunto de recursos.

Funcionamiento: Wait y Signal, y actúan sobre variables condición que son colas y además no tienen valor. cwait (c): suspende la ejecución del proceso que llama bajo la condición c. El monitor está ahora disponible para ser usado por otros procesos. csignal(c): reanuda la ejecución de algún proceso suspendido después de un cwait bajo la misma condición. Si hay varios procesos, se elige uno de ellos; si no hay ninguno, no hace nada.