24
1 1 Sistemas Operativos Distribuidos (Parte 2) M. en C. Mario Farias-Elinos 2.2.2 Contenido Migración Soporte al Sistema operativo Comunicación entre procesos Servicio de nombres Sistema de archivos

Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

1

1

Sistemas Operativos Distribuidos (Parte 2)

M. en C. Mario Farias-Elinos

2.2.2

Contenido

MigraciónSoporte al Sistema operativoComunicación entre procesosServicio de nombresSistema de archivos

Page 2: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

2

2.2.3

Modelo de migración

Alternatives for code migration.

2.2.4

Migración en un sistema heterogeneo

3-15

Page 3: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

3

2.2.5

Implementación del agente de migración.

Arquitectura de Agentes de Tanenbaum

2.2.6

Agentes de un sistema distribuido

Propiedades importantes de un agente.

Capacidad de aprendizajeNoAdaptivo

Capacidad de migrar de un sitio a otroNoMobil

Tener un tiempo de vida largoNoContinuo

Pueden intercambiar información con usuarios y/o otros agentesSiCommunicativo

Iniciar acciones que afecten el ambienteSiProactivo

Responds timely to changes in its environmentSiReactivo

Capacidad de actuar por ellos mismosSiAutonomía

DescripciónComún para todos

Propiedad

Page 4: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

4

2.2.7

Tecnología de agentes

Modelo general de un agente

2.2.8

Capas del sistema

Applications, services

Computer &

Platform

Middleware

OS: kernel,libraries & servers

network hardware

OS1

Computer & network hardware

Node 1 Node 2

Processes, threads,communication, ...

OS2Processes, threads,communication, ...

Page 5: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

5

2.2.9

Funcionalidad del Kernel

Communicationmanager

Thread manager Memory manager

Supervisor

Process manager

2.2.10

Copy-on-write

a) Before write b) After write

Sharedframe

A's pagetable

B's pagetable

Process A’s address space Process B’s address space

Kernel

RA RB

RB copiedfrom RA

Page 6: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

6

2.2.11

Kernel monolítico VS µkernel

Monolithic Kernel Microkernel

Server: Dynamically loaded server program:Kernel code and data:

.......

.......

Key:

S4

S1 .......

S1 S2 S3

S2 S3 S4

2.2.12

Integración del microkernel

Middleware

Languagesupport

subsystem

Languagesupport

subsystem

OS emulationsubsystem ....

Microkernel

Hardware

The microkernel supports middleware via subsystems

Page 7: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

7

2.2.13

Activación del Scheduler

ProcessA

ProcessB

Virtual processors Kernel

Process

Kernel

P idle

P needed

P added

SA blocked

SA unblocked

SA preempted

A. Assignment of virtual processors to processes

B. Events between user-level scheduler & kernel Key: P = processor; SA = scheduler activation

2.2.14

Cliente/Servidor bajo threads

Server

N threads

Input-output

Client

Thread 2 makes

T1

Thread 1

requests to server

generates results

Requests

Receipt &queuing

Page 8: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

8

2.2.15

Otras formas de servidores con threads

a. Thread-per-request b. Thread-per-connection c. Thread-per-object

remote

workers

I/O remoteremote I/O

per-connection threads per-object threads

objects objects objects

2.2.16

Llamadas serializadas y concurrentes

Client Server

execute request

Send

Receiveunmarshal

marshal

Receiveunmarshal

process results

marshalSend

process args

marshalSend

process args

transmission

Receiveunmarshal

process results

execute request

Send

Receiveunmarshal

marshal

marshalSend

process args

marshalSend

process args

execute request

Send

Receiveunmarshal

marshal

execute request

Send

Receiveunmarshal

marshalReceive

unmarshalprocess results

Receiveunmarshal

process resultstime

Client Server

Serialised invocations Concurrent invocations

Page 9: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

9

2.2.17

Comunicación entre procesosControl transfer viatrap instruction

User Kernel

Thread

User 1 User 2

Control transfer viaprivileged instructions

Thread 1 Thread 2

Protection domainboundary

(a) System call

(b) RPC/RMI (within one computer)

Kernel

(c) RPC/RMI (between computers)

User 1 User 2

Thread 1 Network Thread 2

Kernel 2Kernel 1

2.2.18

El sistema X-Window

Esquema básico del X-Window

Page 10: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

10

2.2.19

Esquema general

a) Client-to-server binding using a daemon as in DCEb) Client-to-server binding using a superserver as in UNIX

3.7

2.2.20

Distribución del espacio de nombes

Ejemplo del DNS

Page 11: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

11

2.2.21

Ejemplo del servicio DNS

http://www.cdk3.net:8888/WebExamples/earth.html

URL

Resource ID (IP number, port number, pathname)

Network address

2:60:8c:2:b0:5a file

Web server

55.55.55.55 WebExamples/earth.html8888

DNS lookup

Socket

2.2.22

Interactuación con el DNS

Client1

2

3

A client iteratively contacts name servers NS1–NS3 in order to resolve a name

NS2

NS1

NS3

Nameservers

Page 12: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

12

2.2.23

Búsqueda Recursiva y no recursiva en el DNS

1

2

3

5

1

2

34

4

A name server NS1 communicates with other name servers on behalf of a client

client client

Recursiveserver-controlled

NS2

NS1

NS3

NS2

NS1

NS3

Non-recursiveserver-controlled

2.2.24

Interactuación entre servidores DNS

a.root-servers.net(root)

ns0.ja.net(ac.uk)

dns0.dcs.qmw.ac.uk(dcs.qmw.ac.uk)

alpha.qmw.ac.uk(qmw.ac.uk)

dns0-doc.ic.ac.uk(ic.ac.uk)

ns.purdue.edu(purdue.edu)

ukpurdue.edu

ic.ac.uk

qmw.ac.uk

dcs.qmw.ac.uk*.qmw.ac.uk

*.ic.ac.uk*.dcs.qmw.ac.uk

* .purdue.edu

ns1.nic.uk(uk)

ac.uk

co.uk

yahoo.com

Page 13: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

13

2.2.25

Servicio de nombres por recurso

Printing service

serviceLookup

serviceLookup

Printing

service

admin

admin

admin, finance

finance

Client

Client

Corporate infoservice

1. ‘finance’ lookup service?

2. Here I am: .....

3. Requestprinting

4. Use printingservice

Network

2.2.26

Estructura del X.500

Page 14: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

14

2.2.27

Ejemplo del uso del X.500

... France (country)Great Britain (country)Greece (country)...

BT Plc (organization)University of Gormenghast (organization)... ...

Department of Computer Science (organizationalUnit)Computing Service (organizationalUnit)

Engineering Department (organizationalUnit)

...

...

X.500 Service (root)

Departmental Staff (organizationalUnit)

Research Students (organizationalUnit)ely (applicationProcess)

...

...

Alice Flintstone (person) Pat King (person)James Healey (person) ...... Janet Papworth (person)...

2.2.28

Esquema del GNS

UK FR

AC

QMWDI: 322

Peter.Smith

passwordmailboxes

DI: 599 (EC)

DI: 574DI: 543

DI: 437

Alpha GammaBeta

Page 15: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

15

2.2.29

Home-mobil

The principle of Mobile IP.

2.2.30

Escalabilidad

Creación de subnodos que comparten la información paracubrir toda la red.

Page 16: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

16

2.2.31

Sistema de almacenamiento

Compartido Persis-tente

Replica/cachedistribuidos

Mantenimientoconsistencia

Ejemplo

Memoria principal RAM

Sistema de archivos UFS, FAT, NTFS

Sistema de archivos distribuido Sun NFS

Web Web server

Memoria distribuida compartida Ivy

Objetos remotos (RMI/ORB) CORBA

Almacenamiento de objetos 1 CORBA PersistentObject Service

Almacenamiento deobjetos distribuidos PerDiS, Khazana

1

1

1

2.2.32

Arquitectura del servicio de archivos

Client computer Server computer

Applicationprogram

Applicationprogram

Client module

Flat file service

Directory service

Page 17: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

17

2.2.33

Arquitectura del NFS

UNIX kernel

protocol

Client computer Server computer

system calls

Local Remote

UNIXfile

system

NFSclient

NFSserver

UNIXfile

system

Applicationprogram

Applicationprogram

NFS

UNIX

UNIX kernel

Virtual file systemVirtual file system

Oth

erfil

e sy

stem

2.2.34

Arquitectura del NFS

Page 18: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

18

2.2.35

Acceso al sistema de archivos local y remoto

jim jane joeann

usersstudents

usrvmunix

Client Server 2

. . . nfs

Remote

mountstaff

big bobjon

people

Server 1

export

(root)

Remote

mount

. . .

x

(root) (root)

2.2.36

Acceso al sistema de archivos local y remoto

Page 19: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

19

2.2.37

Automounting

2.2.38

Andrew File System (AFS)

Venus

Workstations Servers

Venus

VenusUserprogram

Network

UNIX kernel

UNIX kernel

Vice

Userprogram

Userprogram

ViceUNIX kernel

UNIX kernel

UNIX kernel

Page 20: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

20

2.2.39

Ejemplo del AFS

/ (root)

tmp bin cmuvmunix. . .

bin

SharedLocal

Symboliclinks

2.2.40

Llamadas del sistema en AFS

UNIX filesystem calls

Non-local fileoperations

Workstation

Localdisk

Userprogram

UNIX kernel

Venus

UNIX file system

Venus

Page 21: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

21

2.2.41

Arquitectura del CFS

2.2.42

Arquitectura del CFS

Page 22: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

22

2.2.43

Comunicación del CFS

2.2.44

Uso del servicio de nombres

Page 23: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

23

2.2.45

Replicación en CFS

2.2.46

Operación de desconexión

Page 24: Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf · Serialised invocations Concurrent invocations. 9 2.2.17 Comunicación entre procesos Control

24

2.2.47

Comparativa de xFS

NFS BASEDUNIX basedUNIX basedDirectory operationsMany operationsAccess control

Self-cert.No pathnamesNeedham-SchroederNeedham-SchroederExisting mechanismsSecure channels

N/SCheckpoint & write logsN/SReintegrationClient-basedRecovery

Reliable comm.StripingReliable comm.Replication and cachingReliable comm.Fault tolerance

NoneStripingNoneROWAMinimalReplication

write-backwrite-backwrite-throughwrite-backwrite-backCache consist.

N/SUNIXUNIXTransactionalSessionSharing sem.

File systemGlobalServerGlobalFile serverFile ID scope

GlobalGlobalPer processGlobalPer clientName space

DirectoryFile systemFile systemFile systemDirectoryMount granularity

NoYesNoYesNoServer groups

MediumFatThinFatThin/FatClient process

RPCActive msgsSpecialRPCRPCCommunication

RemoteLog-basedRemoteUp/DownloadRemoteAccess model

Scalable securityServerless systemUniformityHigh availabilityAccess transparencyDesign goals

SFSxFSPlan 9CodaNFSIssue