La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Teoría de Sistemas Operativos

Presentaciones similares


Presentación del tema: "Teoría de Sistemas Operativos"— Transcripción de la presentación:

1 Teoría de Sistemas Operativos
Sistemas distribuidos

2 HARDWARE + ENLACE DE DATOS + PROTOCOLOS DE ACCESO
Sistemas Distribuidos APLICACIONES RLOGIN RSH SMTP FTP TELNET DNS TFTP BOOTP NFS XDR RPC TCP/UDP IP + ICMP + IGMP ARP RARP HARDWARE + ENLACE DE DATOS + PROTOCOLOS DE ACCESO

3 (Remote Procedure Call)
Sistemas Distribuidos Protocolo RPC (Remote Procedure Call)

4 Sistemas Distribuidos
Protocolo RPC (Remote Procedure Call) RPC es un protocolo que provee un paradigma de comunicación de alto nivel . (Protocolo capa 5 - Sesión) RPC asume la existencia de un protocolo de transporte de más bajo nivel , tal como TCP/IP o UDP. RPC implemente un sistema de comunicación tipo cliente-servidor y fue diseñado específicamente para soporte a aplicaciones en redes de computadores.

5 Sistemas Distribuidos
Paradigma de comunicación de RPC

6 Sistemas Distribuidos
Paradigma de comunicación de RPC Proc. Usuario 1 2 3 HOST K HOST M 1.- El proceso usuario realiza una llamada RPC. 2.- El cliente RPC empaqueta la llamada. 3.- El cliente transmite el mensaje RPC al Server RPC

7 Sistemas Distribuidos
Paradigma de comunicación de RPC 1 2 3 4 5 6 Proc. Usuario HOST K HOST M 7 8 4.- El mensaje RPC es decodificado por el server 5.- Se ejecuta el procedimiento 6.- El server empaqueta los resultados en un mensaje RPC

8 Sistemas Distribuidos
Paradigma de comunicación de RPC La comunicación es ocultada por los llamadas a procedimientos. Estos procedimientos puden ser ejecutados en distintos hosts. RPC oculta los detalles. Un programador decide qué procedimientos son ejecutados y dónde.

9 Sistemas Distribuidos
Paradigma de comunicación de RPC Para ocultar los detalles, los procedimientos remotos se deben ejecutar como locales. Solución: Usar un generador RPC (RPCGEN) que automáticamente genere la parte cliente y la parte servidor.

10 Sistemas Distribuidos
Paradigma de comunicación de RPC RPCGEN

11 Sistemas Distribuidos
Paradigma de comunicación de RPC client.c date_proc.c gcc RPC library client date.x RPCGEN date_clnt.c date_svc.c date.h gcc date_svc

12 Sistemas Distribuidos
Paradigma de comunicación de RPC Los RPC funcionan mediante un portmapper, un puerto que mapea las peticiones RPC a los puertos correspondientes. (puerto 111/tcp)(RPCBIND)

13 (eXternal Data Representation)
Sistemas Distribuidos Protocolo XDR (eXternal Data Representation)

14 Sistemas Distribuidos
XDR (eXternal data Representation) Características Protocolo que trabaja en la capa de presentación del modelo OSI. Define un formato de representación de datos independiente de la máquina. Permite la comunicación entre distintas plataformas de HW.

15 Sistemas Distribuidos
XDR (eXternal data Representation)

16 Sistemas Distribuidos
Protocolo NFS (Network File System)

17 . . . Sistemas Distribuidos Protocolo NFS (Network File System)
El Network File System fue desarrollado por Sun Microsystems. Permite compartir recursos en forma independiente de la máquina y transparente para el usuario. WS 1 WS 2 . . . Srv NFS

18 Sistemas Distribuidos
Protocolo NFS (Network File System) NFS utiliza RPC a través del protocolo XDR para lograr la comunicación entre distintos computadores. NFS permite a los usuarios y procesos operaciones transparentes de Lectura/Escritura en sistemas de archivos remotos. El cliente lo usa como si fuera parte de su sistema de archivos local.

19 Sistemas Distribuidos
Protocolo NFS (Network File System) NFS no mantiene un estado general de sus conexiones ==> problema delegado hacia RPC. El NFS server no mantiene información acerca del estado de los archivos que tienen abiertos los clientes ==> esto debe ser realizado por los clientes.

20 Sistemas Distribuidos
Protocolo NFS (Network File System) En UNIX un archivo se puede abrir y bloquear para que otros procesos no tengan acceso a él. Al cerrar el archivo, se liberan los bloqueos. En un servidor sin estado como NFS, las cerraduras no se pueden asociar con los archivos abiertos, puesto que el servidor no sabe cuáles son los archivos están abiertos. ==> NFS necesita un mecanismo independiente adicional para controlar los bloqueos. ==> nfslockd

21 Sistemas Distribuidos
Protocolo NFS (Network File System) Un ejemplo Servidor NFS (darkcity) Cliente NFS (pc01) Cliente SO: Linux Hw: i386 Nombre: pc01 Servidor SO: SunOS 2.6 Hw: Sparc Nombre: darkcity

22 Sistemas Distribuidos
Protocolo NFS (Network File System) Un ejemplo Prueba: - Usuario “test” se logea en pc01 - En darkcity se baja el servicio de NFS. - No se producen errores fatales en pc01 y cuando se inicia nuevamente NFS, el cliente se recupera satisfactoriamente.

23 Sistemas Distribuidos
Protocolo NFS (Network File System) Implantación (vnodes)

24 Sistemas Distribuidos
Protocolo NFS (Network File System) Utilización Para utiliza el NFS debe existir “algo” que permita acceder a dichos recursos: El protocolo de montaje Mount es utilizado para especificar el host remoto y el sistema de archivos al que se va a acceder. Además indica dónde se va a localizar en la jerarquía local de archivos.

25 Sistemas Distribuidos
Protocolo NFS (Network File System) Utilización El protocolo Mount es una aplicación de RPC integrada con NFS. Tal como NFS, este protocolo es transportado por UDP. Mount es un servidor RPC y proporciona un total de seis procedimientos.

26 Sistemas Distribuidos
Protocolo NFS (Network File System) Utilización NULL No hace nada, es útil para testear las respuestas del servidor MOUNT Función Mount, devuelve un descriptor de fichero apuntando al directorio DUMP Devuelve la lista de todos los sistemas de ficheros montados

27 Sistemas Distribuidos
Protocolo NFS (Network File System) Utilización UMOUNT Elimina una entrada de la lista de sistemas de ficheros montados UNMTALL Elimina todas de las entradas de la lista de sistemas de ficheros montados para el cliente EXPORT Devuelve información sobre los sistemas de ficheros disponibles

28 Sistemas Distribuidos
Protocolo NFS (Network File System) Utilización La llamada a MOUNT devuelve un descriptor de archivo que apunta al directorio. Este descriptor es un campo de 32 bytes, que el cliente usará posteriormente para acceder a los archivo. Los descriptores son una parte fundamental de NFS ya que a través de ellos se referenciará cada archivo y directorio. El comando MOUNT aporta la interfaz a esta aplicación de RPC. El usuario ejecuta el comando MOUNT para localizar el sistema de archivos remoto en su propia jerarquía de ficheros

29 Recurso compartido (exportado) en el servidor
Sistemas Distribuidos Protocolo NFS (Network File System) Utilización Se utiliza el comando mount, al que se le especifica en nombre del host servidor y la ruta a montar en el cliente. mount joshua:/opt/public /mnt/test Recurso compartido (exportado) en el servidor Lugar en el sistema de archivos local donde se va a acceder a dicho recurso

30 Sistemas Distribuidos
Protocolo NFS (Network File System) Utilización Cliente Servidor Directorio “exportado” mnt opt test public file1 Punto de montaje fileN

31 Sistemas Distribuidos
Protocolo NFS (Network File System) Utilización El programa mount analiza el nombre del recurso remoto. Si dicho recurso esta disponible, el servidor retorna un identificador de archivo. Dicho identificador se le pasa al kernel y construye un vnodo para este recurso. Para aumentar la eficiencia, los datos se envían en bloques grandes, generalmente de 8Kb.

32 Sistemas Distribuidos
Protocolo NFS (Network File System) Utilización Existe una especia de caché para agilizar las lecturas y escrituras  problemas de coherencia. Solución : cada bloque que está en caché se le asocia un período de expiración. Generalmente 3 segundo para los bloques de archivos y 30 segundos para los bloques de directorios.


Descargar ppt "Teoría de Sistemas Operativos"

Presentaciones similares


Anuncios Google