Está en la página 1de 19

Transcripcin de Comunicacin y Sincronizacin de los Sistemas Operativos

Comunicacin y Sincronizacin de los Sistemas Operativos


Indicadores de Eventos ms comunes

Buzones
- Un buzn puede considerarse en lo abstracto como un objeto en el que los
procesos pueden colocar mensajes y del cual se pueden sacar mensajes.

- Un enlace de comunicacin tiene varias propiedades


Se establece un enlace entre un par de procesos slo si tienen un buzn
compartido.
Un enlace puede estar asociado a ms de dos procesos.
Entre cada par de procesos en comunicacin puede haber varios enlaces
distintos, cada uno de los cuales corresponder a un buzn.
Los enlaces pueden ser unidireccionales o bidireccionales.

Formatos de Mensajes
- Fijo: Los procesos acuerdan emplear un formato fijo para sus mensajes.

- Variable: Los procesos pueden variar con respecto a sus formatos para mostrar
los mensajes

- Mixto: Los procesos acuerdan emplear mensaje con partes cuyo formato es fijo,
como por ejemplo una cabecera inicial, seguido de partes de tamao variable.

Almacenamiento
El almacenamiento se pude definir como un grupo de dispositivos de hardware o
software dedicados a guardar datos y por extensin a administrarlos y buscarlos.
Se han inventado varias formas de almacenamiento basadas en diversos
fenmenos naturales. No existen ningn medio de almacenamiento de uso
prctico universal y todas las formas de almacenamiento tienen sus desventajas.

Archivos Compartidos
El uso compartido de archivos electrnicos, tambin llamado transferencia de
archivos entre usuarios de una red y comnmente conocido como P2P (por su
abreviatura de peer-to-peer), permite que los usuarios puedan compartir archivos
en lnea mediante una red informal de computadoras que operan el mismo
software.

Los archivos de uso compartido son una propiedad de un archivo informtico que
tiene la caracterstica de ser accedido o manipulado por mltiples personas,
computadoras, sesiones o programas
- Blanco, Csar
- Monsalve, Karen
- Fuentes, Guillermo
Enfocado en un sistema, puede ser cualquier aviso, informe, o notificacin en el
cual el sistema nos proporcione informacin til.

Los diferentes tipos de indicadores pueden ser:

- Avisos: Son los que proporcionan alertas sobre situaciones en la cual pueden
ocurrir sucesos perjudiciales para el sistema o archivos del usuario.

- Alertas: Proporcionan informacin sobre estados crticos del sistema o de las


aplicaciones.

Indicadores de Eventos ms comunes


- Ayuda: Proporcionan tips, consejos, y guas para el uso correcto y eficaz del
sistema.
- Informacin: Son los que muestran informacin de acontecimientos del sistema o
algn hecho relevante.
- Solicitudes: Notifican al usuario que alguna aplicacin requiere informacin
delicada o permisos adicionales, y requiere una respuesta de afirmacin o rechazo
ante dicho suceso.

Comunicacin y Sincronizacin
Es una funcin bsica de los sistemas operativos. Los procesos pueden
comunicarse entre s a travs de compartir espacios de memoria, ya sean
variables compartidas o buffers, o a travs de las herramientas provistas por las
rutinas de IPC. La IPC provee un mecanismo que permite a los procesos
comunicarse y sincronizarse entre s, normalmente a travs de un sistema de bajo
nivel de paso de mensajes que ofrece la red subyacente.

Buzones
Con los buzones se pueden emplear cuatro formas diferentes de comunicacin:

- Buzn limitado : De un proceso a otro.

- Buzn de entrada: De varios a uno.

- Buzn de salida: De uno a varios.

- Buzn mltiple: Varios procesos entre s con el mismo buzn.


Mltiples unidades de Almacenamiento

- Disco duro

- CD-ROMS o DVD-ROMS
- Memorias flash o USB

Mltiples clases de almacenamiento


- Primario
- Secundario
- Terciario

Cmo puede compartirse un grupo de archivos

Entre distintas computadoras de una red, con diferentes permisos para cada una
de ellas.
Entre distintas computadoras por internet, con programas especiales como los
peer to peer.
Entre distintas sesiones de usuarios de un sistema operativo
Entre distintos programas que utilizan iguales archivos.

Aspectos bsicos de uso compartido de archivos


La forma ms fcil de compartir archivos en una red domstica consiste en crear
o unirse a un grupo en el hogar. Un grupo en el hogar es un conjunto de equipos
que comparten imgenes, msica, vdeos, documentos e incluso impresoras. Es
necesario que los equipos ejecuten el mismo sistema operativo para poder
participar en un grupo en el hogar.

Cuando configure o se una a un grupo en el hogar, deber indicar al sistema


operativo qu carpetas o bibliotecas desea compartir y cules desea que sean

privadas. A partir de este momento, el sistema operativo alternar


automticamente entre las opciones correspondientes. Los dems usuarios no
pueden cambiar los archivos compartidos a menos que les d permiso. Adems,
puede proteger el grupo en el hogar con una contrasea que se puede cambiar en
cualquier momento.

Permisos de uso compartido


En un sistema operativo no solo se decide quin puede ver un archivo, sino
tambin qu pueden hacer con l los destinatarios. Estos permisos se denominan
permisos de uso compartido. Dispone de dos opciones:

Lectura. La opcin "mira pero no toques". Los destinatarios pueden abrir un


archivo, pero no modificarlo ni eliminarlo.

Lectura y escritura. La opcin "haz lo que quieras". Los destinatarios pueden


abrir, modificar o eliminar un archivo.

Comunicacin y Sincronizacin
Es la coordinacin y cooperacin de un conjunto de procesos para asegurar la
comparacin de recursos de cmputo. La sincronizacin entre procesos es
necesaria para prevenir y/o corregir errores de sincronizacin debidos al acceso
concurrente a recursos compartidos, tales como estructuras de datos o
dispositivos de E/S, de procesos contendientes.

Aplicacin a partir de un sistema operativo


Son programas que utilizan los servicios bsicos del sistema operativo (dependen
de este) y realizan una gestin concreta y especializada.
Aplicaciones ms usadas:
Tratamiento de textos
Edicin de imgenes

Gestin de hojas de clculo


Gestin de hojas de contabilidad entre otras

Aplicacin a partir de un sistema operativo


Algunas aplicaciones puede realizar tareas amplias y variadas, otros estn
diseados para solucionar problemas ms concretos.

Las aplicaciones suelen disearse para la automatiza con de ciertas tareas


complicadas o tediosas, como pueden serla contabilidad, redaccin de
documentos o la gestin de un almacn

Transcripcin de Comunicacin y Sincronizacin de los sistemas distribuidos


Implementacin de un sistema de archivo distribuido
La interfaz del servicio de archivos
La interfaz del servidor de directorio
Formato de los archivos
Estructura de los mensajes

Formato de los mensajes


Los procesos acuerdan emplear un formato fijo para sus mensajes, haciendo
posible la comunicacin entre computadores con diferente hardware y diferentes
capacidades.

Fijo
Los procesos acuerdan emplear un formato fijo para sus mensajes.

Variable
Los procesos pueden variar con respecto a sus formatos para mostrar los
mensajes

Aplicacin a partir de un sistema operativo


Comunicacin y sincronizacin
La sincronizacin es la transmisin y recepcin de seales que tiene por objeto
llevar a cabo el trabajo de un grupo de procesos cooperativos, en muchos casos,
los procesos se renen para realizar tareas en conjunto, a este tipo de relacin se
le llama procesos cooperativos.
Para lograr la comunicacin, los procesos deben sincronizarse, de no ser as
pueden ocurrir problemas no deseados.

Buzones
Un buzn puede considerarse en lo abstracto como un objeto en el que los
procesos pueden colocar mensajes y del cual se pueden sacar mensajes. Cada
buzn tiene una identificacin nica. Aqu dos procesos se pueden comunicarse
slo si comparten un buzn.

Comunicacin y sincronizacin
La comunicacin entre procesos (comnmente IPC, del ingls Inter-Procesos
Comunicacin) es una funcin bsica de los sistemas operativos.

Los procesos pueden comunicarse entre s a travs de compartir espacios de


memoria, ya sean variables compartidas o buffers, o a travs de las herramientas
provistas por las rutinas de IPC
Comunicacin y Sincronizacin de los sistemas distribuidos
Indicadores de eventos ms comunes

En todo sistema operativo, por ms sencillo que pueda ser, deben existir los
llamados indicadores. Un indicador es sencillamente algo o alguien que
proporciona bien sea informacin, caractersticas, problemas, errores, etc.

Almacenamiento y archivos compartidos


Almacenamiento
En informtica, se conoce como sistema de almacenamiento distribuido todo aquel
que permite almacenar ficheros online. Su principal caracterstica es la poder
guardar archivos (documentos, imgenes, vdeos, etc.) en la red.
Son programas que utilizan los servicios bsicos del sistema operativo (dependen
de este) y realizan una gestin concreta y especializada.
Aplicaciones ms usadas:
Tratamiento de textos
Edicin de imgenes
Gestin de hojas de clculo
Gestin de hojas de contabilidad entre otras.
Comunicacin y sincronizacin
La comunicacin puede ser:
Sncrona o asncrona
Persistente (persistente) o momentnea (transiten)
Directa o indirecta
Simtrica o asimtrica
Con uso de buffers explcito o automtico
Envo por copia del mensaje o por referencia
Mensajes de tamao fijo o variable

Avisos: Son los que proporcionan alertas sobre situaciones en la cual pueden
ocurrir sucesos perjudiciales para el sistema o archivos del usuario.

Alertas: Proporcionan informacin sobre estados crticos del sistema o de las


aplicaciones.

Ayuda: Proporcionan tipos, consejos, y guas para el uso correcto y eficaz del
sistema.

Informacin: Son los que muestran informacin de acontecimientos del sistema o


algn hecho relevante.

Solicitudes: Notifican al usuario que alguna aplicacin requiere informacin


delicada o permisos adicionales, y requiere una respuesta de afirmacin o rechazo
ante dicho suceso.
Diferentes tipos de aviso
Almacenamiento y archivos compartidos
Archivos compartidos

El uso compartido de archivos electrnicos, tambin llamado transferencia de


archivos entre usuarios de una red y comnmente conocido como P2P (por su
abreviatura de peer-to-peer), permite que los usuarios puedan compartir archivos
en lnea mediante una red informal de computadoras que operan el mismo
software.

Formato de los mensajes


Mixto
Los procesos acuerdan emplear mensaje con partes cuyo formato es fijo, como
por ejemplo una cabecera inicial, seguido de partes de tamao variable.

La interfaz del servicio de archivos


Un aspecto importante del modelo de archivo es si stos se pueden modificar
despus de su creacin. Existen algunos sistemas distribuidos que permiten
nicamente las operaciones de archivos CREATE Y READ. Una vez creado un
archivo no se puede modificar. Se dice que tal archivo es inmutable. Estos
archivos facilitan el ocultamiento y duplicacin de archivos, puesto que esto
elimina todos los problemas asociados con la actualizacin de todas las copias de
un archivo cada vez que ste se modifique

La interfaz del servidor de directorios


Proporciona las operaciones para crear y eliminar directorios, nombrar o cambiar
el nombre de archivo y mover esto de un directorio a otro.
El servicio de directorios define un alfabeto y una sintaxis para formar los nombres
de archivos (y directorio). Lo usual es que los nombres de archivos tengan de uno
hasta un cierto nmero de letras, nmeros y ciertos caracteres especiales.
Formato de los archivos compartidos

Si dos o ms usuarios comparten el mismo archivo, es necesario definir con


precisin la semntica de la lectura y escritura para evitar problemas.

Comunicacin entre procesos


La comunicacin entre procesos (comnmente IPC, del ingls Inter-Process
Communication) es una funcin bsica de los sistemas operativos. Los procesos
pueden comunicarse entre s a travs de compartir espacios de memoria, ya sean
variables compartidas o buffers, o a travs de las herramientas provistas por las
rutinas de IPC. La IPC provee un mecanismo que permite a los procesos
comunicarse y sincronizarse entre s, normalmente a travs de un sistema de bajo
nivel de paso de mensajes que ofrece la red subyacente.

La comunicacin se establece siguiendo una serie de reglas (protocolos de


comunicacin). Los protocolos desarrollados para internet son los mayormente
usados: IP (capa de red), protocolo de control de transmisin (capa de transporte)

y protocolo de transferencia de archivos, protocolo de transferencia de hipertexto


(capa de aplicacin).

Los procesos pueden estar ejecutndose en una o ms computadoras conectadas


a una red. Las tcnicas de IPC estn divididas dentro de mtodos para: paso de
mensajes, sincronizacin, memoria compartida y llamadas de procediemientos
remotos (RPC). El mtodo de IPC usado puede variar dependiendo del ancho de
banda y latencia (el tiempo desde el pedido de informacin y el comienzo del
envo de la misma) de la comunicacin entre procesos, y del tipo de datos que
estn siendo comunicados.

Conceptos bsicos
El sistema operativo provee mnimamente dos primitivas, enviar y recibir,
normalmente llamadas send y receive. Asimismo, debe implementarse un enlace
de comunicacin entre los procesos de la comunicacin. Este enlace puede ser
unidireccional o multidireccional segn permita la comunicacin en solo uno o en
varios sentidos.

Tipos de comunicacin

La comunicacin puede ser:

Sncrona o asncrona
Persistente (persistent) o momentnea (transient)
Directa o indirecta
Simtrica o asimtrica
Con uso de buffers explcito o automtico
Envo por copia del mensaje o por referencia
Mensajes de tamao fijo o variable

Sncrona
Quien enva permanece bloqueado esperando a que llegue una respuesta del
receptor antes de realizar cualquier otro ejercicio.

Asncrona
Quien enva contina con su ejecucin inmediatamente despus de enviar el
mensaje al receptor.

Persistente
El receptor no tiene que estar operativo al mismo tiempo que se realiza la
comunicacin, el mensaje se almacena tanto tiempo como sea necesario para
poder ser entregado (Ej.: e-Mail).

Momentnea (transient)
El mensaje se descarta si el receptor no est operativo al tiempo que se realiza la
comunicacin. Por lo tanto no ser entregado.

Directa
Las primitivas enviar y recibir explicitan el nombre del proceso con el que se
comunican.
Ejemplo:enviar (mensaje, A) enva un mensaje al proceso A

Es decir se debe especificar cul va a ser el proceso fuente y cul va a ser el


proceso Destino.
Las operaciones bsicas Send y Receive se definen de la siguiente manera: Send
(P, mensaje); enva un mensaje al proceso P (P es el proceso destino). Receive
(Q, mensaje); espera la recepcin de un mensaje por parte del proceso Q (Q es el
proceso fuente).

Nota: Receive puede esperar de un proceso cualquiera, un mensaje, pero el Send


s debe especificar a quin va dirigido y cul es el mensaje.

Indirecta
La comunicacin Indirecta: Es aquella donde la comunicacin est basada en una
herramienta o instrumento ya que el emisor y el receptor estn a distancia.

Simtrica
Todos los procesos pueden enviar o recibir. Tambin llamada bidireccional para el
caso de dos procesos.

Asimtrica
Un proceso puede enviar, los dems procesos solo reciben. Tambin llamada
unidireccional. Suele usarse para hospedar servidores en Internet.
Uso de buffers automtico

El transmisor se bloquea hasta que el receptor recibe el mensaje (capacidad cero).


RPC
(Remote Procedure Call / llamada a un procedimiento remoto) Permitir que los
programas realicen llamadas a funciones localizadas en otras mquinas. Los
programadores no se tienen que preocupar por los detalles de la programacin de
la red. Conceptualmente simple.

Desde el punto de vista de un programador la llamada a una funcin remota es y


funciona de la misma manera que lo hara si la llamada fuese local. En este
sentido, se logra transparencia.

Cada funcin pasa a tener dos partes: cliente, la mquina local donde se
implementa la interface (prototipo de una funcin) para invocar las funciones
remotas. Servidor, implementacin de las funciones propiamente dichas.

Paso de parmetros
No debera de existir ningn problema si dos mquinas son homogneas, sin
embargo la realidad no suele ser sta. Pueden surgir problemas de diferentes
codificacin de caracteres (ej.: mainframe IBM: EBCDIC, IBM PC: ASCII) o
diferentes tipos de ordenacin de bytes (ej.: Intel: little endian, Sun SPARC: big
endian).

Como solucin a estos problemas es importante lograr un acuerdo del protocolo


usado. La parte encargada de generar los mensajes no debe de presuponer el uso
de un lenguaje de programacin especfico.
Invocacin remota de mtodos (RMI)

Es un mecanismo de expansin de RPC cuyo objetivo es dar soporte a sistemas


orientado a objetos.

La idea es tener objetos distribuidos. Para acceder al estado de un objeto slo se


realiza a travs de mtodos definidos por un objeto interface. Un objeto ofrece
mltiples interfaces. Una interface puede ser implementada por mltiples objetos.
Comunicacin orientada a mensajes

Las comunicaciones RPC se basan en la idea que el receptor est operativo para
poder invocar una cierta funcin, no podemos suponer que el receptor siempre
estar operativo y esperando a comunicarse. La solucin es definir la
comunicacin en trmino de paso de mensajes.
Mensajes momentneos vs. mensajes persistentes

Momentneos: no soportan el envo de mensajes persistentes. (1) Sockets, (2)


Message-passing interface (MPI).
Sockets Berkeley

Sistema fuertemente acoplado a las redes TCP/IP

Sockets API:

socket: crea una nueva comunicacin.


bind: aade la direccin local al socket.
listen: queda en espera de conexiones.
accept: queda bloqueado hasta la llegada de un pedido de conexin.
connect: pedido de establecimiento de conexin.
send: enviar datos por la conexin.
receive: recibir datos por la conexin.
close: desvincula el socket la direccin local.

Message-passing interface (MPI)

Diseado para aplicaciones paralelas crea un nivel de abstraccin ms alto que el


provisto por sockets. Provee una interface con primitivas ms avanzadas. Por el
contrario cuenta con una gran cantidad de implementaciones (librera y protocolos)
propietarias lo que genera la necesidad de una interface standard.

MPI API:

MPI_bsend: vincula la salida de mensajes con el buffer de salida local.

MPI_send: enva un mensaje y espera hasta que es copiado al buffer.


MPI_ssend: enva un mensae y espera hasta que el receptor inicie.
MPI_sendrecv: enva un mensaje y espera respuesta.
MPI_isend: pasa la referencia de un mensaje y contina.
MPI_issend: para la referencia de un mensaje y espera hasta que el receptor
inicie.
MPI_recv: recibe un mensaje; se bloquea en el caso de no haberlo.
MPI_irecv: verifica si hay mensajes entrantes; no se bloquea.

Persistentes: el mensaje se encola y se entrega cuando se pide. (1) Messageoriented middleware (MOM)
Implementaciones

Hay un nmero de APIs que pueden ser usadas por IPC. Un nmero de
plataformas independientes de APIs incluidas las siguientes:

Tuberas Annimas y con nombre


Common Object Request Broker Architecture (CORBA)
Distributed Computing Environment (DCE)
Message Bus (MBUS) (especificado en RFC 3259)
ONC RPC
Sockets
XML XML-RPC or SOAP
ZeroC's Internet Communications Engine (ICE)

Las siguientes son plataformas especficas de APIs:

Apple Computer's Apple events (previamente conocido como Interapplication


Communications (IAC)).
Freedesktop.org's D-Bus
KDE's Desktop Communications Protocol (DCOP)
Libt2n parar C++ solamente, manejos de objetos y excepciones complejos.
The Mach kernel's Mach Ports
Microsoft's ActiveX, Component Object Model (COM), Distributed Component
Object Model (DCOM), Dynamic Data Exchange (DDE), Object Linking and
Embedding (OLE), anonymous pipes, named pipes, Local Procedure Call
Novell's SPX
POSIX mmap, message queues, semaphores, and Shared memory
RISC OS's messages
Solaris's Doors
System V's message queues, semaphores, and Shared memory

Message-oriented middleware o Message-queuing systems

Aparece un tercer componente de la conexin que realiza tareas de


almacenamiento de mensajes. Esto permite que el emisor y el receptor estn
inactivos. Permite comunicaciones persistentes asncronas. Transferencia de
mensajes que duren minutos a comparacin de segundos o milisegundos. La
aplicacin ms conocida que utiliza dicho modelo es el correo electrnico (e-Mail).

La idea bsica consiste en insertar (putting) o quitar (taking) mensajes en una


cola. Al emisor slo se le puede garantizar que el mensaje ha sido insertado
correctamente en la cola. No existen garantas de cundo ser ledo dicho
mensaje.

No est ligado a ningn tipo especfico de modelo de red.

Message-queuing system API:

put: aadir un mensaje a una cola.


get: bloquear hasta que la cola no est vaca, luego quitar el primer elemento.
poll: verificar si hay mensaje, quitar el primero. Nunca se bloquea.
notify: instalar en la cola un dispositivo que avisar cuando un nuevo mensaje
se inserte en la cola.

Comunicacin orientada a streams


Los modelos RPC, RMI y MOM realizan comunicaciones independientes del
tiempo. Existen tambin sistemas donde el tiempo es crucial en la comunicacin, o
los resultados de salida sern incorrecto; es as el caso de trasmisin de audio,
video, sensor de datos, etc. (comunicacin continua de datos) donde cortes de
comunicacin generan retardos no deseados.
Comunicacin entre procesos Linux

La comunicacin puede simplemente ser cuestin de dejar que otro proceso sepa
que ha ocurrido algn evento, o puede implicar la transferencia de datos de un
proceso a otro.

Seales

El mecanismo estndar para informar a un proceso que ha ocurrido un evento es


la seal. Se pueden enviar seales de un proceso a otro pero sin enviar
informacin. Las seales no necesitan ser generadas por otro proceso, tambin
puede ser generada por el kernel.

Linux tambin implementa un mecanismo de semforos. Un proceso puede


esperar un semforo tan fcilmente como espera una seal.

Paso de datos entre procesos

El mecanismo de tubera (pipe) estndar permite a un proceso hijo heredar un


canal de comunicacin con su padre; los datos que se escriben en un extremo de
la tubera se leen en el otro. Tambin define un conjunto de servicios para trabajo
en red que pueden enviar flujos de datos tanto a procesos locales como remotos.

Hay otro mtodo que es la memoria compartida que ofrece una forma
extremadamente rpida de comunicar cantidades grandes o pequeas de datos;
cualquier dato escrito por un proceso en una regin de memoria compartida puede
ser ledo por cualquier otro proceso que haya mapeado dicha region en su espacio
de direcciones.

Freedesktop

Para comunicacin entre aplicaciones grficas existe D-Bus, usado por GNOME y
KDE entre otros. Permite fcilmente comunicar unas aplicaciones con otras o
controlar cualquier elemento de una interfaz grfica desde consola a con un
programa hecho al efecto.

Comunicacin multicast

Es la abstraccin de diseminacin de datos. Utilizando el soporte de difusin


(broadcast) en las redes locales para realizar tareas como protocolos epidmicos.

También podría gustarte