Sistemas Operativo Trabajo2

download Sistemas Operativo Trabajo2

of 19

description

Sincronizacion Sistemas Operativo

Transcript of Sistemas Operativo Trabajo2

  • 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 losprocesos 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 buzncompartido.

    Un enlace puede estar asociado a ms de dos procesos.

    Entre cada par de procesos en comunicacin puede haber varios enlacesdistintos, 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 mostrarlos 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 osoftware dedicados a guardar datos y por extensin a administrarlos y buscarlos.

    Se han inventado varias formas de almacenamiento basadas en diversosfenmenos naturales. No existen ningn medio de almacenamiento de usoprctico universal y todas las formas de almacenamiento tienen sus desventajas.

    Archivos Compartidos

    El uso compartido de archivos electrnicos, tambin llamado transferencia dearchivos entre usuarios de una red y comnmente conocido como P2P (por suabreviatura de peer-to-peer), permite que los usuarios puedan compartir archivosen lnea mediante una red informal de computadoras que operan el mismosoftware.

    Los archivos de uso compartido son una propiedad de un archivo informtico quetiene 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 elcual el sistema nos proporcione informacin til.

    Los diferentes tipos de indicadores pueden ser:

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

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

  • Indicadores de Eventos ms comunes

    - Ayuda: Proporcionan tips, consejos, y guas para el uso correcto y eficaz delsistema.

    - Informacin: Son los que muestran informacin de acontecimientos del sistema oalgn hecho relevante.

    - Solicitudes: Notifican al usuario que alguna aplicacin requiere informacindelicada o permisos adicionales, y requiere una respuesta de afirmacin o rechazoante dicho suceso.

    Comunicacin y Sincronizacin

    Es una funcin bsica de los sistemas operativos. Los procesos puedencomunicarse entre s a travs de compartir espacios de memoria, ya seanvariables compartidas o buffers, o a travs de las herramientas provistas por lasrutinas de IPC. La IPC provee un mecanismo que permite a los procesoscomunicarse y sincronizarse entre s, normalmente a travs de un sistema de bajonivel 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 unade ellas.

    Entre distintas computadoras por internet, con programas especiales como lospeer 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 crearo unirse a un grupo en el hogar. Un grupo en el hogar es un conjunto de equiposque comparten imgenes, msica, vdeos, documentos e incluso impresoras. Esnecesario que los equipos ejecuten el mismo sistema operativo para poderparticipar en un grupo en el hogar.

    Cuando configure o se una a un grupo en el hogar, deber indicar al sistemaoperativo qu carpetas o bibliotecas desea compartir y cules desea que sean

  • privadas. A partir de este momento, el sistema operativo alternarautomticamente entre las opciones correspondientes. Los dems usuarios nopueden 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 encualquier momento.

    Permisos de uso compartido

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

    Lectura. La opcin "mira pero no toques". Los destinatarios pueden abrir unarchivo, pero no modificarlo ni eliminarlo.

    Lectura y escritura. La opcin "haz lo que quieras". Los destinatarios puedenabrir, modificar o eliminar un archivo.

    Comunicacin y Sincronizacin

    Es la coordinacin y cooperacin de un conjunto de procesos para asegurar lacomparacin de recursos de cmputo. La sincronizacin entre procesos esnecesaria para prevenir y/o corregir errores de sincronizacin debidos al accesoconcurrente a recursos compartidos, tales como estructuras de datos odispositivos de E/S, de procesos contendientes.

    Aplicacin a partir de un sistema operativo

    Son programas que utilizan los servicios bsicos del sistema operativo (dependende 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 estndiseados para solucionar problemas ms concretos.

    Las aplicaciones suelen disearse para la automatiza con de ciertas tareascomplicadas o tediosas, como pueden serla contabilidad, redaccin dedocumentos 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, haciendoposible la comunicacin entre computadores con diferente hardware y diferentescapacidades.

    Fijo

    Los procesos acuerdan emplear un formato fijo para sus mensajes.

  • Variable

    Los procesos pueden variar con respecto a sus formatos para mostrar losmensajes

    Aplicacin a partir de un sistema operativo

    Comunicacin y sincronizacin

    La sincronizacin es la transmisin y recepcin de seales que tiene por objetollevar 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 sele llama procesos cooperativos.

    Para lograr la comunicacin, los procesos deben sincronizarse, de no ser aspueden ocurrir problemas no deseados.

    Buzones

    Un buzn puede considerarse en lo abstracto como un objeto en el que losprocesos pueden colocar mensajes y del cual se pueden sacar mensajes. Cadabuzn tiene una identificacin nica. Aqu dos procesos se pueden comunicarseslo si comparten un buzn.

    Comunicacin y sincronizacin

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

    Los procesos pueden comunicarse entre s a travs de compartir espacios dememoria, ya sean variables compartidas o buffers, o a travs de las herramientasprovistas 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 losllamados indicadores. Un indicador es sencillamente algo o alguien queproporciona bien sea informacin, caractersticas, problemas, errores, etc.

    Almacenamiento y archivos compartidos

    Almacenamiento

    En informtica, se conoce como sistema de almacenamiento distribuido todo aquelque permite almacenar ficheros online. Su principal caracterstica es la poderguardar archivos (documentos, imgenes, vdeos, etc.) en la red.

    Son programas que utilizan los servicios bsicos del sistema operativo (dependende 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 puedenocurrir sucesos perjudiciales para el sistema o archivos del usuario.

  • Alertas: Proporcionan informacin sobre estados crticos del sistema o de lasaplicaciones.

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

    Informacin: Son los que muestran informacin de acontecimientos del sistema oalgn hecho relevante.

    Solicitudes: Notifican al usuario que alguna aplicacin requiere informacindelicada o permisos adicionales, y requiere una respuesta de afirmacin o rechazoante dicho suceso.

    Diferentes tipos de aviso

    Almacenamiento y archivos compartidos

    Archivos compartidos

    El uso compartido de archivos electrnicos, tambin llamado transferencia dearchivos entre usuarios de una red y comnmente conocido como P2P (por suabreviatura de peer-to-peer), permite que los usuarios puedan compartir archivosen lnea mediante una red informal de computadoras que operan el mismosoftware.

    Formato de los mensajes

    Mixto

    Los procesos acuerdan emplear mensaje con partes cuyo formato es fijo, comopor 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 modificardespus de su creacin. Existen algunos sistemas distribuidos que permitennicamente las operaciones de archivos CREATE Y READ. Una vez creado unarchivo no se puede modificar. Se dice que tal archivo es inmutable. Estosarchivos facilitan el ocultamiento y duplicacin de archivos, puesto que estoelimina todos los problemas asociados con la actualizacin de todas las copias deun archivo cada vez que ste se modifique

    La interfaz del servidor de directorios

    Proporciona las operaciones para crear y eliminar directorios, nombrar o cambiarel nombre de archivo y mover esto de un directorio a otro.

    El servicio de directorios define un alfabeto y una sintaxis para formar los nombresde archivos (y directorio). Lo usual es que los nombres de archivos tengan de unohasta 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 conprecisin la semntica de la lectura y escritura para evitar problemas.

    Comunicacin entre procesos

    La comunicacin entre procesos (comnmente IPC, del ingls Inter-ProcessCommunication) es una funcin bsica de los sistemas operativos. Los procesospueden comunicarse entre s a travs de compartir espacios de memoria, ya seanvariables compartidas o buffers, o a travs de las herramientas provistas por lasrutinas de IPC. La IPC provee un mecanismo que permite a los procesoscomunicarse y sincronizarse entre s, normalmente a travs de un sistema de bajonivel de paso de mensajes que ofrece la red subyacente.

    La comunicacin se establece siguiendo una serie de reglas (protocolos decomunicacin). Los protocolos desarrollados para internet son los mayormenteusados: 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 conectadasa una red. Las tcnicas de IPC estn divididas dentro de mtodos para: paso demensajes, sincronizacin, memoria compartida y llamadas de procediemientosremotos (RPC). El mtodo de IPC usado puede variar dependiendo del ancho debanda y latencia (el tiempo desde el pedido de informacin y el comienzo delenvo de la misma) de la comunicacin entre procesos, y del tipo de datos queestn siendo comunicados.

    Conceptos bsicos

    El sistema operativo provee mnimamente dos primitivas, enviar y recibir,normalmente llamadas send y receive. Asimismo, debe implementarse un enlacede comunicacin entre los procesos de la comunicacin. Este enlace puede serunidireccional o multidireccional segn permita la comunicacin en solo uno o envarios 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 delreceptor antes de realizar cualquier otro ejercicio.

    Asncrona

    Quien enva contina con su ejecucin inmediatamente despus de enviar elmensaje al receptor.

    Persistente

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

    Momentnea (transient)

    El mensaje se descarta si el receptor no est operativo al tiempo que se realiza lacomunicacin. Por lo tanto no ser entregado.

    Directa

    Las primitivas enviar y recibir explicitan el nombre del proceso con el que secomunican.

    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 elproceso 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 elproceso fuente).

  • Nota: Receive puede esperar de un proceso cualquiera, un mensaje, pero el Sends debe especificar a quin va dirigido y cul es el mensaje.

    Indirecta

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

    Simtrica

    Todos los procesos pueden enviar o recibir. Tambin llamada bidireccional para elcaso de dos procesos.

    Asimtrica

    Un proceso puede enviar, los dems procesos solo reciben. Tambin llamadaunidireccional. 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 losprogramas realicen llamadas a funciones localizadas en otras mquinas. Losprogramadores no se tienen que preocupar por los detalles de la programacin dela red. Conceptualmente simple.

    Desde el punto de vista de un programador la llamada a una funcin remota es yfunciona de la misma manera que lo hara si la llamada fuese local. En estesentido, se logra transparencia.

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

    Paso de parmetros

    No debera de existir ningn problema si dos mquinas son homogneas, sinembargo la realidad no suele ser sta. Pueden surgir problemas de diferentescodificacin de caracteres (ej.: mainframe IBM: EBCDIC, IBM PC: ASCII) odiferentes tipos de ordenacin de bytes (ej.: Intel: little endian, Sun SPARC: bigendian).

    Como solucin a estos problemas es importante lograr un acuerdo del protocolousado. La parte encargada de generar los mensajes no debe de presuponer el usode un lenguaje de programacin especfico.

    Invocacin remota de mtodos (RMI)

    Es un mecanismo de expansin de RPC cuyo objetivo es dar soporte a sistemasorientado a objetos.

    La idea es tener objetos distribuidos. Para acceder al estado de un objeto slo serealiza a travs de mtodos definidos por un objeto interface. Un objeto ofrecemltiples 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 parapoder invocar una cierta funcin, no podemos suponer que el receptor siempreestar operativo y esperando a comunicarse. La solucin es definir lacomunicacin 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 elprovisto por sockets. Provee una interface con primitivas ms avanzadas. Por elcontrario 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 receptorinicie.

    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) Message-oriented middleware (MOM)

    Implementaciones

    Hay un nmero de APIs que pueden ser usadas por IPC. Un nmero deplataformas 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 InterapplicationCommunications (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 ComponentObject Model (DCOM), Dynamic Data Exchange (DDE), Object Linking andEmbedding (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 dealmacenamiento de mensajes. Esto permite que el emisor y el receptor estninactivos. Permite comunicaciones persistentes asncronas. Transferencia demensajes que duren minutos a comparacin de segundos o milisegundos. Laaplicacin ms conocida que utiliza dicho modelo es el correo electrnico (e-Mail).

    La idea bsica consiste en insertar (putting) o quitar (taking) mensajes en unacola. Al emisor slo se le puede garantizar que el mensaje ha sido insertadocorrectamente en la cola. No existen garantas de cundo ser ledo dichomensaje.

  • 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 mensajese inserte en la cola.

    Comunicacin orientada a streams

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

    Comunicacin entre procesos Linux

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

    Seales

    El mecanismo estndar para informar a un proceso que ha ocurrido un evento esla seal. Se pueden enviar seales de un proceso a otro pero sin enviarinformacin. Las seales no necesitan ser generadas por otro proceso, tambinpuede ser generada por el kernel.

  • Linux tambin implementa un mecanismo de semforos. Un proceso puedeesperar 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 uncanal de comunicacin con su padre; los datos que se escriben en un extremo dela tubera se leen en el otro. Tambin define un conjunto de servicios para trabajoen red que pueden enviar flujos de datos tanto a procesos locales como remotos.

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

    Freedesktop

    Para comunicacin entre aplicaciones grficas existe D-Bus, usado por GNOME yKDE entre otros. Permite fcilmente comunicar unas aplicaciones con otras ocontrolar cualquier elemento de una interfaz grfica desde consola a con unprograma 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.