Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf ·...
Transcript of Sistemas Operativos Distribuidos (Parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf ·...
![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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/1.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/2.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/3.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/4.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/5.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/6.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/7.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/8.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/9.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/10.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/11.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/12.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/13.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/14.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/15.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/16.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/17.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/18.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/19.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/20.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/21.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/22.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/23.jpg)
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](https://reader034.fdocumento.com/reader034/viewer/2022042713/5fa7012ab85a8a3ce579198f/html5/thumbnails/24.jpg)
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