sistemas operativos distribuidos
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
Sistemas Operativos Distribuidos
Ing. José L. SimónMayo 2000
Sistemas Distribuidos Ing. José L. Simón
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
KernelsProcesos y threadsServicios de comunicaciónInvocación de operacionesDistribució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
recurso
encapsulamiento
Modularidad
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
Invocación
Resolución de nombres
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 3
Proceso 2
Proceso 1 Espacio de direcciones
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 archivosMemoria virtual (paging)RPCProcesosIPCAdmin. 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
Microkernel
Microkernels
S1 S2 S3 S4