Los sistemas operativos distribuidos desempean las
mismas funciones que un sistema operativo normal, pero con la diferencia de trabajar en un entorno distribuido. Su Misin principal consiste en facilitar el acceso y la gestin de los recursos distribuidos en la red. En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, lo cual es transparente para el usuario. Los sistemas distribuidos deben de ser muy confiables y estables ya que si un componente del sistema se descompone otro componente debe de ser capaz de reemplazarlo inmediatamente y no afectar los procesos del sistema. Un sistema operativo distribuido provee las funcionalidades esenciales requeridas por un sistema distribuido, agregando atributos y configuraciones para dar soporte a los requerimientos adicionales, tales como aumento de escala y disponibilidad. Desde el punto de vista del usuario el SO funciona de forma similar a un Sistema Operativo monoltico de un solo nodo. O sea que, aunque est compuesto por mltiples nodos, para los usuarios y aplicaciones luce como un solo nodo. Separando las funcionalidades mnimas a nivel de sistema de los servicios modulares adicionales a nivel de usuario provee una separacin de mecanismos y polticas. Mecanismos y polticas pueden ser interpretados de la siguiente manera cmo algo se hace contra por qu algo se hace respectivamente. Esta separacin incrementa la escalabilidad y la flexibilidad. En cada unidad (tpicamente un nodo), el ncleo provee un conjunto mnimo pero completo de utilidades necesarias para operar con los recurso y hardware subyacentes del nodo. Estos mecanismos incluyen la asignacin, manejo y disposicin de los recursos de un nodo, los procesos, la comunicacin y las funciones de administracin la entrada/salida. Dentro del ncleo el subsistema de comunicacin es de suma importancia para el sistema distribuido. En un sistema distribuido el ncleo comnmente soporta un conjunto mnimo de funciones que incluyen administracin de direcciones de bajo nivel, administracin de hilos y comunicacin entre procesos. Un ncleo con este diseo se conoce como micro-ncleo. Su naturaleza modular mejora la seguridad y la fiabilidad, caractersticas fundamentales para un sistema distribuido. Es comn que todos los nodos en un sistema tengan rplicas de un mismo ncleo y por tanto que todos los nodos usen hardware similar. La combinacin de diseo minimalista y cobertura ubicua de los nodos mejora la extensibilidad del sistema global as como su habilidad de agregar nuevos nodos o servicios de manera dinmica. Las componentes de administracin del sistema son procesos de software que definen las polticas del nodo. Estas componentes son la parte del SO fuera del ncleo. Proveen comunicacin de alto nivel, administracin de procesos y recursos, confiabilidad, rendimiento y seguridad. Estas componentes tienen las mismas funcionalidades de un sistema formado por una sola entidad, adicionando la transparencia requerida en un sistema operativo distribuido. La naturaleza distribuida del sistema distribuido requiere servicios adicionales para soportar las responsabilidades del nodo en el sistema global. Adems las componentes de administracin del sistema aceptan las responsabilidades defensivas de confiabilidad, disponibilidad y persistencia. Estas responsabilidades pueden entrar en conflicto una con otra. La separacin de polticas y mecanismos pueden mitigar dichos conflictos. La arquitectura y diseo de un sistema operativo distribuido deben comprender tanto las metas del nodo individual, como las del sistema. El diseo y la arquitectura deben ser concebidos de forma que se mantengan separados las polticas y los mecanismos. De este modo, un sistema operativo distribuido intenta proporcionar un marco de computacin distribuida eficiente y fiable que permita a los usuarios tener en cuenta lo menos posible los esfuerzos necesarios subyacentes para logarlo. La colaboracin multi-nivel entre el ncleo y las componentes del sistema de gestin, y a su vez entre los distintos nodos en un sistema operativo distribuido es el desafo funcional del mismo. Este es el punto en el sistema que debe mantener una perfecta armona de propsito, y al mismo tiempo mantener una desconexin completa de la intencin de la implementacin. Este desafo es la oportunidad del sistema operativo distribuido para producir la base y el marco para un sistema fiable, eficiente, disponible, robusto, extensible y escalable. Sin embargo, esta posibilidad tiene un coste muy alto en complejidad. En un sistema operativo distribuido, el excepcional grado de complejidad inherente fcilmente podra hacer de todo el sistema una maldicin para cualquier usuario. Como tal, el precio lgico de realizacin de un sistema de operacin distribuida se debe calcular en trminos de superar grandes cantidades de complejidad en muchas reas, y en muchos niveles. Este clculo incluye la profundidad, la amplitud y el alcance de la inversin en diseo arquitectnico y la planificacin necesaria para lograr incluso la aplicacin ms modesta. Estas consideraciones de diseo y desarrollo son fundamentales e implacables. Por ejemplo, una comprensin profunda del diseo y detalles de la arquitectura de un sistema operativo distribuido es fundamental desde el inicio. Una cantidad agotadora de consideraciones de diseo son inherentes al desarrollo de un sistema operativo distribuido. Cada una de estas consideraciones de diseo puede afectar potencialmente a muchas de las otras en un grado significativo. Esto conduce a un esfuerzo masivo en lograr un enfoque equilibrado, en trminos de las consideraciones de diseo individuales, y muchos de sus permutaciones. Como apoyo para esta tarea, la mayora se basan en la experiencia documentada y la investigacin en computacin distribuida. Los sistemas distribuidos estn basados en las ideas bsicas de: Transparencia Eficiencia Flexibilidad Escalabilidad Seguridad. Sin embargo estos aspectos son en parte contrarios, y por lo tanto los sistemas distribuidos han de cumplir en su diseo el compromiso de que todos los puntos anteriores sean solucionados de manera aceptable.
Es decir que la programacin y la ejecucin de los programas y tareas sean exactamente iguales que las de los sistemas operativos normales en aspectos visuales y de programacin, pero mas rpidos y eficientes por la distribucin de la tareas.
La idea base de los sistemas operativos distribuido es la de obtener sistemas mucho mas rpidos que los utilizados de procesador nico, Y para lograr esto tenemos que olvidar la idea antigua de ejecutar los programas en estos procesadores y pensar en distribuir las tareas a los procesadores libres mas rpidos en cada momento.
La Flexibilidad dentro de sistema operativo distribuido, describe su capacidad para soportar cambios, actualizaciones y mejoras que le permitan irse desarrollando al mismo ritmo de la evolucin tecnolgica
Un sistema operativo distribuido debera funcionar tanto para una docena de computadoras como para mil en una sola red, el tipo de red utilizada no debe de ser un problema ni su topologa (LAN o WAN) (TOKEN RING o ETHERNET) y mucho menos la distancia entre los equipos.
Seguridad Los servicios de seguridad de un SOD van ligados a permisos de acceso tanto a los datos compartidos como a los recursos. Los recursos de memoria por ejemplo, son asignados permisos a la cantidad de memoria compartida siguiendo las necesidades fsicas de cada computadora.
Economa: es la razn nmero uno de la tendencia hacia los sistemas distribuidos ya que estos sistemas tienen en potencia una proporcin precio/desempeo mucho mejor que la de un sistema centralizado. Velocidad: un sistema distribuido puede tener mayor poder de cmputo que una mainframe. Distribucin inherente: otra razn para la construccin de un sistema distribuido es que ciertas aplicaciones son distribuidas en forma inherente; es decir, algunas aplicaciones utilizan mquinas que estn separadas a cierta distancia. Confiabilidad: un sistema distribuido ofrece mayor confiabilidad al distribuir la carga de trabajo en muchas mquinas, la falla de un circuito descompondr a lo ms una mquina y el resto seguir intacto. Software: No hay mucha experiencia en el diseo, implantacin y uso del software distribuido, adems existe poco software para los sistemas distribuidos en la actualidad. Redes: Una vez que el sistema llega a depender de la red, la prdida o saturacin de sta puede negar algunas de las ventajas que el sistema distribuido deba conseguir. Seguridad: si las personas pueden tener acceso a los datos en todo el sistema, entonces tambin pueden tener acceso a datos con los que no tienen nada que ver.