La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Desventajas Poco eficiente: lectura y escritura en disco es lenta Necesita otro mecanismo de sincronización para acceder a los datos Son los procesos."— Transcripción de la presentación:

1

2 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.

3 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.

4 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

5 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);

6 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.

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

8 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.

9 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.

10

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

12 ● 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.

13 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.

14 ¿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.

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

16 ¿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)

17 ¿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.

18 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.

19


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

Presentaciones similares


Anuncios Google