sistemas operativos distribuidos (parte 2)mario.elinos.org.mx/docencia/socd/chap02b.pdf ·...
TRANSCRIPT
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
2
2.2.3
Modelo de migración
Alternatives for code migration.
2.2.4
Migración en un sistema heterogeneo
3-15
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
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, ...
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
21
2.2.41
Arquitectura del CFS
2.2.42
Arquitectura del CFS
22
2.2.43
Comunicación del CFS
2.2.44
Uso del servicio de nombres
23
2.2.45
Replicación en CFS
2.2.46
Operación de desconexión
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