190 likes | 316 Views
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)
E N D
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 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 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 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 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 Ing. José L. Simón
Implementación encapsulamiento Modularidad Protección Concurrencia Replicación recurso 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 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 Ing. José L. Simón
Invocación Resolución de nombres Invocación Comunicación Scheduling (concurrencia) 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 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 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 Ing. José L. Simón
Espacio de direcciones Proceso 1 Espacio de direcciones Proceso 2 Proceso 3 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’ Ing. José L. Simón
Servicios • Servicio de archivos • Memoria virtual (paging) • RPC • Procesos • IPC • Admin. memoria 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 Ing. José L. Simón
Kernels monolíticos Servicios Kernel Ing. José L. Simón
Microkernels S1 S2 S3 S4 Microkernel Ing. José L. Simón