Está en la página 1de 7

Sistemas Operativos Distribuidos

Amoeba
Es un sistema operativo de propsito general. Est diseado para tomar un conjunto de mquinas y hacerlas funcionar como un solo sistema integrado. Los usuarios no se dan cuenta del nmero y localizacin de procesadores que corren sus comandos. Est propuesto para ambos: Computacin distribuida: mltiples usuarios independientes trabajan en diferentes proyectos. Computacin paralela: un usuario usando 50 CPUs juega ajedrez en paralelo. Objetivos del diseo Las metas bsicas del diseo fueron: Distribucin: conectar juntas muchas mquinas. Paralelismo: permitir a trabajos individuales usar mltiples CPUs fcilmente. Transparencia: tener una coleccin de computadores actuando como un solo sistema. Rendimiento: archivar todo de una manera eficiente. Arquitectura del Sistema Un tpico sistema Amoeba consistir de tres clases funcionales de mquinas. Primero cada usuario tiene su estacin de trabajo para correr la interface de usuario, el sistema X window. Esta estacin de trabajo puede ser de ingeniera, o una terminal especializada X. Segundo existe un conjunto de procesadores que son dinmicamente asignados a usuarios, como son requeridos. Estos procesadores pueden ser parte de un multiprocesador o multicomputador, ser una coleccin de computadores de una sola tarjeta o un grupo de estaciones de trabajo asignados para este propsito. Tercero, hay servidores especializados como son servidores de archivo y de directorio que corren todo el tiempo. Ellos pueden correr en un procesador del conjunto de procesadores, o en hardware dedicado, o como se desee. Microkernel + arquitectura de Servidor. Fue diseado con arquitectura microkernel. Esto significa que cada mquina en un sistema Amoeba corre una pequea, e idntica pieza de software llamada el Kernel. El kernel soporta procesos bsicos, comunicacin y objetos primitivos. Tambin manipula dispositivos de I/O y administracin de memoria. As el sistema est estructurado como una coleccin de procesos independientes. Algunos de estos son procesos de usuario corriendo aplicaciones de programa. Los procesos son llamados clientes y otros servidores. La funcin bsica del microkernel es proveer un ambiente en el cual clientes y servidores puedan correr y comunicarse unos con otros. Threads (hilos) En muchos sistemas operativos tradicionales un proceso consiste de un espacio de direcciones y de un solo hilo de control. En Amoeba, cada proceso tiene su propio espacio de direcciones, pero puede contener mltiples threads de control. Cada hilo tiene su propio contador de programa y su propia pila, pero comparte cdigo y datos globales con otros hilos en sus procesos.

Llamadas a procedimientos remotos RPC Los hilos a menudo necesitan comunicarse unos con otros. Los hilos en un solo proceso pueden comunicarse va memoria compartida, pero los hilos ubicados en procesos diferentes necesitan un mecanismo diferente. El mecanismo de comunicacin bsico de Amoeba es el RPC. La comunicacin consiste de un hilo cliente enviando un mensaje a un hilo servidor, mientras el hilo servidor bloqueado enva un mensaje de retorno, en el cual el cliente a la vez es desbloqueado. Amoeba tiene una librera especial de procedimientos llamada stubs y es la que provee el servicio de acceso remoto, adems tiene un lenguaje especial llamado Amoeba Interface Languaje (AIL) para generar automticamente estos procedimientos stub. Comunicacin en grupo. Para muchas aplicaciones la comunicacin, uno a varios es necesaria, en el cual un solo transmisor enva un mensaje a mltiples receptores. Amoeba provee una facilidad bsica, fiable en los grupos de comunicacin totalmente ordenado, en el cual todos los receptores estn garantizando conseguir todos los mensajes de grupo en exactamente el mismo orden. Objetos y capacidades Hay dos conceptos fundamentales en Amoeba: objetos y capacidades. Todos los servicios y comunicacin estn en base a ellos. Un objeto es conceptualmente un tipo de dato abstracto. Esto es, un objeto es una estructura de datos en el cual ciertas operaciones estn definidas. Por ejemplo, un directorio es un objeto al cual ciertas operaciones pueden ser aplicadas, como son ingresar nombre y mirar nombre. Cuando un objeto es creado, el servidor crea un valor de 128 bit llamado una capacidad y retorna al llamador. Las capacidades son protegidas criptogrficamente para prevenir interferencias. Todos los objetos en el sistema son nombrados y protegidos usando ste, un esquema simple y transparente. Administracin de memoria El modelo es simple y eficiente. Un espacio de direcciones del proceso consiste de uno o ms segmentos mapeados a direcciones virtuales de un usuario especfico. Cuando un proceso es ejecutado todos los segmentos estn en memoria. No hay paginacin ni swapping en el presente, as solamente puede correr programas que quepan en la memoria fsica. La primera ventaja de este esquema es simplicidad y alto rendimiento. La primera desventaja tambin es que no es posible correr programas ms grandes que la memoria fsica. Entrada/Salida E/S es tambin manipulada por los hilos del kernel. Para leer bloques desde un disco, por ejemplo, un proceso de usuario tiene la autorizacin apropiada, hace RPC con un hilo de disco E/S en el kernel. Caractersticas: Amoeba tiene un modelo de memoria extremadamente simple: Un proceso puede tener todos los segmentos que desee. Los segmentos no son intercambiados con el disco (no hay swapping), de forma que un proceso debe residir en memoria en su totalidad para poder ejecutar.

Aunque se haga uso de la unidad de gestin de memoria, todosegmento se almacena en memoria de forma contigua. Este diseo no es usual en la actualidad y fue escogido por tres razones: Prestaciones, sencillez y economa. Prestaciones: Cuando un segmento reside en la memoria fsica de forma contigua, los RPC son ms rpidos: Cuando un parmetro de un RPC es un bloque de datos grande, no hay que preocuparse de que parte de los datos se encuentren en el disco. Todas las pginas del segmento se encuentran en la memoria fsica. De igual forma, cuando el RPC retorna un gran bloque de datos, las pginas del buffer se encuentran todas en memoria fsica. En ambos casos, no se producen las faltas de pgina que suspenden la ejecucin del proceso. Sencillez: La sencillez de este diseo requiere de un gestor de memoria mucho ms simple, que conduce a un microkernel ms pequeo y manejable. Economa Es el abaratamiento de la memoria RAM la que hace factible las prestaciones y la sencillez. A medida que el precio de la memoria fsica desciende, ms y ms memoria podr ser incorporada a las mquinas, de modo que procesos con grandes espacios virtuales podrn ser acomodados completamente en la memoria principal de los microprocesadores actuales.

Plan 9
Fue desarrollado como el sucesor en investigacin del sistema UNIX por el Computing Sciences Research Center de los Laboratorios Bell entre mitad de los aos 80 y 2002. La distribucin toma forma en una imagen ISO de 65Mbytes, que tambin puede funcionar como live CD. Si tenemos dificultades para arrancar desde el CD, podemos encontrar en la pgina Web un generador de disquetes de arranque que se ajuste a nuestro hardware. La instalacin es espartana, pero est bien organizada y es ms o menos a prueba de tontos. El instalador verifica el estado despus de cada paso. Tambin est disponible una imagen para tarjetas grficas que soporten modo Vesa. Plan 9 pretenda extenderse ms all de la filosofa Unix de representar casi todo como un archivo: en el Plan 9, incluso las conexiones de red y la interfaz de usuario puede ser manipulado a travs del sistema de archivos. Adems, un protocolo de comunicacin llamado 9P fue desarrollado para permitir Plan 9 mquinas para compartir recursos. En ltima instancia, Plan 9 no ha logrado acercarse al mismo nivel de xito como Unix. Sin embargo, todava en proceso de desarrollo y es una fuente de nuevas ideas para los programadores de sistema operativo. El escritorio se ve extraamente pasados de moda hoy en da algo parecido a la vieja escuela de configuraciones de X a finales de los aos 80 pero entonces, est diseado principalmente para satisfacer las necesidades de los programadores de Plan 9. Esto no es un sistema operativo que va a atraer a muchos usuarios, pero es una pieza interesante de la investigacin. Plan 9 fall simplemente porque se qued corto de ser un mejoramiento lo suficientemente convincente de Unix como para desplazar a su ancestro. Comparado a Plan 9, Unix tiene obvios puntos herrumbrados, pero hace el trabajo lo suficientemente bien como para mantener su posicin. Esta es una leccin para los arquitectos de

sistemas ambiciosos: un cdigo base que es lo suficientemente bueno es el peor enemigo de una mejor solucin.

BSD
BSD son las siglas de Berkeley Software Distribution. As se llam a las distribuciones de cdigo fuente que se hicieron en la Universidad de Berkeley en California y que en origen eran extensiones del sistema operativo UNIX de AT&T Research. Varios proyectos de sistemas operativos de cdigo abierto tienen su origen en una distribucin de ste cdigo conocida como 4.4BSD-Lite. Aaden adems un buen nmero de paquetes de otros proyectos de Cdigo Abierto, incluyendo de forma destacada al proyecto GNU. El sistema operativo completo incluye: El kernel BSD, que se encarga de la programacin del tiempo de ejecucin de los procesos, la gestin de memoria, el multiproceso simtrico (SMP), los controladores de dispositivos, etc. A diferecia del kernel Linux existen varios kernel BSD con diversas funciones. La biblioteca C, la API base del sistema. La biblioteca C de BSD est basada en cdigo procedente de Berkeley no del proyecto GNU. Aplicaciones como las distintas shells, aplicaciones de gestin de ficheros, compiladores y enlazadores. Algunas de las aplicaciones derivan del proyecto GNU, otras no. El sistema X Window, que gestiona el entorno grfico. El sistema X Window que se usa en la mayora de versiones de BSD es producto de un proyecto aparte, el Proyecto XFree86. Se usa el mismo cdigo que en Linux. BSD por lo general no predetermina un gestor de ventanas como KDE o GNOME, aunque stos y otros muchos esten disponibles. Ninguna persona o empresa posee BSD. Su creacin y distribucin es obra de una comunidad de voluntarios altamente cualificados y comprometidos a lo largo y ancho del mundo. Algunos de los componentes de BSD son proyectos de Cdigo Abierto que cuentan con responsables ajenos al proyecto BSD. FreeBSD FreeBSD es un sistema operativo libre para computadoras basado en las CPU de arquitectura Intel, incluyendo procesadores Intel 80386, Intel 80486 (versiones SX y DX), y Pentium. Tambin funciona en procesadores compatibles con Intel como AMD y Cyrix. Actualmente tambin es posible utilizarlo hasta en once arquitecturas distintas1 como Alpha, AMD64, IA-64, MIPS, PowerPC y UltraSPARC. FreeBSD est basado en la versin 4.4 BSD-Lite del Computer Systems Research Group (CSRG) de la University of California, Berkeley siguiendo la tradicin que ha distinguido el desarrollo de los sistemas BSD. Adems del trabajo realizado por el CSRG, el proyecto FreeBSD ha invertido miles de horas en ajustar el sistema para ofrecer las mximas prestaciones en situaciones de carga real. Caractersticas FreeBSD es un sistema operativo multiusuario, capaz de efectuar multitarea con apropiacin y multiproceso en plataformas compatibles con mltiples procesadores; el funcionamiento de FreeBSD est inspirado, como ya se dijo, en la variante 4.4 BSD-Lite de UNIX. Aunque FreeBSD no puede ser propiamente llamado UNIX, al no haber adquirido la debida licencia de The Open Group, FreeBSD s est hecho para ser compatible con la norma POSIX, al igual que varios otros sistemas "clones de UNIX".

El sistema FreeBSD incluye el ncleo, la estructura de ficheros del sistema, bibliotecas de la API de C, y algunas utilidades bsicas. La versin 6.12 trajo importantes mejoras como mayor apoyo para dispositivos Bluetooth y controladores para tarjetas de sonido y red. La versin 7.0, lanzada el 27 de febrero del ao 2008, incluye compatibilidad con el sistema de archivos ZFS de Sun y a la arquitectura ARM, entre otras novedades. OpenBSD OpenBSD es un sistema operativo libre tipo Unix multiplataforma, basado en 4.4BSD. Es un descendiente de NetBSD, con un foco especial en la seguridad y la criptografa. Este sistema operativo, se concentra en la portabilidad, cumplimiento de normas y regulaciones, correccin, seguridad proactiva y criptografa integrada. OpenBSD incluye emulacin de binarios para la mayora de los programas de los sistemas SVR4 (Solaris), FreeBSD, Linux, BSD/OS, SunOS y HP-UX. Historia OpenBSD se cre como una variante de NetBSD debido a las diferencias filosficas y personales entre Theo de Raadt y los dems miembros fundadores de NetBSD. Dejando aparte el hecho de que la seguridad sea la principal razn para que OpenBSD exista, el proyecto tambin tiene otras metas. Siendo un descendiente de NetBSD, es un sistema operativo muy portable. Actualmente funciona sobre 17 plataformas distintas de hardware. PC-BSD PC-BSD es un sistema operativo orientado a los escritorios y basado en FreeBSD. Su objetivo es la facilidad de uso y de instalacin grfica gracias a un programa que instala y configura automticamente un escritorio con KDE por defecto. En agosto de 2006 fue denominado el Sistema Operativo ms amigable segn OSWeekly.com. Sistema de paquetes de software PC-BSD ofrece un nuevo sistema de uso de paquetes que difiere de la tnica seguida por los Sistemas Unix . En vez de utilizar los puertos FreeBSD o el sistema de paquetes (de todas formas se mantienen como una opcin ms a la hora de instalar software en la computadora), PC-BSD usa unos archivos con la extensin .pbi extensin de archivo que podran definirse como instaladores de un slo click. Todo el sistema de paquetes y libreras est contenido en un slo archivo, que se instalan automticamente en un mismo directorio raz /Programs, haciendo ms fcil la bsqueda de los binarios de los programas y reduciendo la posibilidad de paquetes rotos si las libreras cambian o se actualizan. Licencia Desde que muchos recalcaron que GNU General Public License (GPL) entra en conflicto con la ideologa de la licencia BSD, un punto comn de crtica de la comunidad *BSD al proyecto de PC-BSD fue que en sus comienzos, su cdigo estaba bajo la licencia GPL mientras todo el open source BSD desciende de la licencia BSD. Se utiliz en un principio la licencia GPL porque el proyecto PC-BSD usa el Qt (biblioteca) para su interfaz grfica y el Qt toolkit obligaba a utilizar o la licencia GPL o la QPL. Actualmente esto ha cambiado, ya que se relicenci el cdigo bajo una licencia BSD. Cmo se desarrolla y actualiza BSD? Los kernel BSD son desarrollados y actualizados siguiendo el modelo de desarrollo de Cdigo Abierto. Cada proyecto mantiene un rbol de fuentes accesible pblicamente mediante un Sistema Concurrente de Versiones (Concurrency Versions System, CVS), que contiene todos los ficheros fuente del proyecto, incluidos los de la documentacin y

otros ficheros relacionados. CVS permite a los usuarios hacer un check out (en otras palabras, extraer una copia) de los ficheros que componen la versin elegida del sistema. Un gran nmero de desarrolladores de muy diversas partes del mundo contribuye con mejoras a BSD. Estan divididos en tres categoras: Contributors son aquellos que escriben cdigo o documentacin. No se les permite hacer commit (es decir, aadir cdigo) directamente al rbol de fuentes. Para que su cdigo sea incluido en el sistema debe ser revisado y probado por un desarrollador registrado o committer. Committers son desarrolladores que disponen de acceso de escritura en el rbol de fuentes. Para convertirse en committer es necesario demostrar habilidad en el rea en la cual l o ella trabaja. Depende del criterio individual de cada committer cundo pedir autorizacin antes de hacer cambios en el rbol de fuentes. En general un committer experimentado puede incluir cambios que son obviamente correctos sin necesidad de consenso. Por ejemplo, un/a committer que trabaje en un proyecto de documentacin puede corregir errores tipogrficos o gramaticales sin necesidad de revisin. Por otra parte, se espera de desarrolladores que pretendan realizar cambios de gran calado o complicados que enven sus cambios para que sean revisados antes de ser incluidos. En casos extremos un miembro del core team con una funcin como la del Principal Architect puede pedir que los cambios sean retirados del rbol; es lo que llamamos backing out. Todos los/las committers reciben un correo electrnico acerca de cada cambio concreto en el rbol de fuentes as que no es posible hacerlo en secreto. El Core team. Tanto FreeBSD como NetBSD disponen de un core team que coordina el proyecto. Los core team dirigen el rumbo de los proyectos pero sus funciones no siempre estn claras. No es necesario ser desarrollador para ser un miembro de un core team pero suele ser lo habitual. Las normas de un core team varan de un proyecto a otro pero en general tienen ms influencia sobre la direccin del proyecto.

Inferno
Es un sistema operativo para la creacin y soporte de sistemas distribuidos. El nombre del sistema operativo y de programas relacionados as como el nombre de la compaa Vita Nuova, que es quien los produce, fueron inspirados por las obras literarias de Dante Alighieri, especialmente de la Divina comedia. Inferno corre en modo hosted bajo varios operativos diferentes o de forma nativa, en diversas arquitecturas de hardware. En cada configuracin, el sistema operativo presenta las mismas interfaces a sus aplicaciones. Inferno es un sistema operativo compacto diseado para la construccin de sistemas distribuidos y en red en una amplia variedad de dispositivos y plataformas. Es un producto desarrollado por Unidad de Negocios Inferno de Lucent Technologies y fue desarrollado por Vita Nuova y por el Centro de Investigacin de Ciencias de la Computacin de los Laboratorios Bell, lanzado en Marzo de 1997, como un producto comercial que se bas en investigacin en sistemas operativos, lenguajes, grficos, seguridad y trabajos en red. Caractersticas Requerimientos de ejecucin mnimos. Es posible ejecutarlo en dispositivos con 1Mb de memoria RAM.

Corre en pequeas computadoras que usan procesadores como Intel (la familia de procesadores x86), Motorola 68030 y SPARC. Gestin dinmica de los recursos. La organizacin en mdulos del sistema operativo que permiten su carga y descarga dinmica en respuesta a las necesidades del programa.

También podría gustarte