Download Sistemas Operativos Distribuidos

Document related concepts

Docker wikipedia , lookup

Cooperative Linux wikipedia , lookup

MINIX wikipedia , lookup

Computación distribuida wikipedia , lookup

Anillo (seguridad informática) wikipedia , lookup

Transcript
Sistemas Operativos
Distribuidos
Ing. José L. Simón
Mayo 2000
Definiciones
Un sistema operativo distribuido muestra
al sistema distribuido subyacente como
una colección de recursos, abstrayendo su
complejidad física (computadoras, redes,
nodos) y lógica (protocolos, dominios)
Permite a las aplicaciones interactuar con
los recursos en forma protegida y
ordenada
Sistemas Distribuidos
Ing. José L. Simón
Definiciones
El encapsulamiento de recursos puede
ocultar, por ejemplo, la replicación de una
base de datos u otro servicio
El sistema operativo distribuido ordena y
sincroniza los accesos concurrentes a cada
recurso compartido
Sistemas Distribuidos
Ing. José L. Simón
Conceptos básicos
Encapsulamiento y protección de recursos
Kernels
Procesos y threads
Servicios de comunicación
Invocación de operaciones
Distribución de memoria
Sistemas Distribuidos
Ing. José L. Simón
Conceptos
Un sistema operativo distribuido permite
diseñar aplicaciones que se ejecutan
sobre el sistema distribuido subyacente
Presenta a los recursos como
abstracciones orientadas al dominio del
problema:
Canales de comunicación  redes
Procesos  procesadores
Sistemas Distribuidos
Ing. José L. Simón
Implementación
Un sistema operativo distribuido es una
colección de kernels y procesos
servidores que brindan la abstracción
antedicha
Una red de computadoras con Windows o
Unix no es un sistema operativo
distribuido porque la frontera entre los
recursos está claramente definida
Sistemas Distribuidos
Ing. José L. Simón
Implementación
encapsulamiento
Modularidad
recurso
Protección
Concurrencia
Replicación
Sistemas Distribuidos
Ing. José L. Simón
Acceso a los recursos
compartidos
El sistema operativo distribuido brinda un
mecanismo de invocación para el acceso a
los recursos compartidos
Para poder usar un recurso, una
aplicación debe tener acceso al nombre
de ese recurso
Sistemas Distribuidos
Ing. José L. Simón
Invocación
Por ej. una aplicación pide acceso al
servicio de impresión mediante un nombre
de impresora y no su ubicación en la red
El sistema operativo distribuido debe
‘mapear’ esa invocación a la impresora
física
Sistemas Distribuidos
Ing. José L. Simón
Invocación
Resolución de nombres
Invocación
Comunicación
Scheduling (concurrencia)
Sistemas Distribuidos
Ing. José L. Simón
Administración de recursos
El sistema operativo distribuido debe
proveer mecanismos y políticas para la
administración de recursos compartidos
Mecanismo: forma
Política: orden
Sistemas Distribuidos
Ing. José L. Simón
Kernels
En los sistemas operativos es la parte de
software que administra los recursos,
ejecuta las aplicaciones, controla el
hardware y establece las prioridades.
El código del kernel se ejecuta al mayor
nivel de privilegio, es decir, puede acceder
a los dispositivos físicos en forma
irrestricta
Sistemas Distribuidos
Ing. José L. Simón
Kernels
El kernel administra la memoria,
asignando ‘espacios de direcciones’
privados para cada proceso en ejecución
Establece allí el privilegio de
lectura/escritura para uno o mas procesos
Impide a otros procesos el acceso no
controlado a ese espacio
Sistemas Distribuidos
Ing. José L. Simón
Espacio de direcciones
Proceso 1
Espacio de direcciones
Proceso 2
Proceso 3
Sistemas Distribuidos
Ing. José L. Simón
Kernels: ejecución de
aplicaciones
El kernel se ejecuta en ‘modo supervisor’,
al máximo nivel de privilegios
Las aplicaciones lo hacen em ‘modo
usuario’, con privilegios restringidos
Los servicios del kernel se acceden
mediante ‘system calls’ o ‘kernel traps’
Sistemas Distribuidos
Ing. José L. Simón
Servicios
Servicio de archivos
Memoria virtual (paging)
RPC
Procesos
IPC
Admin. memoria
Sistemas Distribuidos
Ing. José L. Simón
Kernels: tipos
Monolíticos: el kernel incluye todos los
servicios
Microkernels: el kernel brinda un conjunto
mínimo de servicios indispensables. El
resto se implementa como servicios en
modo usuario
Sistemas Distribuidos
Ing. José L. Simón
Kernels monolíticos
Servicios
Kernel
Sistemas Distribuidos
Ing. José L. Simón
Microkernels
S1
S2
S3
S4
Microkernel
Sistemas Distribuidos
Ing. José L. Simón