La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tipos de Sistemas Operativos. Proceso de transmisión y recepción de ideas, información, etc. Lenguaje. Símbolos y alfabetos. Transmisor, receptor y medio.

Presentaciones similares


Presentación del tema: "Tipos de Sistemas Operativos. Proceso de transmisión y recepción de ideas, información, etc. Lenguaje. Símbolos y alfabetos. Transmisor, receptor y medio."— Transcripción de la presentación:

1 Tipos de Sistemas Operativos

2 Proceso de transmisión y recepción de ideas, información, etc. Lenguaje. Símbolos y alfabetos. Transmisor, receptor y medio de transmisión. Tipos de Sistemas Operativos

3 La diferencia entre un sistema distribuido y un sistema de un único procesador es la comunicación entre procesos Sistema con un solo procesador Sistema Distribuido Comunicación Memoria Compartida No existe la Memoria Compartida (procesos)

4 Tipos de Sistemas Operativos  Los procesos para comunicarse deben apegarse a las reglas o protocolos.  Los sistemas distribuidos en un área amplia toman frecuentemente la forma de varias capas y cada capa tiene sus propias reglas  Para intercambiar mensajes se hace uso de “Llamada a un proceso Remoto”

5 Debido a la ausencia de memoria compartida, la comunicación en sistemas distribuidos se basa en transferencia de mensajes. Cuando un proceso “A” quiere comunicarse con el procesos “B”: o Construye un mensaje en su propio espacio de direcciones o Ejecuta la llamada al sistema para que el S.O. busque el mensaje y lo envié a través de la red hacia “B” o Para evitar caos, “A” y “B” deberán coincidir en el significado de los bits que se envíen. Protocolos con Capas Tipos de Sistemas Operativos

6 6 Los puntos de acuerdo necesarios incluyen lo siguiente: 1.¿Cuántos voltios hay que utilizar para un bit “0” y cuántos para un bit “1”?. 2.¿Cómo sabe el receptor cuál es el último bit del mensaje?. 3.¿Cómo puede detectar si un mensaje ha sido dañado o perdido, y qué debe hacer si lo descubre?. 4.¿Qué longitud tienen los números, cadenas y otros elementos de datos y cuál es la forma en que están representados?. La ISO (Organización Internacional de Estándares) desarrolló un modelo de referencia que : Identifica en forma clara los distintos niveles. Estandariza los nombres de los niveles. Señala cuál nivel debe realizar cuál trabajo.

7 Tipos de Sistemas Operativos

8 El “modelo OSI” está diseñado para permitir la comunicación de los sistemas abiertos: Son aquellos preparados para comunicarse con cualquier otro sistema abierto mediante reglas estándar: Establecen el formato, contenido y significado de los mensajes recibidos y enviados. Constituyen los protocolos, que son acuerdos en la forma en que debe desarrollarse la comunicación.

9 Tipos de Sistemas Operativos El “modelo OSI” distingue entre dos tipos generales de protocolos :  Orientados hacia las conexiones: Antes de intercambiar los datos, el emisor y el receptor: ○ Establecen en forma explícita una conexión. ○ Probablemente negocien el protocolo a utilizar. ○ Al finalizar, deben terminar la conexión. ○ El teléfono es un sistema de comunicación orientado hacia la conexión.  Sin conexión: No es necesaria una configuración de antemano. El emisor transmite el primer mensaje cuando está listo. El depósito de una carta en un buzón es una comunicación sin conexión.

10 Tipos de Sistemas Operativos  La mayoría de los sistemas distribuidos basados en LAN utilizan un subconjunto de toda una pila de protocolos.  El “modelo cliente - servidor” tiene como idea fundamental la estructuración del S. O. como: Un grupo de procesos en cooperación, llamados servidores, que ofrecen servicios a los usuarios. Un grupo de procesos usuarios llamados clientes.

11 Tipos de Sistemas Operativos El “modelo cliente - servidor” se basa en un “protocolo solicitud / respuesta”: Es sencillo y sin conexión. No es complejo y orientado a la conexión como OSI o TCP / IP. El cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio. El servidor: Ejecuta el requerimiento. Regresa los datos solicitados o un código de error si no pudo ejecutarlo correctamente. No se tiene que establecer una conexión sino hasta que ésta se utilice. La pila del protocolo es más corta y por lo tanto más eficiente. Si todas las máquinas fuesen idénticas solo se necesitarían tres niveles de protocolos.

12 Tipos de Sistemas Operativos

13 Para que un cliente pueda enviar un mensaje a un servidor, debe conocer la dirección de éste.. Un esquema de direccionamiento se basa en la dirección de la máquina destinataria del mensaje: Otro esquema de direccionamiento se basa en identificar los procesos destinatarios en vez de a las máquinas: Una variante utiliza machine.local-id en vez de machine.process: local-id generalmente es un entero aleatorio de 16 o 32 bits. Otro método de direccionamiento consiste en asignarle a cada proceso una única dirección que no contenga un número de máquina. Otro método utiliza hardware especial.

14 Tipos de Sistemas Operativos Las primitivas de transferencia de mensajes consideradas anteriormente se denominan primitivas de bloqueo o primitivas síncronas: El proceso emisor se suspende (se bloquea) mientras se envía el mensaje. o El proceso receptor se suspende mientras se recibe el mensaje. Una alternativa son las primitivas sin bloqueo o primitivas asíncronas: El proceso emisor: No se suspende mientras se envía el mensaje. Sí puede continuar su cómputo paralelamente con la transmisión del mensaje. No puede modificar el buffer de mensajes hasta que se envíe el mensaje. No tiene control sobre la terminación de la transmisión y por lo tanto no sabe cuándo será seguro reutilizar el buffer. Una solución es: Que el núcleo copie el mensaje a un buffer interno del núcleo. Que entonces el núcleo permita al proceso continuar y reutilizar el buffer.

15 Tipos de Sistemas Operativos Las primitivas consideradas hasta ahora son esencialmente primitivas no almacenadas: Significa que una dirección se refiere a un proceso específico. Una llamada receive (addr, &m) le indica al núcleo de la máquina en donde se ejecuta: Que el proceso que hace la llamada escucha a la dirección addr. Que está preparada para recibir el mensaje enviado a esa dirección. Este esquema funciona bien cuando el servidor llama a receive antes de que el cliente llame a send. El problema se presenta cuando el send se lleva a cabo antes que el receive: El núcleo del servidor: No sabe cuál de sus procesos utiliza la dirección en el mensaje recién llegado. No sabe dónde copiar el mensaje recibido. Una solución consiste en: Descartar el mensaje. Dejar que el cliente espere. Confiar en que el servidor llame a receive antes de que el cliente vuelva a transmitir; por ello el cliente podría tener que intentar varias veces.

16 Tipos de Sistemas Operativos Los mensajes se pueden perder por diversas causas.: 1. Cuando un cliente envía un mensaje se le puede suspender hasta que el mensaje ha sido enviado: cuando continua no hay garantía del mensaje entregado 2. Un mensaje de este problema consiste en volver a definir la semántica de send para hacerlo no confiable. (No se garantiza la entrega de mensajes.) 3. Otro método exige que el núcleo de la máquina receptora envié un reconocimiento al núcleo de la máquina emisora. (solo cuando reciba el reconocimiento el núcleo emisor liberara al proceso usuario “cliente”.) La solicitud de un cliente a un servidor es reconocida por el núcleo del servidor. La respuesta del servidor de regreso al cliente es reconocida por el núcleo del cliente. Una solicitud de respuesta consta de cuatro mensajes.

17 Tipos de Sistemas Operativos

18 Las principales opciones de diseño analizadas en resumen son : o Direccionamiento: Número de máquina. Direcciones ralas de procesos. Búsqueda de nombres en ASCII por medio del servidor. o Bloqueo: Primitivas con bloqueo. Sin bloqueo, con copia al núcleo. Sin bloqueo, con interrupciones. o Almacenamiento en buffers: No usar el almacenamiento en buffers, descartar los mensajes inesperados. Sin almacenamiento en buffers, mantenimiento temporal de los mensajes inesperados. Buzones. o Confiabilidad: No confiable. Solicitud - reconocimiento - respuesta - reconocimiento. Solicitud - respuesta - reconocimiento.

19 Tipos de Sistemas Operativos  Req: Solicitud. De cliente a servidor. El cliente desea servicio.  Rep: Respuesta. De servidor a cliente. Respuesta del servidor al cliente.  Ack: Reconocimiento. De cualquiera de ellos a algún otro. El paquete anterior que ha llegado.  Aya: ¿Estás vivo?. De cliente a servidor. Verifica si el servidor se ha descompuesto.  Iaa: Estoy vivo. De servidor a cliente. El servidor no se ha descompuesto.  Ta: Intenta de nuevo. De servidor a clientes. El servidor no tiene espacio.  Au: Dirección desconocida. De servidor a cliente. Ningún proceso utiliza esta dirección.

20 Tipos de Sistemas Operativos

21 El modelo cliente - servidor es una forma conveniente de estructurar un S. O. distribuido, pero posee una falencia: El paradigma esencial en torno al que se construye la comunicación es la entrada / salida. Los procedimientos send / receive están reservados para la realización de e / s. Una opción distinta fue planteada por Birrel y Nelson: Permitir a los programas que llamasen a procedimientos localizados en otras máquinas. Cuando un proceso en la máquina “A” llama a un procedimiento en la máquina “B”: El proceso que realiza la llamada se suspende. La ejecución del procedimiento se realiza en “B”. La información se puede transportar de un lado al otro mediante los parámetros y puede regresar en el resultado del procedimiento. El programador no se preocupa de una transferencia de mensajes o de la e / s. A este método se lo denomina llamada a procedimiento remoto o RPC. El procedimiento que hace la llamada y el que la recibe se ejecutan en máquinas diferentes, es decir que utilizan espacios de direcciones distintos.

22 Tipos de Sistemas Operativos Una llamada convencional a un procedimiento, es decir en una sola máquina, funciona de la siguiente manera: Sea count = read (fd, buf, nbytes); donde: fd es un entero; buf es un arreglo de caracteres; nbytes es otro entero. El programa llamador coloca los parámetros en la pila. El procedimiento llamado desde el programa llamador se carga en la memoria. Después de que read termina su ejecución: Coloca el valor de regreso en un registro. Elimina la dirección de regreso. Transfiere de nuevo el control a quien hizo la llamada. Quien hizo la llamada elimina los parámetros de la pila y regresa a su estado original.

23 Tipos de Sistemas Operativos El empacamiento de parámetros en un mensaje se llama ordenamiento de parámetros. El mensaje también contiene el nombre o número del procedimiento por llamar; el servidor podría soportar varias llamadas y se el tiene que indicar cuál de ellas se necesita. Cuando el mensaje llega al servidor: El resguardo (stub) lo examina para ver cuál procedimiento necesita. Lleva a cabo la llamada apropiada. La llamada real del resguardo al servidor es similar a la llamada original del cliente, excepto en que los parámetros son variables inicializadas a partir del mensaje recibido, en vez de ser constantes.

24 Tipos de Sistemas Operativos El objetivo de RPC es ocultar la comunicación al hacer que las llamadas a procedimientos remotos se parezcan a las llamadas locales. El problema se presenta cuando aparecen los errores, ya que las diferencias entre las llamadas locales y remotas no son tan fáciles de encubrir. Se consideraran las siguientes situaciones: El cliente no puede localizar al servidor. Se pierde el mensaje de solicitud del cliente al servidor. Se pierde el mensaje de respuesta del servidor al cliente. El servidor falla antes de recibir una solicitud. El cliente falla después de enviar una solicitud.

25 Tipos de Sistemas Operativos El servidor podría estar inactivo. El servidor podría estar utilizando una nueva versión de la interfaz y nuevos resguardos, que no serían compatibles con la interfaz y los resguardos del cliente. En el servidor, cada uno de los procedimientos regresa un valor: Generalmente el código -1 indica un fallo. También se suele utilizar una variable global (UNIX) errno a la que se asigna un valor que indica el tipo de error. Un tipo de error sería “no se pudo localizar al servidor”. Otra posibilidad para el tratamiento de los errores es mediante una excepción provocada por el error: Se codifican procedimientos especiales que son llamados ante errores específicos. El problema es que se puede destruir la transparencia deseada, ya que se dificulta mantener la similitud entre procedimientos locales y remotos.

26 Tipos de Sistemas Operativos Un fallo del servidor también se relaciona con la idempotencia pero no se puede resolver con números secuenciales.

27 Tipos de Sistemas Operativos La cuestión es qué ocurre si un cliente envía una solicitud a un servidor y falla antes de que el servidor responda. Se genera una solicitud de trabajo o cómputo que al fallar el cliente ya nadie espera; se dice que se tiene un cómputo huérfano. Los principales problemas generados por cómputos huérfanos son los siguientes: Desperdicio de ciclos de cpu. Posible bloqueo de archivos. Apropiación de recursos valiosos. Posible confusión cuando: El cliente rearranca y efectúa de nuevo la RPC. La respuesta del huérfano regresa inmediatamente luego.

28 Tipos de Sistemas Operativos Es la serie de instrucciones que se ejecutan con cada RPC.

29

30 En un sistema distribuido la sincronización debe permitir el apropiado uso de los recursos, debe encargarse de un buen desempeño y de la consistencia de los datos, además de mantener seguras todas estas operaciones [Tanenbaum]. Sincronización se define como la forma de forzar un orden parcial o total en cualquier conjunto de eventos, y es usado para hacer referencia a problemas distintos pero relacionados entre sí. Tipos de Sistemas Operativos

31  La sincronización entre el emisor y el receptor.  La especificación y control de la actividad común entre procesos. Tipos de Sistemas Operativos

32 En un sistema centralizado, el cual hace uso de semáforos y monitores; en un sistema distribuido se utilizan algoritmos distribuidos para sincronizar el trabajo común entre los procesos y estos algoritmos tienen las siguientes propiedades: Tipos de Sistemas Operativos

33  Es inaceptable que se concentre en un solo nodo, a toda aquella información que sea relevante para la toma de decisiones que tengan que llevar a cabo los procesos.  Contemplar o prever los posibles puntos de fallo del sistema Tipos de Sistemas Operativos

34 Generalmente los algoritmos distribuidos tienen las siguientes propiedades: La información relevante se distribuye entre varias máquinas. Los procesos toman las decisiones solo con base en la información disponible en forma local. No existe un reloj común o alguna otra fuente precisa del tiempo global. Tipos de Sistemas Operativos

35 Sistema Distribuido, cada nodo cuenta con su propio cronómetro y resulta imposible garantizar que sus cristales oscilarán con la misma frecuencia. En un sistema distribuido existe n número de computadoras y los n cristales oscilarán a tasas un poco distintas, lo que provoca una pérdida de sincronía y que al leerlos, tengan valores diferentes. Esta diferencia es llamada distorsión de reloj. Tipos de Sistemas Operativos

36 Como consecuencia de esta distorsión podrían generarse inconsistencias, ya que los programas esperan que el tiempo asociado a un archivo, proceso o mensaje sea correcto e independiente del sitio donde fue generado. La diferencia entre los valores del tiempo se llama distorsión del reloj y podría generar fallas en los programas dependientes del tiempo. Lamport demostró que la sincronización de relojes es posible y presentó un algoritmo para lograrlo. Lamport señaló que la sincronización de relojes no tiene que ser absoluta: Si 2 procesos no interactúan no es necesario que sus relojes estén sincronizados. Tipos de Sistemas Operativos

37 Si una máquina tiene un receptor de UTC, todas las máquinas deben sincronizarse con ella [Tanenbaum]. Si ninguna máquina tiene un receptor de UTC:  Cada máquina lleva el registro de su propio tiempo.  Se debe mantener el tiempo de todas las máquinas tan cercano como sea posible.  Se supone que cada máquina tiene un cronómetro que provoca una interrupción “h” veces por segundo. Cuando el cronómetro se detiene, el manejador de interrupciones añade “1” a un reloj en software. Tipos de Sistemas Operativos

38 Asigna tiempos a los eventos.  Ocurrencia anterior.  a -> b “a ocurre antes que b”.  Si a y b son eventos del mismo proceso, y a ocurre antes que b, entonces a -> b es verdadera.  Si a es el evento en el que un proceso envía un mensaje, y b es el evento de recepción del mensaje por otro proceso, entonces a - > b también es verdadera.  Un mensaje no puede recibirse antes de ser enviado, o incluso al mismo tiempo en que es enviado, ya que necesita cierta cantidad de tiempo finita de cero, para llegar.

39 Tipos de Sistemas Operativos Consideramos tres procesos que se ejecutan en diferentes máquinas, cada una con su propio reloj y velocidad:

40 Tipos de Sistemas Operativos El proceso “0” envía el mensaje “a” al proceso “1” cuando el reloj de “0” marca “6”. El proceso “1” recibe el mensaje “a” cuando su reloj marca “16”. Si el mensaje acarrea el tiempo de inicio “6”, el proceso “1” considerará que tardó 10 marcas de reloj en viajar. El mensaje “b” de “1” a “2” tarda 16 marcas de reloj. El mensaje “c” de “2” a “1” sale en “60” y llega en “56”, tardaría un tiempo negativo, lo cual es imposible. El mensaje “d” de “1” a “0” sale en “64” y llega en “54”.

41 Tipos de Sistemas Operativos Es necesario considerar cómo funcionarán los algoritmos cuando se tienen los siguientes casos: Grupos con centenas o miles de miembros. Utilización de varias LAN y compuertas (gateways) conectadas, es decir interred (internetwork). Diseminación de grupos en varios continentes. Las compuertas pueden afectar la multitransmisión y el hecho requerido por algunas redes de tener un solo paquete en la red en un instante dado. Tipos de Sistemas Operativos

42 En el algoritmo de Cristian el servidor de tiempo es pasivo. En el algoritmo de Berkeley el servidor de tiempo: Es activo. Realiza un muestreo periódico de todas las máquinas para preguntarles el tiempo. Con las respuestas: Calcula un tiempo promedio. Indica a las demás máquinas que avancen su reloj o disminuyan la velocidad del mismo hasta lograr la disminución requerida. Es adecuado cuando no se dispone de un receptor UTC. Tipos de Sistemas Operativos

43 El problema de la exclusión mutua en sistemas distribuidos surge cuando se tiene acceso concurrentemente a recursos compartidos por varios nodos de procesamiento. En sistemas de una sola computadora, el estado de un recurso compartido y el estado de un usuario es más accesible por la existencia de una memoria compartida y se pueden implementar fácilmente soluciones a la exclusión mutua, haciendo uso de variables compartidas como los semáforos. Tipos de Sistemas Operativos

44 Sin embargo, en sistemas distribuidos los recursos compartidos y los usuarios pueden estar distribuidos y no existe una memoria compartida entre ellos; consecuentemente, los enfoques basados en variables compartidas no son aplicables a los sistemas distribuidos, en su lugar; se deben utilizar enfoques basados en el paso de mensajes. El problema de la exclusión mutua resulta más compleja en los sistemas distribuidos, debido a los retardos impredecibles de los mensajes. Cuando un proceso requiere leer o actualizar ciertas estructuras de datos compartidas, primero entra a una sección crítica (SC) para lograr la exclusión mutua asegurándose que ningún otro proceso utilice las mismas estructuras al mismo tiempo. Tipos de Sistemas Operativos

45 El objetivo es no tener un único punto de fallo (el coordinador central). Un ej. es el algoritmo de Lamport mejorado por Ricart y Agrawala. Se requiere un orden total de todos los eventos en el sistema para saber cuál ocurrió primero. Cuando un proceso desea entrar a una región crítica: Construye un mensaje con el nombre de la región crítica, su número de proceso y la hora actual. Envía el mensaje a todos los demás procesos y de manera conceptual a él mismo. Se supone que cada mensaje tiene un reconocimiento. Si el receptor no está en la región crítica y no desea entrar a ella, envía de regreso un mensaje o.k. al emisor. Si el receptor ya está en la región crítica no responde y encola la solicitud. Tipos de Sistemas Operativos

46 Si el receptor desea entrar a la región crítica pero aún no lo logró, compara:  La marca de tiempo del mensaje recibido con, la marca contenida en el mensaje que envió a cada uno, la menor de las marcas gana.  Si el mensaje recibido es menor el receptor envía un o.k.  Si su propio mensaje tiene una marca menor el receptor no envía nada y encola el pedido. Luego de enviar las solicitudes un proceso:  Espera hasta que alguien más obtiene el permiso.  Cuando llegan todos los permisos puede entrar a la región crítica. Cuando un proceso sale de la región crítica:  Envía mensajes o.k. a todos los procesos en su cola.  Elimina a todos los elementos de la cola. La exclusión mutua queda garantizada sin bloqueo ni inanición. Tipos de Sistemas Operativos

47 La forma más directa de lograr la exclusión mutua en un sistema distribuido es simular a la forma en que se lleva a cabo en un sistema monoprocesador. Se elige un proceso coordinador. Cuando un proceso desea ingresar a una región crítica: Envía un mensaje de solicitud al coordinador: Indicando la región crítica. Solicitando permiso de acceso. Si ningún otro proceso está en ese momento en esa región crítica: El coordinador envía una respuesta otorgando el permiso. Tipos de Sistemas Operativos

48 Cuando llega la respuesta el proceso solicitante entra a la región crítica. Si un proceso pide permiso para entrar a una región crítica ya asignada a otro proceso: El coordinador no otorga el permiso y encola el pedido. Cuando un proceso sale de la región crítica envía un mensaje al coordinador para liberar su acceso exclusivo: El coordinador extrae el primer elemento de la cola de solicitudes diferidas y envía a ese proceso un mensaje otorgando el permiso, con lo cual el proceso queda habilitado para acceder a la región crítica solicitada. Es un esquema sencillo, justo y con pocos mensajes de control. La limitante es que el coordinador puede ser un cuello de botella y puede fallar y bloquear a los procesos que esperan una respuesta de habilitación de acceso Tipos de Sistemas Operativos

49 Los procesos se organizan por software formando un anillo lógico asignándose a cada proceso una posición en el anillo. Cada proceso sabe cuál es el siguiente luego de él. Al inicializar el anillo se le da al proceso “0” una ficha (token) que circula en todo el anillo, que se transfiere del proceso “k” al “k + 1” en mensajes puntuales. Cuando un proceso obtiene la ficha de su vecino verifica si intenta entrar a una región crítica: En caso positivo: El proceso entra a la región crítica, hace el proceso necesario y sale de ella. Después de salir pasa la ficha a lo largo del anillo: ○ No se puede entrar a una segunda región crítica con la misma ficha (token o permiso). Tipos de Sistemas Operativos

50 En caso negativo: La vuelve a pasar. En un instante dado solo un proceso puede estar en una región crítica. Si la ficha se pierde debe ser regenerada, pero es difícil detectar su perdida: La cantidad de tiempo entre las apariciones sucesivas de la ficha en la red no está acotada, por ello es difícil decidir si está perdida o demorada en algún proceso que no la libera. La falla de un proceso es detectada cuando su vecino intenta sin éxito pasarle la ficha: Se lo debe eliminar del grupo y pasar la ficha al siguiente proceso activo. Todos los procesos deben mantener la configuración actual del anillo. Tipos de Sistemas Operativos

51  Son los algoritmos para la elección de un proceso coordinador, iniciador, secuenciador, etc. ( aquel que tendrá un rol especial en un SD). El objetivo de un algoritmo de elección es garantizar que iniciada una elección ésta concluya con el acuerdo de todos los procesos con respecto a la identidad del nuevo coordinador.  Muchas veces es necesario que un nodo coordine alguna acción en el sistema.  Si todos los procesos son idénticos, no hay forma de elegir a uno de ellos. Luego asumiremos que tienen identificadores únicos.  Supondremos que todos conocen la identidad de los demás miembros del grupo.

52 Un proceso “P” inicia una elección cuando observa que el coordinador ya no responde a las solicitudes. “P” realiza una elección de la siguiente manera: Envía un mensaje elección a los demás procesos con un número mayor. Si nadie responde asume que gana la elección y se convierte en el nuevo coordinador. Si un proceso con un número mayor responde, toma el control y el trabajo de “P” termina. Siempre gana el proceso que posee el número mayor, de ahí el nombre “algoritmo del grandulón”.

53 1. Suponiendo que tenemos a los nodos ordenados en una anillo lógico. (p.ej, en orden creciente de identificadores) 2. Cuando un nodo quiere elegir nuevo líder, envía ELECTION por el anillo (al siguiente del anillo que esté vivo: que responda con ACK). 3. Cada nodo que ve el mensaje, incluye su propio ID en el mensaje. 4. Cuando el mensaje llega de vuelta al iniciador, contiene los IDs de todos los nodos participantes. En este momento, envía un mensaje LIDER por el anillo, avisando del nuevo líder (el nodo mayor). 5. Puede haber más de un mensaje simultáneo: pero los dos intentos de elección darán el mismo resultado.

54 Tipos de Sistemas Operativos Técnicas de abstracción de mayor nivel. El programador debe enfrentarse directamente con los detalles de exclusión mutua, manejo de las regiones críticas, prevención de bloqueos y recuperación de fallas. Se precisan técnicas de abstracción de mayor nivel que oculten estos aspectos técnicos y permitan que los programadores se concentren en sus algoritmos y la forma en que los procesos trabajan en paralelo. La principal propiedad de la transacción atómica es el “todo o nada”: O se hace todo lo que se tenía que hacer como una unidad o no se hace nada. ○ Las dos operaciones terminarían o no terminaría ninguna. ○ Se debe regresar al estado inicial si la transacción no puede concluir. El sistema consta de varios procesos independientes que pueden fallar aleatoriamente.

55 Tipos de Sistemas Operativos Se puede implantar con una pareja de discos comunes. Cada bloque de la unidad 2 es una copia exacta (espejo) del bloque correspondiente en la unidad 1. Cuando se actualiza un bloque: Primero se actualiza y verifica el bloque de la unidad 1 y 2. Si el sistema falla luego de actualizar la unidad 1 y antes de actualizar la unidad 2: se recuperan y se comparan ambos discos. Se puede actualizar la unidad 2 en función de la 1. Si se detecta el deterioro de un bloque, este se regenera partiendo del bloque correspondiente en la otra unidad.

56 Tipos de Sistemas Operativos Son proporcionadas por el sistema operativo o por el sistema de tiempo de ejecución del lenguaje. Ejemplos: Begin_transaction: los comandos siguientes forman una transacción. End_transaction: termina la transacción y se intenta un compromiso. Abort_transaction: se elimina la transacción; se recuperan los valores anteriores. Read: se leen datos de un archivo (o algún otro objeto). Write: se escriben datos en un archivo (o algún otro objeto). Las operaciones entre Begin y End forman el cuerpo de la transacción

57 Tipos de Sistemas Operativos Serialización.- garantiza que si dos o más transacciones se ejecutan al mismo tiempo el resultado final aparece como si todas las transacciones se ejecutan de manera secuencial en cierto orden. Atomicidad.- garantiza que cada transacción no ocurre o bien se realiza en su totalidad Permanencia.- se refiere a que una vez comprometida una transacción sigue adelante y los resultados son permanentes.

58 Tipos de Sistemas Operativos Se presentan cuando las transacciones pueden contener subtransacciones (procesos hijos): Se ejecuten en paralelo Procesadores distintos Pueden originar nuevas subtransacciones.

59 Tipos de Sistemas Operativos Existen varios métodos de implantación: o Espacio de Trabajo Particular. o Bitácora de Escritura Anticipada. o Protocolo de Compromiso de Dos Fases (Two Phase Commit)

60 Tipos de Sistemas Operativos Consiste en que cuando un proceso inicia una transacción se le otorga un espacio de trabajo particular, donde: Contiene todos los archivos (y otros objetos) a los cuales tiene acceso. Las lecturas y escrituras irán a este espacio hasta que la transacción se complete o aborte: Alto consumo de recursos por las copias de los objetos al espacio de trabajo particular. Cuando el proceso abre un archivo para lectura, se siguen los apuntadores de regreso hasta localizar el archivo en el espacio de trabajo del padre (o algún antecesor). Cuando se abre un archivo para escritura: se copia al espacio el índice del archivo en el espacio de trabajo particular

61 Tipos de Sistemas Operativos Este método también se denomina lista de intenciones. Los archivos realmente se modifican pero antes de cambiar cualquier bloque: Se graba un registro en la bitácora (“log”) de escritura anticipada en un espacio de almacenamiento estable Si la transacción tiene éxito y se hace un compromiso, se escribe un registro del compromiso en la bitácora. Si la transacción aborta: Se puede utilizar la bitácora para respaldo del estado original Por medio de la bitácora se puede: Ir hacia adelante (realizar la transacción). Ir hacia atrás (deshacer la transacción).

62 Tipos de Sistemas Operativos Uno de los procesos que intervienen funciona como el coordinador. El coordinador escribe una entrada en la bitácora para indicar que inicia el protocolo. El coordinador envía a cada uno de los procesos relacionados (subordinados) un mensaje para que estén preparados para el compromiso. Cuando un subordinado recibe el mensaje: Verifica si está listo para comprometerse. Escribe una entrada en la bitácora. Envía de regreso su decisión. Cuando el coordinador ha recibido todas las respuestas sabe si debe establecer el compromiso El coordinador: Escribe una entrada en la bitácora. Envía un mensaje a cada subordinado para informarle de la decisión.

63 Tipos de Sistemas Operativos http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO0.htm http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO9.htm# ETP


Descargar ppt "Tipos de Sistemas Operativos. Proceso de transmisión y recepción de ideas, información, etc. Lenguaje. Símbolos y alfabetos. Transmisor, receptor y medio."

Presentaciones similares


Anuncios Google