Comunicación y sincronización de procesos

Slides:



Advertisements
Presentaciones similares
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Advertisements

Memoria Compartida Llave de acceso Segmento Compartido 1234 estructura
Definición Las colas ofrecen dos operaciones fundamentales, que son encolar (al final de la cola) y desencolar (del comienzo de la cola). Al igual que.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
INTRODUCCION A MIDI Mensajes MIDI
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas
Maquina Virtual La máquina virtual de Java o JVM es un entorno de ejecución para aplicaciones de Java, cuya finalidad es la de adaptar los programas Java.
Sintaxis básica del lenguaje
Entornos de programación
Comunicación entre procesos en Linux
Concurrencia en JAVA JAVA es un lenguaje que tiene soporte de concurrencia, mediante Threads. Un thread es un proceso “liviano” (lightweight process) que.
SISTEMAS OPERATIVOS UNIDAD 1..
Comunicación y sincronización de procesos Comunicación por tuberías.
1 IPC - Inter Process Communication Memoria – Pipes – Sockets – Rendez Vous - Mailbox.
Estructuras de datos M.I.A Daniel Alejandro García López.
1 E/S Driver Impresora –Airam Godoy Hernández –Jose Yeray Suárez Perdomo.
MINIX FILE SYSTEM Cátedra: Diseño e Implementación de Sistemas Operativos UTN-FRSF Tomado de: Sistemas Operativos Diseño e Implementación - A.S.Tanenbaum.
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
Modificadores.
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
Multiprogramación Procesos Cecilia Hernández
Pilas Una pila es una estructura lineal de elementos en donde se pueden agregar o eliminar datos únicamente por uno de los dos extremos. En consecuencia.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Informática Ingeniería en Electrónica y Automática Industrial
Archivos. fopen(...) Para comenzar a utilizar un archivo primero se debe abrir, invocando a la función fopen(...) FILE * fopen(char* nombre_arch, char*
Signal, kill, sigaction y máscara de señales
SCJP Sun Certified Programmer for Java 6
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
1 Amelia Guillén Rodríguez Michael Kokaly Kokaly Linux : Pipe.
Numeric Types, Expressions, and Output
Unidad III Administración de procesos
Archivos.
Framework Class Library (FCL) Dr. Diego Lz. de Ipiña Gz. de Artaza
1 Chapter 12 Arrays Dale/Weems/Headington. 2 Chapter 12 Topics l Declaring and Using a One-Dimensional Array l Passing an Array as a Function Argument.
Process M.C. Juan Carlos Olivares Rojas Operating Systems February, 2009.
FACILIDADES IPC MC Hilda Castillo Zacatelco.
Profesor: Rodrigo Sanhueza Figueroa
Correo electrónico Internet
Tipo de Datos Básicos.
El lenguaje de programación C - Identificadores y variables – Isidro González Caballero ( Introducción.
1 Estructuras de Datos Elementales:stacks (pilas), queues (colas), linked lists (listas enlazadas), y rooted trees (árboles con raíz) Agustín J. González.
Introducción Entrada/Salida L.P.S.I.
ELO3201 Contenedores Biblioteca Estándar de Templates Agustín J. González ELO320 Contenido Contenedores: Vector, List, Deque, Stack, Queue, Priority Queue,
ICC243 Sistemas Operativos P03: Introducción: Conceptos Prof. Jonathan Makuc.
de septiembre.  ¿Qué hora es? La participación #1 = dibuja una FLOR GRAN DE 3. 4.
Clasificación de los TDA
Sistemas Operativos Semáforos.
Unidad 2 REUTILIZACIÓN DE CLASES Programación Orientada a Objetos M.S.C. Ivette Hernández Dávila.
Memoria Compartida Distribuida José A. Gil Salinas Universidad Politécnica de Valencia Departamento de Informática de Sistemas y Computadores.
ELO3091 Interfaz de Socket Agustín J. González ELO309.
El núcleo del sistema operativo
Programación Orientada a Objetos
SEMÁFOROS §Conceptos l Mecanismo para prevenir la colisión que se produce cuando dos o más procesos solicitan simultáneamente el uso de un recurso que.
Programación Procedural y Recursiva en C++
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Introducción Nivel 4. Modelo OSI Propiedades Nivel 4 Entrega de mensajes garantizada. Entrega de mensajes en el mismo orden en el que fueron enviados.
UTFSM - Sistemas Operativos
Presentación de la solución Junio Concepto ROUTING TIER ROUTING TIER FRONT END TIER FRONT END TIER COMM TIER COMM TIER TRANSLATE TIER TRANSLATE.
Seminario de TS Teresa Zorrilla Partner Enablement Manager.
C1-Sistemas Distribuidos Concurrencia Varias componentes en una misma máquina-> Concurrencia Inteleaving (1 sola CPU, N procesos) Paralelo (N CPU, M procesos)
FORMAS DE ACCEDER AL FORMULARIO DE REGISTRO:
Pilas Grupo 4. 1 Stack o Pila Definición: Una pila es una estructura de datos, a la cual se le puede ingresar o sacar elementos por un sólo lado. También.
Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.
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.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
SISTEMAS ELECTRÓNICOS 3ºGIERM1 1. Introducción 2. Tipos de datos 3. Estructuras típicas de programación 4. Manejo de bits Tema 7. Programación de microcontroladores.
Programación I :: Prof. Yeniffer Peña Conceptos Avanzados de Programación Presentación.
Transcripción de la presentación:

Comunicación y sincronización de procesos IPC SYSTEM V: Colas de mensajes

Características generales Las colas de mensajes se comparan con un sistema de buzones. Un proceso deposita uno o más mensajes en un “buzón”. Otro proceso (o varios) puede leer cada uno de los mensajes.

Características generales La manipulación de los IPC se efectúa mediante las llamadas de sistema. Las tres llamadas fundamentales de las colas de mensajes son: msgget  Creación msgctl  Control msgsnd, msgrcv  Comunicación

Características generales Estructuras de datos Estructuras básicas del sistema. Sólo accesibles a través de las llamadas al sistema: struct msgid_ds struct ipc_perm Estructura específica. Argumento de las llamadas al sistema msgsnd y msgrcv: Estructura del mensaje utilizado (void *p)

Características generales También se utilizan las siguientes constantes: IPC_NOWAIT IPC_RMID IPC_SET IPC_GET IPC_PRIVATE IPC_CREAT IPC_EXCL IPC_KERNELD IPC_INFO

Estructuras de datos asociadas Estructura msgid_ds Asociada a cada colas Se crea al hacer la llamada msgget Su estructura interna es:

Estructuras de datos asociadas struct msqid_ds { struct ipc_perm msg_perm; struct msg *msg_first; /* first message on queue */ struct msg *msg_last; /* last message in queue */ __kernel_time_t msg_stime; /* last msgsnd time */ __kernel_time_t msg_rtime; /* last msgrcv time */ __kernel_time_t msg_ctime; /* last change time */ struct wait_queue *wwait; struct wait_queue *rwait; unsigned short msg_cbytes;/*current number of bytes on queue*/ unsigned short msg_qnum; /* number of messages in queue */ unsigned short msg_qbytes; /* max number of bytes on queue */ __kernel_ipc_pid_t msg_lspid; /* pid of last msgsnd */ __kernel_ipc_pid_t msg_lrpid; /* last receive pid */};

Estructuras de datos asociadas

Estructuras de datos asociadas Estructura ipc_perm Asociada a cada colas Registra los permisos de operación Su estructura interna es:

Estructuras de datos asociadas struct ipc_perm { __kernel_key_t key; __kernel_uid_t uid; __kernel_gid_t gid; __kernel_uid_t cuid; __kernel_gid_t cgid; __kernel_mode_t mode; unsigned short seq; };

Estructuras de datos asociadas Estructura msginfo

Estructuras de datos asociadas Estructura msg /*one msg structure for each message */ struct msg { struct msg *msg_next; /*next message on queue*/ long msg_type; char *msg_spot; /*message text address*/ time_t msg_stime; /* msgsnd time */ short msg_ts; /* message text size */ };

Estructuras de datos asociadas Estructura msgbuf

Llamadas al sistema Msgget Msgctl Retorna un descriptor de cola de mensajes IPC_CREAT: Si no existe descriptor Error : retorna -1 y errno tendrá el código Msgctl Se accede a los campos de control de la estructura msgid_ds

Llamadas al sistema Msgsnd Enviará un mensaje a la cola indentificada por msqid Error : retorna -1 y errno tendrá el código Recibirá un mensaje de la cola indentificada por msqid