sistemas operativos: una visión aplicada - arcos · – diferencias entre lan y wan cada vez más...

54
Sistemas operativos: una visión aplicada Capítulo 10 Introducción a los sistemas distribuidos

Upload: vothuan

Post on 10-Apr-2018

229 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada

Capítulo 10 Introducción a los sistemas distribuidos

Page 2: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 1 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos• Sistemas operativos distribuidos• Comunicación de procesos• Sincronización de procesos• Gestión de procesos• Sistemas de archivos• Gestión de memoria

Page 3: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 2 © J. Carretero, F. García, P. de Miguel, F. Pérez

Conceptos previos

• Un programaes un conjunto de instrucciones.• Un procesoes un programa en ejecución.• Una red de computadoreses un conjunto de computadores

conectados por una red de interconexión.• Un sistema distribuido(SD)

– Modelo físico: conjunto de nodos (procesadores sin memoria ni reloj común) conectados por una red.

– Modelo lógico: conjunto de procesos que ejecutan concurrentementeen uno o más computadores que colaboran y comunican intercambiando mensajes.

• Un protocoloes un conjunto de reglas e instrucciones que gobiernan la comunicación en un sistema distribuido, es decir, el intercambio de mensajes.

Page 4: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 3 © J. Carretero, F. García, P. de Miguel, F. Pérez

Arquitectura de un sistema distribuido

Red de interconexión

Page 5: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 4 © J. Carretero, F. García, P. de Miguel, F. Pérez

Redes e interconexión

• Paquete: tipo de mensaje que se intercambia entre dos dispositivos de comunicación.– Tamaño limitado por el hardware

• Mensaje: objeto lógico que se intercambian entre dos o más procesos.– Su tamaño puede ser bastante grande.– Un mensaje se descompone en paquetes.

• Subsistema de comunicación: conjunto de componentes HW y SW que proporcionan servicios de comunicación en un sistema distribuido.

• Protocolo: conjunto de reglas e instrucciones que gobiernan el intercambio de paquetes y mensajes

Page 6: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 5 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tipos de redes de computadores

• Redes de área local(LAN, Local Area Network)– Redes que enlazan sistemas cercanos– Posibilidad de difusión de mensajes (broadcast)

• Redes de área extensa(WAN, Wide Area Network)– Poco ancho de banda (20-500 Kbps)– Bajas latencias– Redes telefónicas, redes públicas de datos, fiabra óptica

RDSI, B-RDSI, ATM• Nuevos desarrollos en telecomunicaciones (ATM y RDSI)

– Diferencias entre LAN y WAN cada vez más borrosas

Page 7: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 6 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplos de protocolos

• Protocolosinternet:– Originados por el trabajo de DARPA en los 70– Muy utilizados en la actualidad– Gran crecimiento durante los 90 debido al uso del Web

• Protocolos OSI (open system interconection)– Estándar desarrollado por ISO

• Estándares propietarios– SNA de IBM (años 70)– DECnet desarrollado por DEC– NetWare: red de Novell para redes de PC

Page 8: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 7 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protocolos TCP/IP

Emisor Receptor

Page 9: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 8 © J. Carretero, F. García, P. de Miguel, F. Pérez

Encaminamiento

• Permite que los paquetes viajen del proceso emisor al receptor.• Algoritmo:

– Un programa de aplicación genera un paquete, o bien se lee un paquete de la interfaz de red.

– Si el paquete es para la máquina, se acepta.– En caso contrario, se incrementa el contador de saltos, si se

excede el máximo, el paquete se descarta.– Si el paquete no es para la máquina se busca en la tabla de

encaminamiento y se retransmite a la interfaz adecuada.• Tablas estáticas, las más utilizadas• Tablas dinámicas

Page 10: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 9 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos

• Sistemas operativos distribuidos• Comunicación de procesos• Sincronización de procesos• Gestión de procesos• Sistemas de archivos• Gestión de memoria

Page 11: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 10 © J. Carretero, F. García, P. de Miguel, F. Pérez

Sistema operativo en red (SOR)

• El usuario ve un conjunto de máquinas independientes– No hay transparencia

• Se debe acceder de forma explícita a los recursos de otras máquinas

• Difíciles de utilizar para desarrollar aplicaciones distribuidas

Sistema operativo

Lenguajes de programación

Aplicaciones

Red de interconexión

Hardware

Sistema operativo

Lenguajes de programación

Aplicaciones

Hardware

Page 12: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 11 © J. Carretero, F. García, P. de Miguel, F. Pérez

Sistema operativo distribuido (SOD)

• Se comporta como un SO único (visión única)– Distribución. Transparencia

• Se construyen normalmente como micronúcleos que ofrecen servicios básicos de comunicación– Mach, Amoeba, Chorus.

• Todos los computadores deben ejecutar el mismo SOD

Sistema operativo distribuido

Lenguajes de programación

Aplicaciones

Red de interconexión

Hardware Hardware

Page 13: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 12 © J. Carretero, F. García, P. de Miguel, F. Pérez

Middleware y entornos distribuidos

• Servicios y protocolos estándarizados: Sistemas abiertos• Ofrecen servicios no incluidos en el SO (servicios de ficheros

distribuidos, servicios de nombres, ...)• Facilitan el desarrollo de aplicaciones distribuidas• Independientes del HW y del SO subyacente. • DCE, CORBA, DCOM, Legion, Globe, Globus

Sistema operativo

Middleware

Lenguajes de programación

Aplicaciones

Red de interconexión

Hardware

Sistema operativo

Hardware

Page 14: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 13 © J. Carretero, F. García, P. de Miguel, F. Pérez

Servicios de un sistema operativo distribuido

• Servicios de comunicación• Servicios de sincronización• Gestión distribuida de procesos• Sistemas de archivos distribuidos• Memoria compartida distribuida

Page 15: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 14 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos• Sistemas operativos distribuidos

• Comunicación de procesos• Sincronización de procesos• Gestión de procesos• Sistemas de archivos• Gestión de memoria

Page 16: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 15 © J. Carretero, F. García, P. de Miguel, F. Pérez

Comunicación cliente-sevidor

• Protocolo típico: petición-respuesta

• Muy utilizada en entornos distribuidos (más del 90% de los sistemas distribuidos utilizan la arquitectura cliente-servidor)

NÚCLEO

cliente

petcición

respuesta

servidor

Máquina A Máquina B

NÚCLEO

RED

Page 17: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 16 © J. Carretero, F. García, P. de Miguel, F. Pérez

Sockets

• Aparecieron en 1981 en UNIX BSD 4.2– Intento de incluir TCP/IP en UNIX– Diseño independiente del protocolo de comunicación

• Un socket es punto final de comunicación (dirección IP y puerto)

• Abstracción que:– Ofrece interfaz de acceso a los servicios de red en el nivel de

transporte• Protocolo TCP• Protocolo UDP

– Representa un extremo de una comunicación bidireccional con una dirección asociada

Page 18: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 17 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tipos de sockets

• Stream(SOCK_STREAM)– Orientado a conexión– Fiable, se asegura el orden de entrega de mensajes– No mantiene separación entre mensajes– Si PF_INET se corresponde con el protocolo TCP

• Datagrama(SOCK_DGRAM)– Sin conexión– No fiable, no se asegura el orden en la entrega – Mantiene la separación entre mensajes– Si PF_INET se corresponde con el protocolo UDP

• Raw(SOCK_RAW)– Permite el acceso a los protocolos internos como IP

Page 19: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 18 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplo

• Programa que obtiene la dirección en formato decimal-punto a partir de un formato dominio-punto.void main(int argc, char **argv) {

struct hostent *hp;struct in_addr in;

hp = gethostbyname(argv[1]);if (hp == NULL) {

printf(“Error en gethostbyname\n”);exit(0);

}memcpy(&in.s_addr,*(hp->h_addr_list),sizeof(in.s_ad dr));printf(“%s es %s\n”, hp->h_name, inet_ntoa(in));

}

Page 20: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 19 © J. Carretero, F. García, P. de Miguel, F. Pérez

Escenario típico con sockets streams

Proceso cliente

Proceso servidor

socket()

socket()

bind()

listen()

accept() Crearthread

read()

close()

accept()

connect()Abrir conexión

read()

close()

Peticiónwrite()

Respuestawrite()

Page 21: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 20 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplo (TCP)

NÚCLEO

clientesumar(5,2)

5+2

Restulado = 7

servidor

Máquina A Máquina B

NÚCLEO

RED

Page 22: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 21 © J. Carretero, F. García, P. de Miguel, F. Pérez

Cliente (datagramas)

bzero((char *)&client_addr, sizeof(client_addr));client_addr.sin_family = AF_INET;client_addr.sin_addr.s_addr = INADDR_ANY;client_addr.sin_port = htons(0);

bind (s, (struct sockaddr *)&client_addr, sizeof(client_addr));

num[0] = 2; num[1] = 5;

sendto(s, (char *)num, 2 * sizeof(int), 0, (struct sockaddr *) &server_addr, sizeof(server_addr));

recvfrom(s, (char *)&res, sizeof(int), 0, NULL, NULL);

printf("2 + 5 = %d\n", res);close(s);

}

Page 23: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 22 © J. Carretero, F. García, P. de Miguel, F. Pérez

Llamadas a procedimientos remotos (RPC)

• RPC (remote procedure call): llamadas a procedimiento remoto (Birrel y Nelson 1985)

• Híbrido entre llamadas a procedimientos y paso de mensajes• Las RPC constituyen el núcleo de muchos sistemas distribuidos• Llegaron a su culminación con DCE (Distributed Computing

Environment)• Han evolucionado hacia orientación a objetos

– Invocación de métodos remotos (CORBA, RMI)

Page 24: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 23 © J. Carretero, F. García, P. de Miguel, F. Pérez

Funcionamiento de las RPC

• El proceso que realiza la llamada empaqueta los argumentos en un mensaje, se los envía a otro proceso y espera el resultado

• El proceso que ejecuta el procedimiento extrae los argumentos del mensaje, realiza la llamada de forma local, obtiene el resultado y se lo envía de vuelta al proceso que realizó la llamada

• Objetivo: acercar la semántica de las llamadas a procedimiento convencional a un entorno distribuido (transparencia).

Page 25: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 24 © J. Carretero, F. García, P. de Miguel, F. Pérez

Llamadas y mensajes en una RPC

SISTEMA CLIENTE

CÓDIGO DE LA APLICACIÓN

PREPARAENTRADA

CONVIERTESALIDA

INICIOLLAMADAsuma(5,2)

FINLLAMADA = 7

RESGUARDOCLIENTE 2

1

5

3

PROCEDIMIENTOS

EJECUTAPROCEDIMIENTO

REMOTO

SISTEMA SERVIDOR

RESGUARDOSERVIDOR

PREPARASALIDA

CONVIERTEENTRADA

4

67

Page 26: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 25 © J. Carretero, F. García, P. de Miguel, F. Pérez

RPC: protocolo básico

cliente servidor

Desempaqueta

la respuesta

Se registra con un servicio de nombres

recibe petición

Ejecuta elprocedimiento

envía petición

“enlaza con el servidor”

prepara parámetros, envía petición

Page 27: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 26 © J. Carretero, F. García, P. de Miguel, F. Pérez

Aplanamiento

SISTEMA CLIENTE

CÓDIGO DE LA APLICACIÓN

RESGUARDOCLIENTE

Procedimiento(”ABC”, 123, 12.34)

aplanamiento

mensaje

Tira de bytes

A B C 123 12.34

PROCEDIMIENTOS

SISTEMA SERVIDOR

RESGUARDOSERVIDOR

Extrae los parámetros

A B C 123 12.34

Procedimiento(”ABC”, 123, 12.34)

Page 28: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 27 © J. Carretero, F. García, P. de Miguel, F. Pérez

Enlace dinámico(Binding)

• Enlace dinámico: permite localizar objetos con nombre en un sistema distribuido, en concreto, servidores que ejecutan las RPC.

• Tipos de enlace:– Enlace no persistente: la conexión entre el cliente y el

servidor se establece en cada RPC. – Enlace persistente: la conexión se mantiene después de la

primera RPC.• Útil en aplicaciones con muchas RPC repetidas• Problemas si lo servidores cambian de lugar

Page 29: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 28 © J. Carretero, F. García, P. de Miguel, F. Pérez

Establecimiento de la comunicación en una RPC

Servidor de nombres

1. Registrar procedimiento

5. Dar de bajaprocedimiento

2. Buscarservidor

3. Direccióndel servidor

4. Ejecutarprocedimiento

servidor

servidor

Máquina A Máquina B

Máquina C

Page 30: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 29 © J. Carretero, F. García, P. de Miguel, F. Pérez

Programación con RPC

COMPILADOR C COMPILADOR C

COMPILADOR CCOMPILADOR C

CABECERA CABECERAFICHEROSFUENTE DEL

CLIENTE

FICHEROSOBJETO DEL

CLIENTE

FICHEROSOBJETO DEL

SERVIDOR

EJECUTABLEDEL

CLIENTE

EJECUTABLEDEL

SERVIDOR

FICHEROSFUENTE DEL

SERVIDOR

OBJETOSUPLENTEEN CLIENTE

OBJETOSUPLENTE

EN SERVIDOR

MONTADOR MONTADOR

BIBLIOT.RPC

BIBLIOT.RPC

DESARROLLODE LA

INTERFAZ

DESARROLLODEL

CLIENTE

DESARROLLODEL

SERVIDOR

COMPILADOR IDL

SUPLENTEEN SERVIDOR

SUPLENTEEN CLIENTE

CABECERA

FICHERODE DEFINICIÓNDE INTERFAZ

Page 31: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 30 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplos de paquetes de RPC

• RPC de Sun (1990) utilizado en NFS• RPC del proyecto ANSA (1989) desarrollado por Architecture

Project Management Ltd. (Cambridge, Inglaterra)• RPC de DCE (1990), estándar desarrollado por Open Software

Foundation

Page 32: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 31 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplo

NÚCLEO

clientesumar(5,2)

5+2

Restulado = 7

servidor

Máquina A Máquina B

NÚCLEO

RED

Page 33: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 32 © J. Carretero, F. García, P. de Miguel, F. Pérez

Esquema de la aplicación

suma.xrepcgen

suma_svc.c

servidor.c

suma.h

suma_xdr.c

suma_clnt.c

cliente.cArchivos para

el cliente

Archivoscomunes

Archivos parael servidor

Page 34: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 33 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos• Sistemas operativos distribuidos• Comunicación de procesos

• Sincronización de procesos• Gestión de procesos• Sistemas de archivos• Gestión de memoria

Page 35: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 34 © J. Carretero, F. García, P. de Miguel, F. Pérez

Relojes lógicos

• En ausencia de un reloj global la relación causa-efecto (precede a) es la única posibilidad de ordenar eventos

• Relación de precedencia (Lamport)– Si a y b son dos eventos del mismo proceso ya ocurrió antes

que b, entonces a� b– Si a=send(m) y b=receive(m), entonces a � b– La relación es transitiva

• Dos eventos son concurrentes (a || b) si no se puede deducir entre ellos una relación de causalidad potencial

Page 36: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 35 © J. Carretero, F. García, P. de Miguel, F. Pérez

Mantenimiento de los relojes lógicos

Page 37: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 36 © J. Carretero, F. García, P. de Miguel, F. Pérez

Relojes vectoriales

• Desarrollado independientemente por Fidge, Mattern y Schmuck• Todo proceso lleva asociado un vector de enteros RV• RVi[a] es el valor del reloj vectorial del proceso i cuando

ejecuta el evento a.• Mantenimiento de los relojes vectoriales

– Inicialmente RVi= 0– Cuando un procesoi genera un evento

• RVi[i ] = RV i[i ] +1– Todos los mensajes llevan el RV del envío– Cuando un procesoj recibe un mensaje con RV

• RVj = max(RVj , RV ) (componente a componente)• RVj[j ] = RV j[j ] +1 (evento de recepción)

Page 38: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 37 © J. Carretero, F. García, P. de Miguel, F. Pérez

Relojes vectoriales

P0(1,0,0) (2,1,0) (3,1,2) (4,1,2) (5,1,2)

(1,0,1) (1,0,2) (1,0,3) (1,0,4) (5,1,5)

(0,1,0)

(1,2,3)

(4,3,3)P1

P2

Page 39: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 38 © J. Carretero, F. García, P. de Miguel, F. Pérez

Exclusión mutua distribuida

• Los procesos ejecutan el siguiente fragmento de códigoentrada()SECCIÓN CRÍTICAsalida()

• Requisitospara resolver el problema de la sección crítica– Exclusión mutua– Progreso– Espera acotada

• Algoritmos– Algoritmo centralizado– Algoritmo distribuido– Anillo con testigo

Page 40: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 39 © J. Carretero, F. García, P. de Miguel, F. Pérez

Algoritmo centralizado

• Existe un proceso coordinador

0

entradaOK

C

1 2

No hay respuespuesta(bloquea al cliente)

0

entrada

C

1 2

OK

0

salida

C

1 2

Page 41: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 40 © J. Carretero, F. García, P. de Miguel, F. Pérez

Anillo con testigo

• Los procesos se ordenan conceptualmente como un anillo.• Por el anillo circula un testigo. • Cuando un proceso quiere entrar en la SC debe esperar a recoger

el testigo• Cuando sale de la SC envía el testigo al nuevo proceso del anillo

2

1testigo

3

4

5

6

Page 42: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 41 © J. Carretero, F. García, P. de Miguel, F. Pérez

Algoritmo distribuido

• Algoritmo de Ricart y Agrawala requiere la existencia un orden total de todos los mensajes en el sistema

• Un proceso que quiere entrar en una sección crítica (SC) envía un mensaje a todos los procesos (y a él mismo)

• Cuando un proceso recibe un mensaje– Si el receptor no está en la SC ni quiere entrar envía OK al

emisor– Si el receptor ya está en la SC no responde– Si el receptor desea entrar, compara la marca de tiempo del

mensaje. Si el mensaje tiene una marca menor envía OK. En caso contrario entra y no envía nada.

• Cuando un proceso recibe todos los mensajes puede entrar

Page 43: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 42 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos• Sistemas operativos distribuidos• Comunicación de procesos• Sincronización de procesos

• Gestión de procesos• Sistemas de archivos• Gestión de memoria

Page 44: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 43 © J. Carretero, F. García, P. de Miguel, F. Pérez

Modelos de sistema

• Conjunto de estaciones de trabajo– El sistema consta de estaciones de trabajo a las que tienen

acceso los usuarios.• Pool de procesadores

– Los usuarios con terminales.– Los procesos se envían a procesadores de un pool.

• Modelo híbridos– Trabajos interactivos en las estaciones de trabajo.– Trabajos no interactivos en en el poolde procesadores.

Page 45: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 44 © J. Carretero, F. García, P. de Miguel, F. Pérez

Estrategias para localizar una estación inactiva

Nodo Nodo

Tengo poca carga.Podéis mandarme procesos

Tengo mucha carga.Busco estación inactiva

(a) (b)

Page 46: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 45 © J. Carretero, F. García, P. de Miguel, F. Pérez

Algoritmos de distribución de la carga

• Política de transferencia: determina cuando transferir.• Política de selección: selecciona el proceso a transferir.• Política de ubicación: selecciona el nodo al que transferir.• Política de información: decide cuándo, desde dónde y qué

información sobre otros nodos recoger.

Page 47: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 46 © J. Carretero, F. García, P. de Miguel, F. Pérez

Planificación de procesos

Page 48: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 47 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos• Sistemas operativos distribuidos• Comunicación de procesos• Sincronización de procesos• Gestión de procesos

• Sistemas de archivos• Gestión de memoria

Page 49: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 48 © J. Carretero, F. García, P. de Miguel, F. Pérez

Sistema de archivos distribuido

• Objetivo principal: compartir datos entre usuarios ofreciendo transparencia

• Objetivos secundarios: – rendimiento (debería ser comparable al de un sistema

tradicional)– tolerancia a fallos– disponibilidad

Page 50: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 49 © J. Carretero, F. García, P. de Miguel, F. Pérez

Arquitectura

Cliente

Servidor Servidor

Cliente

RED DE INTERCONEXIÓN

......................

......................

........ ........CTR

.....

CTR

.....

CTR

.....

CTR

.....

Page 51: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 50 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tipos de servidores

• Servidores con estado– Cuando se abre un fichero, el servidor almacena información

y da al cliente un identificador único a utilizar en las posteriores llamadas

– Cuando se cierra un fichero se libera la información• Servidores sin estado

– Cada petición es autocontenida (fichero y posición)

Page 52: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 51 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos• Sistemas operativos distribuidos• Comunicación de procesos• Sincronización de procesos• Gestión de procesos• Sistemas de archivos

• Gestión de memoria

Page 53: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 52 © J. Carretero, F. García, P. de Miguel, F. Pérez

Uso de paginadores externos

Paginador externo

Mensajes

Transferir página

Fallos de página

Espacio dedireccionesdel proceso

Nodo A

Núcleo

Nodo B

Núcleo

Page 54: Sistemas operativos: una visión aplicada - ARCOS · – Diferencias entre LAN y WAN cada vez más borrosas. ... Sistema operativo en red ... sistemas distribuidos utilizan la arquitectura

Sistemas operativos: una visión aplicada 53 © J. Carretero, F. García, P. de Miguel, F. Pérez

Memoria compartida distribuida

Memoriafísica

Nodo A

proceso

Memoriafísica

Nodo B

proceso

Memoriafísica

Nodo C

proceso

Red de interconexión

Memoria compartida distribuida