P. 1
Sistemas Operativos Distribuidos y Centralizados

Sistemas Operativos Distribuidos y Centralizados

|Views: 288|Likes:
Publicado pormiguel

More info:

Published by: miguel on Jun 20, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

11/27/2014

pdf

text

original

Sistemas Operativos Centralizados y Distribuidos

1) Sistemas Operativos Centralizados.......................................................................................... 4 1.1) Concepto............................................................................................................................... 4 1.2) Gestión de procesos.............................................................................................................. 5 1.3) Gestión de memoria.............................................................................................................. 5 1.4) Gestión de dispositivos.......................................................................................................... 6 1.5) Gestión de archivos............................................................................................................... 6 2) Sistemas Operativos Distribuidos.............................................................................................7 2.1) Concepto............................................................................................................................... 7 2.2) Ventajas y Desventajas......................................................................................................... 7 2.3) Aspectos del Diseño.............................................................................................................. 8 2.3.1) Transparencia..................................................................................................................... 8 2.3.2) Flexibilidad.......................................................................................................................... 9 2.3.3) Confiabilidad....................................................................................................................... 9 2.3.4) Desempeño......................................................................................................................... 9 2.3.5) Escalabilidad...................................................................................................................... 9 2.4) Comunicación en los sistemas distribuidos.......................................................................... 10 2.5) Sincronización en sistemas distribuidos............................................................................... 10 2.6) Procesos y procesadores..................................................................................................... 10 2.7) Sistemas distribuidos de archivos........................................................................................ 11 2.8) Memoria compartida distribuida............................................................................................ 11 2.9) Modelos de Sistemas Distribuidos........................................................................................ 12 2.9.1) Grupos de Procesadores................................................................................................... 12 2.9.2) Cliente Servidor.................................................................................................................. 12 3) Comparación entre Sistemas Operativos Centralizados y Distribuido.......................................13 4) Ejemplos.....................................................................................................................................14 4.1) Ejemplos de Sistemas Operativos Centralizados.................................................................. 14 4.1.1) DOS.................................................................................................................................... 14 4.1.2) UNIX................................................................................................................................... 15 4.1.3) Mac OS.............................................................................................................................. 15 4.2) Ejemplos de Sistemas Operativos Distribuidos.................................................................... 16 4.2.1) Amoeba.............................................................................................................................. 16 4.2.2) Mach................................................................................................................................... 17 4.2.3) Chorus................................................................................................................................. 18 4.2.4) DCE..................................................................................................................................... 18 Bibliografía......................................................................................................................................21 Conclusiones..................................................................................................................................20

Índice de contenido

diremos que se trata de de aquel que utiliza los recursos de una sola computadora. En ellos se busca la ejecución eficiente de aplicaciones y el uso de supercomputadores. que son computadoras con capacidades de cálculo muy superiores a las comúnmente disponibles de las máquinas de escritorio. utilizan una mainframe potente para dar capacidad de cómputo a muchos terminales. Pero no se trata de una transferencia realmente transparente pues el usuario está consciente de que está accediendo a archivos almacenados en un disco diferente al que le . Otro entorno donde se encuentran sistemas operativos de arquitectura centralizada es en los entornos científicos. Las empresas. en especial las antiguas. en las cuales es común encontrar un monitor grande con un teclado y un mouse. y los usuarios empleaban sencillos ordenadores personales. su memoria. En un entorno familiar se puede encontrar una computadora. además de un case para albergar la unidad de procesamiento y los demás componentes. Actualmente prácticamente todos (por no decir todos) los sistemas operativos permiten la transferencia de ficheros. Los problemas de este modelo son que cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware del Mainframe. las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar.Sistemas Operativos Centralizados y Distribuidos 1) Sistemas Operativos Centralizados 1. es decir.1) Concepto Si queremos dar una definición simple de lo que es un sistema operativo centralizado. en el cual puede haber un soporte multiusuario. como para transferir ficheros o logins remotos. Suele tratarse de una computadora de tipo desktop. En estos sistemas hay un uso ocasional de la red. o también se puede encontrar empresas con abundantes minicomputadores para los empleados que las necesiten en sus actividades.donde todo el procesamiento de la organización se llevaba a cabo en una sola computadora. Uno puede conectarse con una máquina en la misma red y acceder a los documentos que ésta esté dispuesta a compartir por orden del usuario o viceversa. CPU. Podemos encontrar este tipo de sistemas operativos en un entorno de empresa. Se suele usar este tipo de máquinas para cálculos en los que intervienen una gran cantidad de operaciones complejas y muchos factores. Uno de los primeros modelos de ordenadores interconectados fue el centralizado. con terminales alfanuméricos directamente conectados. Respecto al hardware podemos decir que se suele tratar de un computador caro y de gran potencia. lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades.normalmente un Mainframe. Estas tienen un sistema operativo centralizado porque el ordenador es único y no necesita trabajar en paralelo con ninguna otra computadora. El otro problema que surgió son las modernas interfaces gráficas de usuario. Normalmente estos ordenadores tienen uno o dos procesadores potentes y caros que satisfacen las necesidades de cómputo del usuario. ya que no se encuentra conectado a ninguna. disco y periféricos.

El sistema operativo debe decidir qué proceso ejecutar de aquellos que están listos para ejecución. así que el tema pasa más por buscar el funcionamiento óptimo del procesador que se posea y en buscar en qué procesador ejecutar un proceso para aprovechar las posibilidades de cómputo. lasincronización y la planificación. Hay varios modelos de sincronización de procesos tales como el de exclusión mutua. minimizar el tiempo de proceso global y maximizar el número de trabajos procesados. o a través de las herramientas provistas por las rutinas de IPC (InterprocessCommunication). se le asigna memoria y se ejecuta sobre el (normalmente) único procesador del sistema.pertenece. basta con empezar por los que tenemos instalados en nuestras propias computadoras como Windows. Es la parte del sistema encargada de asignar memoria a los procesos. tiempo de respuesta. Son muy conocidos los sistemas centralizados con los que contamos en la actualidad. tratará de repartir de forma eficiente la memoria para introducir tantos procesos como sea posible. Mac OS. . sin llegar a ser lo que buscaba como objetivo principal el sistema al ser diseñado. La IPC provee un mecanismo que permite a los procesos comunicarse y sincronizarse entre sí.3) Gestión de memoria El manejo de memoria tiene que ver con la asignación de memoria. Asimismo es posible conectarse de forma remota a otra computadora como en el caso de la asistencia remota. pero son más que nada utilidades o funciones agregadas que permite realizar el sistema operativo centralizado. Los procesos pueden comunicarse entre sí a través de memoria compartida. Se puede usar diferentes algoritmos de planificación 1. eficiencia. ya sean variables compartidas o buffers. Es más simple que en un sistema distribuido pues siempre se va a elegir el procesador local. Para ejecutar un proceso.2) Gestión de procesos Respecto al manejo de procesos podemos cubrir 3 cosas: la comunicación entre procesos. En el caso de un sistema operativo centralizado se puede usar la memoria compartida para facilitar la sincronización. semáforos y mensaje. Linux. La gestión de procesos en un sistema operativo centralizado se ocupa de los mecanismos y políticas para compartir o repartir un procesador entre diversos procesos de usuario. la memoria virtual y los mecanismos de protección. El problema es que el comportamiento de los procesos es único e impredecible. Normalmente a través de un sistema de bajo nivel de paso de mensajes que ofrece la red subyacente. Unix. En el sistema centralizado se maneja sólo la memoria con la que cuenta la computadora en la que está instalado el sistema. etc. el mapeo lógico y físico. al que forma parte de su computadora. 1. El planificador es la parte del sistema operativo que realiza la decisión mediante el algoritmo de planificación. Los objetivos son mejorar la equidad.

Generalmente se divide la memoria en dos particiones. 1. es decir. es habitual la utilización de almacenamiento intermedio o buffering tanto de entrada como de salida. optimizar el acceso a los archivos.5) Gestión de archivos Para el manejo de archivos hay que tener en cuenta el acceso a archivos. ésta es lógicamente separada de la de cualquier otro proceso del sistema. Además la gestión de memoria debe cumplir algunos requisitos de protección como que el código de un proceso no debe hacer referencia a posiciones de otros procesos sin permiso. una para el SO residente y otra para los procesos de usuario. Para que sea un sistema centralizado la gestión de dispositivos debe encargarse sólo de los dispositivos que le pertenecen a una sola computadora. La gestión de dispositivos tiene que ver con los drivers y con los controladores. En un sistema centralizado. tanto de archivos como a directorios. el buffering y el spooling. El uso del spooling consiste en tener un buffer que almacena datos a enviar a un dispositivo que no admite operaciones de diferentes orígenes intercaladas. entregar los datos que el usuario pide. por el sistema operativo. Los objetivos básicos de la gestión de archivos son: garantizar que la información del archivo sea válida. El manejo de la memoria virtual consiste en hace creer a los programas que existe una memoria principal de gran tamaño y explota localidad de acceso a través de la jerarquía de memoria. si es en tiempo de ejecución es dinámica y si son variables locales a un grupo de sentencias se denomina automática. La asignación de memoria es exclusiva para el proceso que la requiere. proveer un conjunto estándar de rutinas E/S. proveer soporte E/S a gran variedad de dispositivos de almacenamiento. 1. . Si es en tiempo de compilación es estática.4) Gestión de dispositivos Sobre el manejo de dispositivos podemos tratar los driver de los dispositivos. la asignación de los recursos disponibles está gestionada. por lo tanto. aumentar el rendimiento. Para desacoplar las velocidades de funcionamiento de los dispositivos con las de otros elementos del sistema y. la compartición de archivos. ya sea en tiempo de compilación o de ejecución. acceso y control de accesos. También se encarga de aplicar las técnicas de buffering y spooling. como ya sabemos. minimizar o eliminar una potencial perdida de datos. Los drivers o manejadores son programas que se encargan de detalles que son dependientes de los dispositivos.La asignación de memoria consiste en el proceso de asignar memoria para propósitos específicos. Los controladores son elementos electrónicos de la unidad E/S. Es la parte del sistema operativo centralizado que se encarga de proporcionar a los usuarios y aplicaciones servicios de para el uso. el control de concurrencia y la replicación de datos. los cuales brindan una abstracción de lo que hace el dispositivo pues uno le envía la función al controlador y él se encarga de ver que el dispositivo realice las acciones necesarias. proveer soporte de E/S a múltiples usuarios.

el usuario desconoce sobre qué procesador se está ejecutando sus procesos y dónde residen sus ficheros. 2) Sistemas Operativos Distribuidos 2. Además de cada estación de trabajo podría existir una pila de procesadores en el cuarto de máquinas que no estén asignados a usuarios específicos sino que se utilicen de manera dinámica conforme sea necesario. en vez de máquinas diversas. Puede ejecutar su propio sistema operativo y hacer lo que quiera. borrar un archivo abrir un archivo y cerrar un archivo. .1) Concepto Según Tanenbaum. Además. esta es la aparición de los sistemas distribuidos. Los sistemas operativos de red están formados por un software débilmente acoplado en un hardware débilmente acoplado. De no ser por el sistema compartido de archivos a los usuarios les parecería que el sistema consta de varias computadoras. Además cada computadora tiene la capacidad de comunicarse con las otras sucursales y con una computadora central en las oficinas centrales. Tal vez el sistema podría tener un sistema de archivos único con todos los archivos accesibles desde todas las máquinas de la misma forma y con el mismo nombre de ruta de acceso. tal vez en la propia estación de trabajo de usuario o en una estación de trabajo inactiva que pertenezca a otra persona o en uno de los procesadores no asignados en el cuarto de máquinas. El objetivo es crear la ilusión en las mentes de los usuarios que toda la red de computadoras es un sistema de tiempo compartido. Primero consideremos una red de estaciones de trabajo en un departamento de una compañía. Otro ejemplo es el de un enorme banco con cientos de sucursales por todo el mundo. Si las transacciones se pueden realizar sin importar dónde se encuentre el cliente o la cuenta y los usuarios no observan diferencia alguna entre este sistema y el antiguo centralizado que ha reemplazado también se podría considerar como un sistema distribuido. De eso podemos entender que las máquinas son autónomas y los usuarios siempre piensan que el sistema es como una única computadora. El siguiente paso en la evolución es el del software fuertemente acoplado en hardware débilmente acoplado. un sistema distribuido es "una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora. cuando el usuario escriba un comando el sistema podría buscar el mejor lugar para ejecutarlo. Vamos a dar un ejemplo. Cada oficina tiene una computadora maestra para guardar las cuentas locales y el manejo de las transacciones locales. Un sistema distribuido se caracteriza por comportarse frente al usuario como una sola máquina.Las funciones básicas que debe cubrir son las de crear un archivo. Si el sistema se ve como un todo y actúa como un sistema de tiempo compartido clásico con un único procesador pondría considerarse como un sistema distribuido.

La forma en que se crean. 2. Entre las desventajas tenemos: y El peor de los problemas es el software: qué lenguajes de programación utilizar. cuando se inicie un proceso.Debe haber un mecanismo de comunicación global entre los procesos. Al distribuir la carga de un trabajo en muchas máquinas la falla de un circuito descompondría a lo más una máquina y el resto seguiría intacto. Otra ventaja sobre los sistemas centralizados es la confiabilidad. También el sistema de archivos debe tener la misma apariencia en todas partes. Después de todo. . todos los núcleos deben cooperar en la búsqueda del mejor lugar para ejecutarlo. tiene sentido mantener un inventario de cada tienda dentro de una computadora local a la vez de tenerlo de manera central en las oficinas de la compañía. lo cual requiere un software especial para su manejo y puede verse sobrecargado. Por ejemplo. De tal forma. la mayoría de las solicitudes y actualizaciones se harían en forma local. También está el crecimiento por incrementos. Una cadena de supermercados podría tener muchas tiendas las cuales reciben los artículos de manera local realiza ventas locales y toma decisiones locales acerca de las verduras que están viejas o podridas y qué debe hacerse. en el caso de los CPU. y El problema de las redes de comunicación. Se pueden perder mensajes. ya que no es necesario comprar una nueva mainframe carísima cuando la empresa necesita más poder de cómputo.2) Ventajas y Desventajas Entre las ventajas tenemos: La descentralización económica. Sin embargo de vez en cuando la administración central podría tratar de determinar la cantidad de nabos que posee en cierto momento. Una forma de lograr este objetivo es hacer que todo el sistema se vea como una computadora para los programas de aplicación pero implementado de manera descentralizada en una computadora por tienda como ya se ha descrito. Los sistemas distribuidos se basan en la utilización de sistemas de transmisión fiables. Además ciertas aplicaciones son distribuidas en forma inherente. eficaces. Al saturarse la red ésta debe reemplazarse o añadir una segunda. destruyen y detienen los procesos no debe variar de una máquina a otra. La administración de procesos debe ser la misma en todas partes. También un sistema global de protección. Como consecuencia lógica de hecho de tener una misma interfaz de llamadas al sistema en todas partes. si uno está dispuesto a pagar el doble so obtiene el mismo CPU sólo que con una velocidad un poco mayor. Por ejemplo. Éste sería entonces un sistema distribuido comercial. Los sistemas distribuidos tienen en potencia una proporción precio/desempeño mucho mejor que la de un sistema centralizado. que aplicaciones son adecuadas. De cualquier forma. de forma que cualquier proceso pueda comunicarse con cualquier otro. Por lo tanto. Eso facilita la coordinación de las actividades globales. es un gran costo. rápidos que permitan integrar sistemas de distintos fabricantes. es más cómodo limitarse a un gran número de CPU baratos reunidos en un mismo sistema. es normal que se ejecuten núcleos idénticos en todos los CPU de sistema.

Otra herramienta es la redundancia. y Transparencia de paralelismo: Las actividades pueden ocurrir en paralelo sin el conocimiento de los usuarios. Para ellos lo único poco usual es que el desempeño del sistema tiene un cambio decente. Otro aspecto es la tolerancia a fallos. y Transparencia de migración: Los recursos se pueden mover a voluntad sin cambiar susnombres. Los sistemas distribuidos actuales cuentan con que un número de ciertos servidores sirvan para que el todo funcione.3. Junto con la transparencia son fundamentales. 2. Si el servidor tiene tablas con importante información . 2. de modo que si una de ellas falla. La transparencia se puede lograr en dos niveles distintos. Hay varios tipos de transparencia: y Transparencia de localización: Los usuarios no pueden indicar la localización de los recursos. En un nivel inferior también es posible que el sistema sea transparente para los programas.1) Transparencia Tal vez sea el aspecto más importante. a la manera antigua.2) Flexibilidad Es importante que el sistema sea flexible.y El hecho que los datos se puedan compartir puede ser un arma de doble filo. Una escuela mantiene que cada máquina debe ejecutar un núcleo tradicional que proporcione la mayoría de los servicios. La seguridad es con frecuencia un problema. Existen dos escuelas de pensamiento en cuanto a la estructura de los sistemas distribuidos. Se puede diseñar la interfaz de llamadas al sistema de modo que no sea visible la existencia de varios procesadores. Esta se puede mejorar mediante un diseño que no exija el funcionamiento simultáneo de un número sustancial de componentes críticos. y Transparencia de réplica: Los usuarios no pueden indicar el número de copias existentes. La disponibilidad se refiere a la fracción de tiempo en que se puede utilizar el sistema.3.3) Aspectos del Diseño 2. 2. Lo más fácil es ocultar la distribución a los usuarios. Es bueno mantener las opciones abiertas. pues también pueden acceder a datos que no les corresponde ver. Supongamos que un servidor falla y vuelve a arrancar de manera súbita. Estos dos modos son conocidos como el núcleo monolítico y micronúcleo.3. se puede duplicar piezas clave del hardware y de software. y Transparencia de concurrencia: Varios usuarios pueden compartir recursos de manera automática.3) Confiabilidad La idea es que si una máquina falle. Consiste en engañar a todas las personas para que piensen que la colección de máquinas es tan solo un sistema de tiempo compartido de un procesador. las otras pueden llenar su hueco. La otra consiste que el núcleo proporcione lo menos posible y que el grueso de los servicios del sistema operativo se obtenga a partir de los servidores a nivel de usuario. otra se encargue del trabajo.

pero cuando pasa el tiempo puede que se tenga un sistema distribuido con decenas de millones de usuarios. Una posibilidad es prestar atención al grano de todos los cálculos. También se utiliza mucho la llamada a procedimientos remotos (RPC).acerca de las actividades en proceso. poro también lo son el rendimiento. Lo que queda claro es que se debe evitar los componentes. se adopta por lo general un modelo mucho más sencillo donde el cliente envía un mensaje al servidor y éste envía de regreso una respuesta al cliente. Para los basados en LAN. El problema del desempeño se complica por el hecho de la comunicación.3.3. tablas y algoritmos centralizados. Con ella un proceso cliente que se ejecuta en una máquina llama a un procedimiento que se ejecuta en otra máquina.4) Comunicación en los sistemas distribuidos La diferencia principal entre un sistema distribuido y un sistema con un procesador es la comunicación entre procesos. los trabajos que implican gran número de pequeños cálculos. La dificultad con esta estrategia es que la mejor forma de mejorar el desempeño es tener muchas actividades en ejecución paralela en distintos procesadores. 2. . En un sistema con un procesador la mayor parte de la comunicación entre procesos supone de manera implícita la existencia de memoria compartida. Se puede utilizar diversas métricas del desempeño. Para ello hay que minimizar el número de mensajes. Un sistema distribuid puede empezar con una cantidad manejable de usuarios. En un sistema distribuido no existe tal memoria compartida. pueden ser la causa de algunos problemas en los sistemas distribuidos con una comunicación lenta. El envío y obtención de una respuesta en una LAN es lento. El tiempo de respuesta es una. En vez de ellos.4) Desempeño La construcción de un sistema distribuido transparente. Para los sistemas distribuidos de área amplia relativamente lentos. el servidor no toleraría bien las fallas. se utilizan los protocolos de capas orientadas hacia la conexión como OSI y TCP/IP. uso de sistema y cantidad consumida de capacidad de red. pues no es una buena idea tener un solo servidor de correo para 50 millones de usuarios. lo menos que ocurrirá es que la recuperación será difícil. por lo que toda la naturaleza de la comunicación entre procesos debe replantearse desde cero. 2.5) Escalabilidad La mayor parte de los sistemas distribuidos están diseñados para trabajar con unos cuantos cientos de CPU. factor esencial en un sistema distribuido. La cuestión es si los métodos que se desarrollan en la actualidad podrán escalarse hacia tales grandes sistemas. pero esto requiere el envío de muchos mensajes. Además. 2. En general. en particular aquellos que interactúan en gran medida con otros. los protocolos con capas se utilizan muy pocos. Un proceso escribe en un buffer compartido y otro proceso lee de él. puesto que el problema principal por resolver es el transporte confiable de los bits a través de líneas físicas pobres. flexible y confiable no servirá si el sistema es lento.

Pero estos no son adecuados para sistemas distribuidos. los problemas relativos a regiones críticas. La sincronización no tiene por qué ser exacta. Tales vistas pueden ser provistas por los mecanismos de sincronización. se necesita un algoritmo para asignar los procesos a los procesadores. se puede mejorar el desempeño mediante la co-planificación. locales o globales. eso sí. puesto que siempre se basan en la existencia de memoria compartida. por lo que se necesitan otras técnicas. para garantizar que los procesos que deben comunicarse se ejecutan al mismo tiempo. En los sistemas con un CPU. La sincronización de procesos en los sistemas distribuidos resulta más compleja que en los centralizados. 2.5) Sincronización en sistemas distribuidos Es importante la forma en que los procesos cooperan y se sincronizan entre sí. debido a que la información y el procesamiento se mantienen en diferentes nodos. el modo de actualizar la hora de un reloj en particular. 2. También hay varios algoritmos de coplanificación. Aunque los procesos se planifican por lo general de manera independiente. Sobre la planificación en los sistemas distribuidos podemos decir que por lo general cada procesador hace su planificación local sin preocuparse por lo que hacen los demás procesadores. la exclusión mutua y la sincronización se resuelven en general mediante métodos tales como los semáforos y monitores. Los procesadores se asignan de manera dinámica a los usuarios conforme sea necesario y se regresan a la pila al terminar el trabajo. iniciados por el emisor o por el receptor. Hay que tener en cuenta. óptimos o subóptimos. En el segundo. La mayoría de sistemas operativos distribuidos tienen un paquete de hilos. centralizados o distribuidos.6) Procesos y procesadores Se utilizan por lo común dos modelos de organización de los procesadores: el modelo de estación de trabajo y el modelo de la pila de procesadores. Un sistema distribuido debe mantener vistas parciales y consistentes de todos los procesos cooperativos y de cómputo. y bastará con que sea aproximadamente igual en todos los ordenadores. Dada una colección de procesadores.7) Sistemas distribuidos de archivos . En el primero. que toman en cuenta los patrones de comunicación entre los proceso durante la planificación para garantizar que todos los miembros de un grupo se ejecuten al mismo tiempo.2. todas las instalaciones de cómputo son un recurso compartido. Tales algoritmos pueden ser deterministas o heurísticos. Por ejemplo. la forma de implantar las regiones críticas o asignar recursos en un sistema distribuido. cada usuario tiene su propia estación de trabajo y a veces puede ejecutar procesos en las estaciones de trabajo inactivas.

En el caso de las multicomputadoras. dando a cada proceso una memoria paginada lineal. NFS ilustra cómo construir un sistema distribuido de archivos. Los archivos inmutables no son familias para la mayoría de personas y las transacciones suelen ser redundantes. La segunda utiliza los lenguajes de programación ordinarios con variables compartidas anotadas. Todo lo que saben es llamar a los procedimientos especificados en el servicio de archivos y el trabajo se hace en alguna parte.Un componente fundamental es el sistema de archivos. La tarea del sistema de archivos es almacenar los programas y los datos y tenerlos disponibles cuando sea necesario.8) Memoria compartida distribuida Existen dos tipos de sistema con varios procesadores: multiprocesadores y multicomputadoreas. los archivos inmutables y la semántica de transacción. Se utilizan tres técnicas generales para proporcionar memoria compartida. Puede haber uno o varios servidores de archivos pero los clientes no deben conocer cuántos hay ni su posición o función. como no hay memoria compartida se tiene que utilizar la transferencia de mensajes. como la semántica UNIX. La semántica UNIX es intuitiva y familiar para la mayoría de los programadores pero su implantación es cara. Las páginas se mueven de una máquina a otra según sea necesario. 2. enviándolo por la red y esperando la respuesta. En el caso de una multicomputadora cada CPU tiene su memoria particular. nada se comparte. La tercera se basa en los modelos de programación de alto nivel. el uso de buffer y el bloqueo. Para utilizar un servicio remoto. por ejemplo uno UNIX y uno en MSDOS. es el corazón de cualquier sistema distribuido. Hay varios modelos de semántica. Aunque se han propuesto varias soluciones. la semántica de sesión. La semántica de sesión es menos determinística pero más eficiente. la programación con transferencia de mensajes es todavía difícil. Lo ideal es que se vea como un sistema de archivos normal de un procesador. un proceso solo llama al procedimiento de la biblioteca adecuada. El servicio de archivos es la especificación de los servicios que el sistema de archivos ofrece a los clientes. Puede haber varios servidores de archivos. No se puede utilizar muchos procesadores con una sola memoria compartida porque se origina un cuello de botella. El servidor de archivos es un proceso que se ejecuta en alguna máquina y ayuda a implantar el servicio de archivos. La transferencia de mensajes trae consigo varios aspectos delicados como el flujo de control. haciendo que la entrada/salida sea la abstracción central. En un multriprocesador varias CPU comparten una memoria principal común. como la n-capa y los objetos. La primera estimula el modelo de memoria de multiprocesador. . También se propuso las llamadas a procesamientos remotos. el cual empaqueta el código de la operación y los parámetros del mensaje. la pérdida de mensajes.

etc.9. y una colección de procesos clientes.9.1) Grupos de Procesadores En este modo. pudiendo hacerlo en función a la sobrecarga. así que algunos procesos son ambos clientes y servidores. la proximidad o cualesquiera otros parámetros que fije el diseñador. cada uno actuando como un gestor de recursos para una colección de recursos de un tipo. pero en caso de necesitar más memoria utilizara los recursos disponibles de otra computadora que este capacitada y preparada dentro de la red para compartir su memoria. la memoria pasa a ser físicamente privada pero lógicamente compartida. 2. algunos tipos de recursos deben permanecer locales a cada computadora de cara a una mayor eficiencia como RAM. 2. el sistema asigna al usuario un procesador. servicios.En un sistema operativo distribuido. Son las siguientes: 2. todos los recursos compartidos son mantenidos y manejados por los procesos servidores. La topología se basa en varios ordenadores unidos a través de una red de comunicaciones la cual se pueden conectar los usuarios a través de sus ordenadores personales. Un método más sencillo y menos comprometido es hacer que el usuario elija el nodo al que quiere conectarse. pero se pierde en transparencia y puede dar lugar a fuertes desequilibrios en el sistema. al abrir una sesión. Las computadoras que ejecuten los programas clientes y servidores pueden ser de muchos tipos y no existe la necesidad de distinguir entre ellas. un computador ejecuta los programas en su memoria propia. Es el modelo más conocido y más ampliamente adoptado en la actualidad. Estos recursos clave son manejados . interfaz de red local. El modelo cliente-servidor nos da un enfoque efectivo y de propósito general para la comparación de información y de recursos en los sistemas distribuidos. clienteservidor. El modelo puede ser implementado en una gran variedad de entornos software y hardware. Una máquina puede ser cliente en un servicio y servidor en otro. En el modelo. El modelo cliente-servidor se ha extendido y utilizado en los sistemas actuales con servicios manejando muchos diferentes tipos de recursos compartidos. procesador.9) Modelos de Sistemas Distribuidos Hay distintas topologías en que se basan los sistemas distribuidos. Pero no es posible que todos los recursos que existen en un sistema distribuido sean manejados y compartidos de esta manera.2) Cliente Servidor En este se cuenta con clientes que dan acceso a usuarios a los servicios y servidores que contienen la información. Los gestores de recursos a su vez podrían necesitar acceder a recursos compartidos manejados por otros procesos. Es decir. Hay un conjunto de procesos servidores. cada uno llevando a cabo una tarea que requiere acceso a algunos recursos hardware y software compartidos. Es un paso en la evolución de los sistemas distribuidos pero falta un sistema de ficheros transparente y global desapareciendo la idea de nodos.

.

que hace la interfaz con los diversos dispositivos de entrada y salida como las impresoras.1) DOS El MS-DOS se desarrollo para operar computadoras individuales deescritorio para un solo usuario.1) Ejemplos de Sistemas Operativos Centralizados 4. . En el nivel inferior del MS-DOS está BIOS. La segunda proviene de sus raíces. impresora y unidad de almacenamiento secundario. teclados y monitores. una nueva versión del programa de apoyo y recuperación de datos. Tiene dos desventajas. monitor. Su apoyo de entradas y salidas estándares incluyen un teclado.1. Sus ventajas son su operación fundamental y sus comandos claros para el usuario. MS-DOS también lo hizo. Este sistema tiene requerimientos del sistema bajos y poco Soporte de hardware Trabaja con comandos en modo texto formados por órdenes difíciles de recordar. se escribió para una familia de microprocesadores. fue el sistemaoperativo estándar para millones de máquinas. el DOS perdió su ventaja de mercado en relación con los sistemas operativos más elaborados.4) Ejemplos 4. Cuando estos microprocesadores dominaron el mercado de las computadoras personales. Cuando el mercado de lascomputadoras personales hizo explosión en los 80. un antivirus. La capacidad de aumentar el espacio de su disco duro. Pero con el avance de nuevos chips. Es uno de los sistemas operativos más sencillos de comprender. La primera es su falta de flexibilidad y su limitada capacidad para llenar las necesidades de programadores y usuarios expertos. Sólo se puede ejecutar un programa en cada momento. En muchas formas es un ejemplo de los primeros sistemas operativos porque maneja los trabajos en secuencia a partir de un solo usuario.

ya que existe un nombre único para todos los ficheros disponibles en la red. el BourneAgain Shell. El Unix utiliza y administra muy eficientemente la memoria. Unix cuenta con extensos recursos para trabajar en colaboración y compartir información de formas controladas. en ese nombre no se incluye el nombre de la máquina en el que el fichero está almacenado. En la memoria libre atiende a los procesos. El DOS no es ni multiusuario ni multitarea. grandes y pequeños. con facilidades de protección de archivos. cuentas y procesos. expresada en el lenguaje ensamblador del procesador en el que opera.1. para utilizarse en un entorno en el que la mayoría de usuarios tienen conocimientos relativamente avanzados y se dedica a proyectos de software que suelen ser complejos. El Mac OS original fue el primer sistema operativo con una interfaz gráfica de usuario en tener éxito. Además permite comunicación entre procesos. El equipo de Macintosh incluía a Bill Atkinson. capacidad de intercambiar datos entre computadoras por medio de un cable. A cada proceso le da la cantidad exacta de memoria que aquél necesite. Apple quería que Macintosh . Permite crear archivos con nombres hasta de 255 caracteres de largo. 4.2) UNIX Unix es un sistema interactivo diseñado para manejar múltiples procesos y múltiples usuarios al mismo tiempo. El núcleo es un programa escrito casi en su totalidad en lenguaje C. Cada usuario puede interactuar con el Sistema Operativo con el Interpretador de Comandos (Shell) de su agrado entre los que se destacan: El Bourne Shell. Para el Unix todo es un archivo. El kernel hace que la computadora funcione bajo Unix y que los usuarios puedan compartir eficientemente todos los recursos.que por años no fue mejorado. Esto permite que se pueda ejecutar un programa que sea más grande que la memoria RAM total que tenga un servidor de Unix. con excepción de una parte del manejo de interrupciones. o más específicamente. Unix emplea un sistema jerárquico de archivos. Cuando se acaba la memoria. El Korn Shell. 4. Apple quitó importancia de forma deliberada a la existencia del sistema operativo en los primeros años de Macintosh para ayudar a hacer que la máquina pareciera más agradable al usuario y a distanciarla de otros sistemas como MS-DOS. Es un sistema universal. Tiene algunas características de sistema distribuido. que eran un desafío técnico. Tiene capacidad de interconexión de procesos. optimización del uso de la memoria RAM y otras interesantes opciones. el C Shell. JefRaskin y Andy Hertzfeld. Fue dieñado por programadores y para programadores.1. válido para toda clase de ordenadores. y que es independiente de la máquina.3) Mac OS MacOS es abreviatura de Macintosh OperatingSystem (Sistema Operativo de Macintosh). utiliza el Area de Swap que es una memoria virtual. Fue el primer sistema operativo escrito en el lenguaje de programación C. desde pocos kilobytes hasta varios megabytes. No puede trabajar con más de un usuario ni en más de un proceso a la vez.

Tradicional.2 Jaguar. El sistema evolucionó durante algunos años. y los comando en otra máquina en general no la misma que la del shell.1 Puma. A partir del 2006 comenzaron a migrar a procesadores Intel utilizando los llamados binarios universales. . El sistema busca la máquina con la menor carga para ejecutar el nuevo comando. Todos los recursos pertenecen al sistema como un todo y son controlados por él. En 1983 un prototipo tenía un nuvel operacional. Cuando un usuario entra al sistema entra a éste como un todo y no a una máquina específica. Para evitar el enorme trabajo de escribir grandes cantidades de software de aplicación se añadió un paquete de emulación de UNIX. Amoeba es muy transparente respecto a la ubicación.10. Este sistema operativo tiene un nucleo de la familia unix mas especificamente deriva de nexstep que era un sistema operativo cuyo nucleo tenia codigo del kernel Mach y del de BSD. Amoeba no tiene el concepto de máquina de origen. El shell inicial se ejecuta en cierta máquina arbitraria. Los usuarios están interesados en la experimentación con algoritmos. la comunicación en grupo y un nuevo protocolo de bajo nivel. Existen varias versiones 10. Se originón en VrijeUniversiteit en Amsterdam. Para un usuario normal. Mac OS utiliza como gestor de ventanas x11 caracteristica que comparte con otros sistemas Unix La arquitectura para la que fue diseñado originalmente eran para las Power PC es decir computadoras de tipoRisc desarrolladas por IBM. adquiriendo características como la emulación parcial de UNIX. es decir.6 Snow Leopard y cada una ha ido incorporando mejoras. Es decir que esta ultima hizo un sistema operativo especifico para un hardware que ellos tambien desarrollaron lo que le dio una gran estabilidad y eficacia al sistema en su conjunto. Holanda. permite que una coleción de CPU y equipo de E/S se comporten como una computadora.2) Ejemplos de Sistemas Operativos Distribuidos 4.fuera visto como un sistema que trabajara nada más con encenderlo.5 Leopard y 10. La interfaz grafica desarrollada por Apple que se llama Aqua.2. El objetivo principal del proyecto era construir un sistema operativo distribuido y transparente. funciona igual que un sist.3 Panther . Fue diseñado en un principio por Tanenbaum y tres estudiantes de doctorado. También proporciona elementos para la programación en paralelo si se desea. 4. en 1981 como proyecto de investigación en cómputo distribuido y paralelo.1) Amoeba Es un sistema distribuido.4 Tiger y 10. 10.10. aplicaciones que contienen el código binario de ambas plataformas para su ejecución transparente. Amoeba busca proporcionar un colchón de prueba para la realización de una programación distribuida y paralela.Motorola y Apple.

en espera de siguiente comando. un micronúcleo que se ejecuta en cada procesador y una colección de servidores que proporcionan la mayor parte de la funcionalidad de un sistema operativo tradicional.2. El sistema de archivos de Amoeba consta de tres servidores: el servidor de archivos para el almacenamiento de éstos. Es un proyecto de diseño de sistemas operativos iniciado en la Universidad Carnegie Mellon en 1985. en el espacio del usuario. Se diseñó con dos hipótesis respecto al hardware: los sistemas tienen un número muy grande de CPU y cada CPU tendrá decenas de megabytes de memoria. esperando poder utilizar el enorme volumen disponible de software para UNIX. El usuario tiene acceso al sistema a través de un terminal. También puede tratarse de una computadora personal o estación de trabajo. el de directorios para otorgar nombres y el de réplicas para la réplica de archivos. Los objetivos se pueden resumir en: y Proporcionar una base para la construcción de otros sistemas operativos y Soporte de un espacio de direcciones ralo y de gran tamaño y Permitir el acceso transparente a los recursos de la red y Explorar el paralelismo tanto en el sistema como en las aplicaciones y Hacer que Mach se pueda transportar a una colección más grande de máquinas. No se necesita la memoria compartida. Cada emulador consta de una parte que está presente en el espacio de direcciones . La primera versión apareció en 1986. se terminan los procesos y los recursos regresan a la pila. Este consta de varios CPU. Se soportan tres mecanismos de comunicación: RPC y FLIP simple para la comunicación puntual y la comunicación confiable en un grupo par ala comunicación entre partes. Esto se lleva a cabo mediante una capa del software que se ejecuta fuera del núcleo. cada uno con su propia memoria local y conexión a la red. herramientas y aplicaciones distribuidas y paralelas. en vez de enviar mensajes a través de la red. Se basa en el modelo de pila de procesadores.2) Mach Este sistema distribuido se basa en un micronúcleo. a la vez que se puedan emular los sistemas ya existentes como UNIX. El micronúcleo de Mach se diseñó para emular a UNIX y otros sistemas operativos. 4.lenguajes. MS-DOS y Macintosh. pero si está presente se utiliza para optimizar la transferencia de mensajes al hacer el copiad de una memoria a otra. Los objetivos de este proyecto han ido variando con el tiempo. La idea es explorar los multiprocesadores y los sistemas distribuidos. Se hizo que Mach fuese compatible con UNIX. Ofrece soporte a estos usuarios al hacer que el paralelismo subyacente esté disponible para los que quieran aprovecharlo. Al terminar el comando. Cuando un usuario escribe un comando. el sistema operativo asigna en forma dinámica uno o más procesadores para ejecutar ese comando. La idea es proporcionar terminales baratos y concentrar los ciclos de cómputo en una pila común para utilizarlos con mayor eficiencia. Amoeba consta de dos partes fundamentales.

El núcleo de Mach. De esta forma se puede escribir o leer de los archivos en forma directa. Fue escrita en Pascal compilado en vez de interpretado y se distribuyó en una docena de universidades y compañías. La idea del núcleo es proporcionar los mecanismos necesarios para que el sistema funcione. proporciona la administración de procesos. hilos. Mach se basa en los conceptos de procesos. directorios y demás funciones tradicionales de sistema operativo se controlan en el espacio del usuario. Para que sea un producto viable se aumentó la capacidad de emulación de UNIX. de modo que los programas en UNIX se ejecutaran sin compilarse de nuevo. de la 0 a la 3. 4. La versión 3 marcó la transición de un sistema de investigación a un producto comercial. La versión 2 fue una reescritura fundamental en C. puertos y mensajes. Desde entonces han aparecido 4 versiones. memoria y comunicación. Los archivos. Se pueden ejecutar varios emuladores al mismo tiempo.3) Chorus Chorus surgió en el instituto francés de investigación INRIA en 1980 como proyecto de investigación en sistemas distribuidos. procesos. pero dejando la política a los procesos a nivel de usuario. Los objetivos de Chorus son: y y y y Emulación de UNIX de alto rendimiento Uso de sistemas distribuidos Aplicaciones de tiempo real Integración de la programación orientada a objetos en Chorus Está estructurado en capas. respaldado por administradores de memoria externos a nivel de usuario. Se diseñó de modo que las llamadas al sistema fuesen compatibles con UNIX en el nivel del código fuente. hilos. En la parte inferior está el micronúcleo que proporciona la mínima administración de los nombres. cada uno de los cuales alternaban entre la realización de una transacción atómica y la ejecución de un paso de comunicación. Se tiene . así como uno o más servidores que se ejecutan de manera independiente a los programas de aplicación. La versión 0 era quería modelar aplicaciones distribuidas como colección de actores. La versión 1 se centró en la investigación de multiprocesador. en esencia procesos estructurados. Se introdujo la llamada a procedimientos remotos como el modelo de comunicación usual. Mach tiene un sistema de memoria virtual muy elaborado con objetivos de memoria que se pueden asociar o desasociar de los espacios de direcciones. al igual que otros micronúcleos.de los programas de aplicación.2. la administración de la memoria. la comunicación y los servicios de E/S.

directorios. El ambiente ofrecido por DCE consta de un número grande de herramientas y servicios. La tercera es la base para la asignación de memoria. DCE se ejecuta en muchos tipos distintos de computadoras. Los primeros dos se utilizan para nombrar y proteger los recursos del subsistema. 4. A diferencia de los anteriores. Estos se cargan y eliminan de manera dinámica durante la ejecución del sistema y proporcionan una forma de extender la funcionalidad del micronúcleo sin que aumente de manera permanente su tamaño y complejidad. El micronúcleo y los subsistemas proporcionan juntos tres construcciones adicionales: las posibilidades. Por arriba de micronúcleo pero operando también en el modo núcleo están los procesos del núcelo.2. RPC es el mecanismo básico de comunicación dentro de DCE. sistemas operativos y redes. los identificadores de protección y los segmentos. De esta forma los desarrolladores de aplicaciones producen con facilidad software portable en varias plataformas. Los hilos permiten la existencia de varios flujos de control dentro de un proceso. DCE significa ambiente de administración distribuido. seguridad y archivos. El sistema de archivos proporciona un espacio de nombres para todos los archivos del sistema. tanto dentro del propio DCE como en los programas usuario: hilos y RPC. Conclusiones Después de la elaboración del presente trabajo sobre los sistemas operativos centralizados y distribuidos se ha llegado a las siguientes conclusiones: . Por ejemplo. más de una infraestructura para que éstos operen. tanto dentro de un proceso en ejecución como en el disco.acceso a estos servicios mediante llamadas al micronúcleo. Los procesos usuario actúan como clientes para tener acceso a los servicios remotos proporcionados por los procesos servidor. amortizando los costos de desarrollo e incrementando el tamaño del mercado potencial. este ambiente se construye sobre los sistemas operativos existentes. Las herramientas y servicios han sido elegidos de modo que funcionen juntos de manera integrada y faciliten el desarrollo de aplicaciones distribuidas. El servicio de seguridad permite que los clientes y servidores se autentiquen entre si y realicen una RPC autentificada.4) DCE Se trata de un punto de vista diferente. El modelo de programación subyacente en todo DCE es el modelo cliente/servidor. DCE soporta cuatro servicios principales a los que tienen acceso los clientes: los servicios de tiempo. Permite que un proceso cliente llame a un procedimiento en una máquina remota. DCE proporciona un mecanismo para sincronizar los relojes de máquinas diferentes y obtener el concepto global de tiempo. El servicio de directorios guarda los nombres y posiciones de todos tipos de recursos y permite que los clientes los busquen. DCE soporta dos facilidades que se utilizan intensamente. Los procesos de las capas superiores proporcionan el resto del sistema operativo.

Mientras que el objetivo del sistema operativo centralizado radica en llevar una buena gestión de los recursos con los que cuenta la máquina. claro que también se puede lograr paralelismo con los nuevos procesadores de varios núcleo. Los sistemas distribuidos tienen varias ventajas frente a los centralizados como la economía. (1997). pues tienen la característica de poder ejecutar varios procesos en diferentes nodos al mismo tiempo. Sistemas Operativos. la manera en la que se comunican los procesos. la flexibilidad. Con un sistema con un sólo procesador el paralelismo era falso. pues en estos ambientes sólo nos interesa usar la máquina que ocupamos. Los sistemas operativos centralizados utilizan los recursos de una sóla computadora. Díaz y Martínez. la forma de planificación. ya que en este nuevo entorno no se puede tener toda la información sobre todos los nodos así que hay que buscar la manera posible de sobrellevar esta situación. . mientras que los sistemas operativos distribuidos gestionan los recursos de múltiples computadoras. el objetivo del sistema distribuido es crear una transparencia para el usuario. pero en otros lugares. ya sea empresas u otras universidades puede interesarles tener las computadoras bajo un sistema distribuido y proporcionar por ejemplo un uso transparente de una gran capacidad de disco o capacidad de procesamiento. de forma que vea al conjunto de computadoras como una sola y no se dé cuenta donde está el límite entre su máquina y cualquier otro nodo. Es mucho más compleja la implementación de un sistema operativo distribuido pues al tener que gestionarse varias máquinas cambian los algoritmos. ya que la técnica de la multiprogramación brinda sólo la ilusión de que varios procesos se ejecutan a la vez. El verdadero paralelismo se alcanza con los sistemas operativos distribuidos. la sincronización. Los sistemas operativos que usamos normalmente en nuestras casas o en la universidad son centralizados. con lo que se mejora el performance del sistema en general. Hay mucha experiencia en los sistemas centralizados pero en los distribuidos hay aún temas que requieren más investigación. Los sistemas operativos centralizados aparecieron primero y los distribuidos están unos escalones adelante en la evolución de los sistemas operativos. la velocidad. la confiabilidad. la comunicación y el crecimiento por incrementos y y y y y y Bibliografía Cabello. Teoría y Práctica. con capacidad para conectarse en red.y La diferencia entre estos dos tipos de sistemas operativos está en base a los recursos que maneja cada uno. Madrid: Díaz de Santos.

Andrew. Madrid: Universidad Pontificia de Comillas. (2001). Ann.). (2003). (2002).org/ Tanenbaum. Juan. Conceptos de Sistemas Operativos. Obtenido el 6 de Junio de 2009. Sistemas Operativos Distribuidos. Morera Pascual. Mexico: Prentice Hall. Ida y Mclver. . México: Thomson. (1996).augcyl.Flynn. de http://www. Juan y Perez-Campanero. Sistemas Operativos (3a ed. Introducción a los sistemas distribuidos. Oscar. Rojo.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->