Unidad 1 Los Sistemas Operativos en Ambientes Distribuidos

download Unidad 1 Los Sistemas Operativos en Ambientes Distribuidos

of 16

Transcript of Unidad 1 Los Sistemas Operativos en Ambientes Distribuidos

UNIDAD 1 LOS SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS

1.1.2 MODELO CLIENTE SERVIDORBasado en una arquitectura jerrquica donde el servidor es la mxima autoridad controla la red .

Caractersticas: Es un sistema centralizado servidor . Su estructura es fcil de expandir. Sus recursos locales son fciles de controlar. Es controlado por un NOS (LINUX, UNIX, WINDOWS).

FUNCIONES DEL SERVIDOR Proporcionar los servicios a los clientes.

Ejemplo: Servidor de impresin Servidor de pginas web Servidor de correo

Es responsable de la seguridad de la red. Antivirus Antispaw Firewalls

Es responsable del control de la concurrencia. Comparte recursos e informacin.

FUNCIONES DEL CLIENTE Hace las peticionesservicios al Server

MODELO CLIENTE/SERVIDOR MULTICAPAS

1.1.3 CARACTERSTICAS DEL SOFTWARE Contiene S.O en comn nodo .

Por ejemplo: Windows 98, Windows XP, Vista. Linux, Mandrake Linux deban, etc. Cuando existen S.O diferentes. Linux Samba para comunicarse Windows

1.1.4 CARACTERSTICAS DE HARDWARECada nodo contiene S.O propios caractersticos pero son requerimientos que deben cumplir como Memoria Procesador Dispositivos?? Nota: que cumplan con requerimientos de conexin del NOS.

1.1.5 DIRECCIONAMIENTOFsico = MAC + IP

DireccionamientoLgico = IP, puertos de enlace, DNS, mascaras de sub red. Clasificacin: IP Categora A 0 127.255.255.255 B 128 191.255.255.255

C 192 223.255.255.255 D 224 240.255.255.255 E 241 - 254.255.255.255

1.2 CONCEPTO Y CARACTERISTICAS DE UN SOR = NOSConjunto de programas y aplicaciones utilizadas para la administracin y seguridad de una red de rea local. Ejemplo: Windows NT, Server, UNIX, Linux Caractersticas: Basados en la arquitectura cliente/servidor. Fcil de administrar. Flexibilidad y economa.

1.1 CONCEPTOS Y CARACTERSTICAS DE UN SOD = SISTEMA DISTRIBUIDOCada equipo de cmputo es autnomo, tiene su propio procesador y memoria, existen equipos no heterogneos. Ejemplos de SOD: Seti, taos, Sprite, Spring, Solaris Caractersticas: Son difciles de administrar. Los recursos remotos suelen ser no muy confiables. Afectan los factores externos de su desempeo. Debido a la demanda de comunicacin cambian frecuentemente.

FACTORES EXTERNOS QUE AFECTAN A LOS SISTEMAS DISTRIBUIDOS Los avances tecnolgicos. La globalizacin. Los aspectos externos (culturales, polticos, econmicos).

1.2 Sistemas DistribuidosSistemas cuyos componentes hardware y software, estn en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicacin mediante un protocolo prefijado por un esquema cliente-servidor. Coleccin de elementos de cmputo autnomo que se encuentran fsicamente separados y no comparten una memoria comn, se comunican entre s a travs del intercambio de mensajes utilizando un medio de comunicacin. Los sistemas autnomos pueden tener caractersticas no homogneas.

1.2.1 Ventajas Desventajas contra Sistemas CentralizadosVentajas * Aumento de la disponibilidad. * Mejora del desempeo. * Balanceo en la carga de trabajo. * Comparticin de recursos. * Comparticin de informacin.

* Confiabilidad, disponibilidad y tolerancia a fallas. * Modularidad en el desarrollo. * Flexibilidad. * Crecimiento incremental. * Reduccin de costos. * Mayor capacidad de modelar estructuras organizacionales.

Desventajas* Uso ineficiente de los recursos distribuidos. * Capacidad reducida para administrar apropiadamente grupos de procesadores y memoria

Localizada en distintos sitios.* Enorme dependencia del desempeo de la red y de la confiabilidad de la misma. * Debilitamiento de la seguridad. * Mayor complejidad en la administracin y mantenimiento. * Mayor complejidad en su construccin.

1.2.2 Modelo Cliente ServidorHardware cliente-servidor La arquitectura cliente-servidor permite al usuario en una mquina, llamada el cliente, requerir algn tipo de servicio de una mquina a la que est unido, llamado el servidor, mediante una red como una LAN (Red de Area Local) o una WAN (Red de Area Mundial). Estos servicios pueden ser peticiones de datos de una base de datos, de informacin contenida en archivos o los archivos en s mismos, o peticiones de imprimir datos en una impresora asociada. Aunque clientes y servidores suelen verse como mquinas separadas, pueden, de hecho, ser dos reas separadas en la misma mquina. Por tanto, una nica mquina Unix puede ser al mismo tiempo cliente y servidor. Adems una mquina cliente unida a un servidor puede ser a su vez servidor de otro cliente y el servidor puede ser un cliente de otro servidor en la red. Tambin es posible tener el cliente corriendo en un sistema operativo y el servidor en otro distinto. Hay varios tipos comunes de mquinas clientes en entornos cliente-servidor. Uno de los clientes ms populares es una computadora personal basada en Intel que ejecuta aplicaciones de DOS en un entorno Windows. Otra cliente popular es una terminal X; de hecho, el sistema X Windows es un modelo cliente-servidor clsico. Hay tambin clientes Unix que ejecutan sistemas operativos como UnixWare. Un servidor que pide cosas a otro servidor es un cliente de la mquina a la que est pidiendo. Sin considerar el tipo de cliente que se est usando en una red cliente-servidor, se realizando al menos una de las funciones bsicas descritas aqu como funciones del cliente. Los clientes en una red cliente-servidor son las mquinas o procesos que piden informacin, recursos y servicios a un servidor unido. Estas peticiones pueden ser cosas como proporcionar datos de una base de datos, aplicaciones, partes de archivos o archivos completos a la mquina cliente. Los datos, aplicaciones o archivos pueden residir en un servidor y ser simplemente accedidos por el cliente o pueden ser copiados o movidos fsicamente a la mquina cliente. Esta disposicin permite a la mquina cliente ser relativamente pequea. Para cada tipo de entorno de cliente, hay habitualmente software especfico (y a veces hardware) en el cliente, con algn software y hardware anlogo en el servidor. Los servidores pueden ser sistemas operativos diferentes como Windows NT, Windows 95, OS/2, Unix. Unix es popular porque, como sistema operativo de servidores, puede ser utilizado en muchos

tipos de configuraciones sobre mquinas servidor, adems de como servidores de archivos y servidores de impresin.

Ventajas e inconvenientes del esquema Cliente/ServidorSe mencionan a continuacin algunas de las ventajas de la utilizacin del esquema Cliente/Servidor. Uno de los aspectos que ms ha promovido el uso de sistemas Cliente/Servidor es la existencia de plataformas de hardware cada vez ms baratas. Esta constituye a su vez una de las ms palpables ventajas de este esquema, la posibilidad de utilizar mquinas considerablemente ms baratas que las requeridas por una solucin centralizada, basada en sistemas grandes. Adems de lo anterior, se pueden utilizar componentes, tanto de hardware como de software, de varios fabricantes, lo cual contribuye considerablemente a la reduccin de costos y favorece la flexibilidad en la implantacin y actualizacin de soluciones. Adems de lo anterior, el esquema Cliente/Servidor facilita la integracin entre sistemas diferentes y compartir informacin, permitiendo, por ejemplo que las mquinas ya existentes puedan ser utilizadas pero utilizando interfaces ms amigables al usuario. De esta manera podemos, por ejemplo, integrar PCs con sistemas medianos y grandes, sin que todas las mquinas tengan que utilizar el mismo sistema operacional. Al favorecer el uso de interfaces grficas interactivas, los sistemas construidos con este esquema tienen una interaccin ms intuitiva con el usuario. Si se utilizan interfaces grficas para interactuar con el usuario, el esquema Cliente/Servidor presenta la ventaja, con respecto a uno centralizado, de que no es siempre necesario transmitir informacin grfica por la red pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho de banda de la red. La estructura inherentemente modular facilita adems la integracin de nuevas tecnologas y el crecimiento de la infraestructura computacional, favoreciendo as la escalabilidad de las soluciones. El esquema Cliente/Servidor contribuye adems a proporcionar a los diferentes departamentos de una empresa soluciones locales, pero permitiendo adems la integracin de la informacin relevante a nivel global. El esquema cliente/servidor tiene algunos inconvenientes que se mencionan a continuacin.

Por una parte, el mantenimiento de los sistemas es ms difcil pues implica la interaccin de diferentes partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el diagnstico de fallas. Adems de lo anterior, se cuenta con muy escasas herramientas para la administracin y ajuste del desempeo de los sistemas. En el desarrollo de aplicaciones Cliente/Servidor se deben tener en cuenta diferentes aspectos, que se mencionan a continuacin.

1.2.3 Caractersticas Hardware Sistemas DistribuidosTodos los sistemas distribuidos constan de varias cpu, organizadas de diversas formas, especialmente respecto de: La forma de interconectarlas entre s. Los esquemas de comunicacin utilizados. Existen diversos esquemas de clasificacin para los sistemas de cmputos con varias cpu: Uno de los ms conocidos es la Taxonoma de Flynn : Considera como caractersticas esenciales el nmero de flujo de instrucciones y el nmero de flujos de datos. La clasificacin incluye equipos SISD, SIMD, MISD y MIMD.

SISD (Single Instruction Single Data: un flujo de instrucciones y un flujo de datos): Poseen un nico procesador. SIMD (Single Instruction Multiple Data: un flujo de instrucciones y varios flujos de datos): Se refiere a ordenar procesadores con una unidad de instruccin que:

Busca una instruccin.Instruye a varias unidades de datos para que la lleven a cabo en paralelo, cada una con sus propios datos. Son tiles para los cmputos que repiten los mismos clculos en varios conjuntos de datos.

MISD (Multiple Instruction Single Data: un flujo de varias instrucciones y un solo flujo de datos):

No se presenta en la prctica.MIMD (Multiple Instruction Multiple Data: un grupo de computadoras independientes, cada una con su propio contador del programa, programa y datos): Todos los sistemas distribuidos son de este tipo. Un avance sobre la clasificacin de Flynn incluye la divisin de las computadoras MIMD en dos grupos: o Multiprocesadores: poseen memoria compartida: Los distintos procesadores comparten el mismo espacio de direcciones virtuales. Multicomputadoras: no poseen memoria compartida: Ej.: grupo de PC conectadas mediante una red. Cada una de las categoras indicadas se puede clasificar segn la arquitectura de la red de interconexin en:

Esquema de bus:Existe una sola red, bus, cable u otro medio que conecta todas las mquinas: Ej.: la televisin por cable. Esquema con conmutador: No existe una sola columna vertebral de conexin: Hay mltiples conexiones y varios patrones de conexionado. Los mensajes de mueven a travs de los medios de conexin. Se decide explcitamente la conmutacin en cada etapa para dirigir el mensaje a lo largo de uno de los cables de salida. Ej.: el sistema mundial telefnico pblico.

Otro aspecto de la clasificacin considera el acoplamiento entre los equipos: Sistemas fuertemente acoplados: El retraso al enviar un mensaje de una computadora a otra es corto y la tasa de transmisin es alta.

1.2.4 Caractersticas Software Sistemas DistribuidosLa importancia del software supera frecuentemente a la del hardware La imagen que un sistema presenta queda determinada en gran medida por el software del S. O. y no por el hardware. Los S. O. no se pueden encasillar fcilmente, como el hardware, pero se los puede clasificar en dos tipos: Dbilmente acoplados. Fuertemente acoplados. El software dbilmente acoplado de un sistema distribuido: Permite que las mquinas y usuarios sean independientes entre s en lo fundamental. Facilita que interacten en cierto grado cuando sea necesario. Los equipos individuales se distinguen fcilmente. Combinando los distintos tipos de hardware distribuido con software distribuido se logran distintas soluciones: No todas interesan desde el punto de vista funcional del usuario: Ej.: un multiprocesador es un multiprocesador: No importa si utiliza un bus con cachs monitores o una red omega.

1.2.5 Direccionamiento Lgico Fsico Sistemas DistribuidosDireccionamiento lgico y fsico El proceso desde que los datos son incorporados al ordenados hasta que se transmiten al medio se llama encapsulacin. Estos datos son formateados, segmentados, identificados con el direccionamiento lgico y fsico para finalmente ser enviados al medio. A cada capa del modelo OSI le corresponde una PDU (Unidad de Datos) siguiendo por lo tanto el siguiente orden de encapsulamiento: DATOSSEGMENTOS-PAQUETES-TRAMAS-BITS CAPA TRANSMITE APLICACIN DATOS PRESENTACION SESIN TRANSPORTE SEGMENTOS RED PAQUETES ENLACE DED DATOS TRAMAS FSICA BITS

Debido a que posiblemente la cantidad de los datos sean demasiados, la capa de transporte desde de origen, se encarga de segmentarlos para as ser empaquetados debidamente, esta misma capa en el destino se encargara de reensamblar los datos y colocarlos en forma secuencial, ya que no siempre llegan a su destino en el orden en que han sido segmentados, as mismo acorde al protocolo que se est utilizando habr correccin de errores. Estos segmentos son empaquetados (paquetes o datagramas) e identificados en la capa de red con la direccin lgica o IP correspondiente al origen y destino. Ocurre lo mismo con la direccin MAC en la capa de enlace de datos formndose las tramas o frames para ser transmitidos a travs de alguna interfaz.

1.3 Concepto Caractersticas SorSon aquellos sistemas que mantienen a dos o ms computadoras unidas a travs de algn medio de comunicacin (fsico o no), con el objetivo primordial de poder compartir los diferentes recursos y la informacin del sistema. El primer Sistema Operativo de red estaba enfocado a equipos con un procesador Motorola 68000, pasando posteriormente a procesadores Intel como Novell Netware. Los Sistemas Operativos de red mas ampliamente usados son: Linux,Novell Netware, Personal Netware, LAN Manager, Windows NT Server UNIX.

Una posibilidad es el software dbilmente acoplado en hardware dbilmente acoplado: Es una solucin muy utilizada. Ej.: una red de estaciones de trabajo conectadas mediante una LAN. Cada usuario tiene una estacin de trabajo para su uso exclusivo: Tiene su propio S. O. La mayora de los requerimientos se resuelven localmente. Es posible que un usuario se conecte de manera remota con otra estacin de trabajo: Mediante un comando de login remoto . Se convierte la propia estacin de trabajo del usuario en una terminal remota enlazada con la mquina remota. Los comandos se envan a la mquina remota. La salida de la mquina remota se exhibe en la pantalla local. Para alternar con otra mquina remota, primero hay que desconectarse de la primera: En cualquier instante solo se puede utilizar una mquina. Las redes tambin disponen de un comando de copiado remoto de archivos de una mquina a otra: Requiere que el usuario conozca: La posicin de todos los archivos. El sitio donde se ejecutan todos los comandos. Una mejor solucin consiste en un sistema de archivos global compartido, accesible desde todas las estaciones de trabajo: Una o varias mquinas soportan al sistema de archivos: Son los servidores de archivos . Los servidores de archivos : Aceptan solicitudes de los programas de usuarios: Los programas se ejecutan en las mquinas no servidoras, llamadas clientes . Las solicitudes se examinan, se ejecutan y la respuesta se enva de regreso. Generalmente tienen un sistema jerrquico de archivos. Las estaciones de trabajo pueden importar o montar estos sistemas de archivos: Se incrementan sus sistemas de archivos locales. Se pueden montar los servidores en lugares diferentes de sus respectivos sistemas de archivos: Las rutas de acceso a un determinado archivo pueden ser diferentes para las distintas estaciones. Los distintos clientes tienen un punto de vista distinto del sistema de archivos. El nombre de un archivo depende: Del lugar desde el cual se tiene acceso a l. De la configuracin del sistema de archivos. El S. O. de este tipo de ambiente debe: Controlar las estaciones de trabajo en lo individual. Controlar a los servidores de archivo. Encargarse de la comunicacin entre los servidores. Todas las mquinas pueden ejecutar el mismo S. O., pero esto no es necesario. Si los clientes y los servidores ejecutan diversos S. O., como mnimo deben coincidir en el formato y significado de todos los mensajes que podran intercambiar. Esquemas como este se denominan sistema operativo de red : Cada mquina tiene un alto grado de autonoma. Existen pocos requisitos a lo largo de todo el sistema.

1.4 Concepto Caractersticas del SodLos sistemas distribuidos estn basados en las ideas bsicas de transparencia, eficiencia, flexibilidad, escalabilidad y fiabilidad. 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.

ransparenciaEl concepto de transparencia de un sistema distribuido va ligado a la idea de que todo el sistema funcione de forma similar en todos los puntos de la red, independientemente de la posicin del usuario. Queda como labor del sistema operativo el establecer los mecanismos que oculten la naturaleza distribuida del sistema y que permitan trabajar a los usuarios como si de un nico equipo se tratara. En un sistema transparente, las diferentes copias de un archivo deben aparecer al usuario como un nico archivo. Queda como labor del sistema operativo el controlar las copias, actualizarlas en caso de modificacin y en general, la unicidad de los recursos y el control de la concurrencia. El que el sistema disponga de varios procesadores debe lograr un mayor rendimiento del sistema, pero el sistema operativo debe controlar que tanto los usuario como los programadores vean el ncleo del sistema distribuido como un nico procesador. El paralelismo es otro punto clave que debe controlar el sistema operativo, que debe distribuir las tareas entre los distintos procesadores como en un sistema multiprocesador, pero con la dificultad aadida de que sta tarea hay que realizarla a travs de varios ordenadores.

EficienciaLa idea base de los sistemas distribuidos es la de obtener sistemas mucho ms rpidos que los ordenadores actuales. Es en este punto cuando nos encontramos de nuevo con el paralelismo. Para lograr un sistema eficiente hay que descartar la idea de ejecutar un programa en un nico procesador de todo el sistema, y pensar en distribuir las tareas a los procesadores libres ms rpidos en cada momento.

La idea de que un procesador vaya a realizar una tarea de forma rpida es bastante compleja, y depende de muchos aspectos concretos, como la propia velocidad del procesador, pero tambin la localidad del procesador, los datos, los dispositivos, etc. Se han de evitar situaciones como enviar un trabajo de impresin a un ordenador que no tenga conectada una impresora de forma local.

FlexibilidadUn proyecto en desarrollo como el diseo de un sistema operativo distribuido debe estar abierto a cambios y actualizaciones que mejoren el funcionamiento del sistema. Esta necesidad ha provocado una diferenciacin entre las dos diferentes arquitecturas del ncleo del sistema operativo: el ncleo monoltico y el microncleo. Las diferencias entre ambos son los servicios que ofrece el ncleo del sistema operativo. Mientras el ncleo monoltico ofrece todas las funciones bsicas del sistema integradas en el ncleo, el microncleo incorpora solamente las fundamentales, que incluyen nicamente el control de los procesos y la comunicacin entre ellos y la memoria. El resto de servicios se cargan dinmicamente a partir de servidores en el nivel de usuario.

EscalabilidadUn sistema operativo distribuido debera funcionar tanto para una docena de ordenadores como varios millares. Igualmente, debera no ser determinante el tipo de red utilizada (LAN o WAN) ni las distancias entre los equipos, etc. Aunque este punto sera muy deseable, puede que las soluciones vlidas para unos cuantos ordenadores no sean aplicables para varios miles. Del mismo modo el tipo de red condiciona tremendamente el rendimiento del sistema, y puede que lo que funcione para un tipo de red, para otro requiera un nuevo diseo. La escalabilidad propone que cualquier ordenador individual ha de ser capaz de trabajar independientemente como un sistema distribuido, pero tambin debe poder hacerlo conectado a muchas otras mquinas.

FiabilidadUna de las ventajas claras que nos ofrece la idea de sistema distribuido es que el funcionamiento de todo el sistema no debe estar ligado a ciertas mquinas de la red, sino que cualquier equipo pueda suplir a otro en caso de que uno se estropee o falle. La forma ms evidente de lograr la fiabilidad de todo el sistema est en la redundancia. La informacin no debe estar almacenada en un solo servidor de archivos, sino en por lo

menos dos mquinas. Mediante la redundancia de los principales archivos o de todos evitamos el caso de que el fallo de un servidor bloquee todo el sistema, al tener una copia idntica de los archivos en otro equipo. Otro tipo de redundancia ms compleja se refiere a los procesos. Las tareas crticas podran enviarse a varios procesadores independientes, de forma que el primer procesador realizara la tarea normalmente, pero sta pasara a ejecutarse en otro procesador si el primero hubiera fallado.

ComunicacinLa comunicacin entre procesos en sistemas con un nico procesador se lleva a cabo mediante el uso de memoria compartida entre los procesos. En los sistemas distribuidos, al no haber conexin fsica entre las distintas memorias de los equipos, la comunicacin se realiza mediante la transferencia de mensajes.