Vous êtes sur la page 1sur 29

Sistemas Operativos

Sistema Operativo
Software bsico que controla una computadora. El sistema operativo tiene tres grandes funciones: coordina y manipula el hardware de la computadora, como la memoria, las impresoras, las unidades de disco, el teclado o el mouse; organiza los archivos en diversos dispositivos de almacenamiento, como discos flexibles, discos duros, discos compactos o cintas magnticas, y gestiona los errores de hardware y la prdida de datos.

Cmo funciona un Sistema Operativo


Los sistemas operativos controlan diferentes procesos de la computadora. Un proceso importante es la interpretacin de los comandos que permiten al usuario comunicarse con el ordenador. Algunos intrpretes de instrucciones estn basados en texto y exigen que las instrucciones sean tecleadas. Otros estn basados en grficos, y permiten al usuario comunicarse sealando y haciendo clic en un icono. Por lo general, los intrpretes basados en grficos son ms sencillos, pero muchos usuarios expertos prefieren los intrpretes de instrucciones basados en texto porque son ms potentes.

Los sistemas operativos pueden ser de tarea nica o multitarea. Los sistemas operativos de tarea nica, ms primitivos, slo pueden manejar un proceso en cada momento. Por ejemplo, cuando la computadora est imprimiendo un documento, no puede iniciar otro proceso ni responder a nuevas instrucciones hasta que se termine la impresin.

Todos los sistemas operativos modernos son multitarea y pueden ejecutar varios procesos simultneamente. En la mayora de los ordenadores slo hay una UCP; un sistema operativo multitarea crea la ilusin de que varios procesos se ejecutan simultneamente en la UCP. El mecanismo que se emplea ms a menudo para lograr esta ilusin es la multitarea por segmentacin de tiempos, en la que cada proceso se ejecuta individualmente durante un periodo de tiempo determinado.

Sistemas Operativos por la Forma de Ofrecer sus Servicios


Esta clasificacin tambin se refiere a una visin externa, que en este caso se refiere a la del usuario, el cmo aceza los servicios. Bajo esta clasificacin se pueden detectar dos tipos principales: sistemas operativos de red y sistemas operativos distribuidos.

Sistemas Operativos de Red


Los sistemas operativos de red se definen como aquellos que tiene la capacidad de

interactuar con sistemas operativos en otras computadoras por medio de un medio de transmisin con el objeto de intercambiar in1formacin, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades.

El punto crucial de estos sistemas es que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas operaciones, adems de la ubicacin de los recursos que desee acezar. Por ejemplo, si un usuario en la computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio /software/cdigo en la computadora modelos bajo el sistema operativo UNIX, dicho usuario podra copiarlo a travs de la red con los comandos siguientes: hidalgo % hidalgo % rcp modelos:/software/cdigo/matriz.pas . hidalgo%

En este caso, el comando rcp que significa "remote copy" trae el archivo indicado de la computadora modelos y lo coloca en el directorio donde se ejecut el mencionado comando. Lo importante es hacer ver que el usuario puede acezar y compartir muchos recursos.

Existen dos tipos bsicos de redes: Las redes locales(LAN) y las redes de rea ancha(WAN).La principal diferencia entre ambas es su distribucin geogrfica. Las redes locales estn compuestas por procesadores distribuidos en un rea geogrfica pequea, como un edificio o varios edificios adyacentes; en cambio las redes de rea ancha, estn formadas por varios procesadores autnomos distribuidos en un rea geogrfica extensa(como todo un pas).Estas diferencias radican en la velocidad y confiabilidad de la red de comunicaciones y se ven reflejadas en el diseo del sistema operativo.

Redes Locales

Las redes locales(LAN) surgieron a principios de los aos setenta como sustituto de los grandes sistemas de computacin central. En ese momento muchas empresas consideraron que era ms econmico tener varias computadoras pequeas, cada una con sus aplicaciones que un solo sistema de gran tamao.

Como las redes locales estn diseadas para abarcar una pequea rea geogrfica, las instalaciones estn a poca distancia entre si, los enlaces de comunicacin tienen mayor velocidad y menor tasa de errores que los de rea ancha.Los enlaces ms comunes son el par trenzado, el cable coaxial y la fibra ptica.

Una tpica red local puede consistir en varias mquinas diferentes, dispositivos perifricos compartidos(como impresoras lser) estaciones de trabajo etc.Para construir stas redes debemos emplear un esquema Ethernet, donde el medio de comunicacin es un cable coaxial multiacceso con un esquema de deteccin de colisiones.

Redes de Area Ancha

Estas redes(WAN) surgieron a finales de los aos setenta como un proyecto acadmico de investigacin para ofrecer una comunicacin eficiente entre instalaciones, permitiendo compartir de manera eficiente y econmica el hardware y el software entre una extensa red de usuarios.

La primera red que se diseo y desarroll fue Arpanet. Los trabajos de Arpanet comenzaron en 1968 y ha crecido notablemente, de una red de 4 mquinas a una red mundial de redes como lo es Internet que hoy comprende miles de mquinas conectadas entre si.

Debido a que las instalaciones en una red de rea ancha estn distribuidas fsicamente en una extensa rea geogrfica, los enlaces de comunicacin son normalmente lentos y poco confiables. Los enlaces tpicos son lneas telefnicas, enlaces por microondas y canales de satlite y se controlan mediante procesadores de comunicacin especiales responsables de definir la interfaz por medio del cual las instalaciones se comunican en la red.

Si tomamos una red de rea ancha como internet, el sistema permite que se comuniquen entre si las instalaciones separadas llamadas anfitriones; las mquinas anfitriones generalmente se diferencian del resto en cuanto a su tipo, velocidad, sistema operativo etc.

Sistemas Operativos Distribuidos

Los sistemas operativos distribuidos abarcan los servicios de los de red, logrando integrar recursos ( impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso ) en una sola mquina virtual que el usuario aceza en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicacin de los recursos, sino que los conoce por nombre y simplemente los usa como si todos ellos fuesen locales a su lugar de trabajo habitual. Todo lo anterior es el marco terico de lo que se deseara tener como sistema operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo, por la complejidad que suponen: distribuir los procesos en las varias unidades de procesamiento, reintegrar subresultados, resolver problemas de concurrencia y paralelismo, recuperarse de fallas de algunos recursos distribuidos y consolidar la proteccin y seguridad entre los diferentes componentes del sistema y los usuarios.

Los avances tecnolgicos en las redes de rea local y la creacin de microprocesadores de 32 y 64 bits lograron que computadoras mas o menos baratas tuvieran el suficiente poder en forma autnoma para desafiar en cierto grado a los mainframes, y a la vez se dio la posibilidad de intercomunicarlas, sugiriendo la oportunidad de partir procesos muy pesados en clculo en unidades ms pequeas y distribuirlas en los varios microprocesadores para luego reunir los subresultados, creando as una mquina virtual en la red que exceda en poder a un mainframe.

El sistema integrador de los microprocesadores que hacer ver a las varias memorias, procesadores, y todos los dems recursos como una sola entidad en forma transparente se le llama sistema operativo distribuido.

Las razones para crear o adoptar sistemas distribuidos se dan por dos razones principales: por necesidad ( debido a que los problemas a resolver son inherentemente distribuidos ) o porque se desea tener ms confiabilidad y disponibilidad de recursos. En el primer caso tenemos, por ejemplo, el control de los cajeros automticos en diferentes estados de la repblica.

Ah no es posible ni eficiente mantener un control centralizado, es ms, no existe capacidad de cmputo y de entrada/salida para dar servicio a los millones de operaciones por minuto. En el segundo caso, supngase que se tienen en una gran empresa varios grupos de trabajo, cada uno necesita almacenar grandes cantidades de informacin en disco duro con una alta confiabilidad y disponibilidad.

La solucin puede ser que para cada grupo de trabajo se asigne una particin de disco duro en servidores diferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a todos, sino slo a unos cuantos y, ms an, se podra tener un sistema con discos en espejo ( mirror ) a travs de la red, de manera que si un servidor se cae, el servidor en espejo contina trabajando y el usuario ni cuenta se da de estas fallas, es decir, obtiene acceso a recursos en forma transparente.

Diferencias entre Sistemas

La diferencia fundamental entre un sistema en red y uno distribuido se puede explicar a travs del anlisis de la localizacin del mdulo de comunicaciones entre procesos.

Un sistema en red tpico es una coleccin de sistemas operativos locales, acompaado de servidores de impresin y de archivos, conectados por medio de una red. Los usuarios estn enterados de la multiplicidad de mquinas y para el acceso a los recursos necesitan conectarse a la mquina remota o transferir datos de la mquina remota a la propia. Podemos decir que todos los sistemas en red se ejecutan como funciones locales autnomas a la administracin de dispositivos, de procesos, de entradas y salidas, de archivos y recursos en general.

Estas funciones deben interactuar, pero tomando decisiones locales sin tener en cuenta procesos y recursos remotos. Las decisiones y el control orientado a operaciones remotas, son tomadas solo a nivel de la comunicacin de la red.

Por otro lado podemos decir que un sistema distribuido es solo un sistema expandido en toda la red, pero visto como un solo sistema para todos los elementos que existen en la red.Los usuarios no necesitan saber de la multiplicidad de mquinas y pueden acceder a los recursos remotos de la misma manera que lo hacen para los recursos locales.La tolerancia a fallas es ms alta, pero tambin podemos decir que el control y las decisiones son tomadas globalmente, los recursos conectados a la red son administrados de una forma global usando mecanismos distribuidos en lugar de mecanismos locales.

Base Histrica
El comienzo potencial de la utilizacin de sistemas distribuidos es a principios de los 70. Tras el emergimiento de los minicomputadores; la utilizacin de estos como estaciones de trabajo grficas uniusuario fue una gran xito, sobre todo en el desarrollo de SW. Este xito condujo a pensar en la posibilidad de conseguir los mismos resultados desde un punto de vista multiusuario.

Problema: la tecnologa necesaria para transformar aquel sistema uniusuario en otro coopoerativo no exista en aquellos momentos. Uno de los primeros xitos en desarrollo fue gracias al Xerox Palo Alto Research Center (Xerox PARC), en 1971-1980: Servidores de impresin y de ficheros. Primera red local de alta velocidad (Ethernet). Sistemas distribuidos experimentales. Primera estacin de trabajo: Alto: monitor monocromo de alta resolucin. 128 Kb de memoria principal. Disco duro de 2.5 Mb. CPU microprogramada a la velocidad de 1 instruccin/2-6 microsegundos. Xerox DFS (Distributed File System). En primera poca, tambin: UNIX ARPANet (padre de la Internet actual). SmallTalk (primer concepto de programacin orientada a objetos). Despus: Berkeley UNIX. Ethernet (ya comentada) Sun NFS AFS (Andrew File System) Mach Amoeba Chorus

Modelos de Sistema Distribudo Estaciones y servidores


Es el ms comn en la actualidad. A cada usuario se le asigna una estacin. Las estaciones: ejecutan las aplicaciones. Dan soporte a la interfaz de usuario (GUI). Acceden a los servicios compartidos, mediante SW de comunicaciones.

Los servidores dan acceso a: Informacin compartida (servicio de ficheros) dispositivos HW compartidos (impresoras, scanners, ...) funciones del Sistema Operativo (autentificacin, ...) Ejemplos: XDS y Cedar, del Xerox PARC. V-system de la Universidad de Stanford. Argus, del MIT.

Banco de procesadores
Los procesadores del pool tienen un CPU, suficiente memoria, pero no tienen ni discos ni terminales. Los usuarios acceden al sistema desde terminales-X. Gestor de recursos: controla el acceso a los procesadores del pool (PP). El usuario especifica sus requerimientos (CPU, memoria, programa). El Gestor de Recursos le asigna un procesador como ordenador personal. Ventajas con respecto a Estaciones y Servidores: mejor utilizacin de recursos: muchos puntos de entrada con pocas CPUs. mayor flexibilidad: se pueden dedicar procesadores para expandir servicios. compatibilidad con el SW preexistente. utilizacin de procesadores heterogeneos. Incoveniente: mala respuesta interactiva: terminales conectados a una linea serie. Ejemplo: CDCS, basado en el anillo de Cambridge.

Miniordenadores Integrados Basado en mquinas multiusuario. El usuario se conecta a una mquina especfica. Enfoques histricos: acceso remoto mediante copias: de esta forma no se mezclan los espacios de nombramiento locales, pero no es distribuido. sistemas de ficheros contiguos: superdirectorio virtual: "/../", esquema de nombramiento global. no es distribuido: el nombre de los ficheros depende de su ubicacin (mquina A, B, C????) ejemplo: NETIX, Newcastle Connection.

Locus (UCLA):

Cada ordenador mantiene su autonoma (conjunto completo de SW estndar, aplicaciones y servicios propios). Esquema de nombramiento global: acceso independiente de la ubicacin, posibilidad de migracin de ficheros entre mquinas.

Modelos hbridos
AMOEBA, de la Universidad Libre de Amsterdam. Consiste en: sistema de estaciones y servidores ms un pool de procesadores. Funcionalidad mixta: estaciones para las aplicaciones interactivas. procesadores variados. servidores especializados. Caractersticas: Kernel pequeo: planificacin y paso de mensajes. el SO corre como procesos de usuario. servicio de gateway a WAN. gestin del pool mediante un servidor de carga y otro de procesos. Ventajas: recursos de procesamiento ajustados a las necesidades del usuario. ejecucin concurrente. acceso a travs de terminales (precio).

Requisitos y caractersticas de un SOD. Caractersticas


Comparticin de recursos (resource sharing)
Definicin de recurso: rango de "cosas" que pueden ser compartidas en un sistema distribuido, de forma til. Desde componentes HW (disqueteras, impresoras) a entidades SW (ficheros, ventanas, bases de datos). Dispositivos HW: se comparten para reducir costes. SW: comparticin de herramientas de desarrollo, ficheros, facilidad de actualizacin. Groupware. Gestor de recursos: mdulo SW que gestiona un conjunto de recursos de un tipo particular. Para cada conjunto de recursos existe un nmero de polticas diferentes, pero tambien caractersticas comunes.

Modelos de gestin de recursos: Modelo Cliente/Servidor UNIX. Necesidad de centralizacin de gestin. Necesidad de diferenciar entre servidor y servicio. Inconveniente: algunas aplicaciones pueden requerir una cooperacin ms directa entre clientes. Modelo orientado a objetos Cada recurso es visto como un objeto, unvocamente identificado, y mvil. Ventajas: simplicidad, flexibilidad. Los objetos pueden actuar como usuarios de recursos y como gestores de recursos. Se necesita un gestor de objetos: coleccin de procedimientos y datos que caracterizan una clase de objetos. Ejemplos: Argus, Amoeba, Mach.

Apertura (openness)
Definicin: permite a un SOD expandirse en mltiples direcciones. Un sistema puede ser abierto o cerrado con respecto a HW o SW: La apertura se consigue especificando y documentando las interfaces fundamentales del sistema y ponindolos disponibles a los desarrolladores, para, finalmente, estandarizar esas interfaces: UNIX: los recursos del SO se acceden mediante System Calls, totalmente documentadas y disponibles a los desarrolladores. La apertura de UNIX est inherentemente asociada a sus System Calls.

Concurrencia (concurrency)
Varios procesos existen al mismo tiempo en una mquina: ejecucin concurrente. Con un solo procesador, esto implica planificacin de CPU.

Escalabilidad (scalability) Definicin: capacidad de un sistema de operar de manera efectiva independientemente de

su tamao. La existencia de crecimientos en el sistema no implican modificaciones de la arquitectura bsica del mismo. Distribucin de cargas. Se trata de evitar las siguientes centralizaciones: 1. componentes centralizados. 2. tablas centralizadas. 3. algoritmos centralizados. Caractersticas: 4. ninguna mquina tiene informacin completa del estado del sistema. 5. las mquinas toman decisiones basadas en informacin local. 6. el fallo de una mquina no implica la terminacin en fallo del algoritmo. 7. no se asume la existencia de un reloj global. Tcnicas empleadas: replicacin de datos. caching. duplicacin o complemento de tareas entre servidores.

Tolerancia a Fallos (fault tolerance)


Un fallo HW o SW puede producir inconsistencias o prdidas de servicio. Dos ideas: redundancia del HW, programas de recuperacin de fallos. Redundancia: arquitecturas de servidores en HOT STANDBY: muy caro (cada vez menos). Redireccionamiento de servidores (yahoo). Roll-back: transacciones atmicas. Sistemas de Alta disponibilidad (HA).

Transparencia (transparency)
Definicin: abstraccin que permite al usuario o al desarrollador desconocer los diferentes componentes del sistema distribuido. La separacin de componentes en inherente en un sistema distribuido => acceso a recursos es un problema.

Tipos de transparencia (ANSA Reference Manual, ISO's Reference Model for Open Distributed Processing, [ISO RM ODP]: 1. 2. 3. 4. 5. 6. 7. 8. t. de acceso: acceso a objetos locales o remotos de la misma manera. t. de lugar: acceso a objetos sin conocer dnde estn. t. de concurrencia: varios procesos pueden operar concurrentemente usando objetos de informacin compartidos sin estorbarse. t. de replicacin: diferentes rplicas de un mismo objeto de informacin sin enterarse a cul se accede, ni diferencias entre ellos. t. de fallo: aislamiento de fallos, de forma que las aplicaciones puedan completar sus tareas. t. de migracin: permite mover los objetos de informacin sin afectar a las aplicaciones. t. de rendimiento: redistribucin de cargas en el sistema sin modificacin en las aplicaciones. t. de escalabilidad: permite asumir cambios de tamao del sistema y aplicaciones sin modificar la estructura del sistema ni los algoritmos de los programas.

Las ms importantes: t. de acceso y de lugar: TRANSPARENCIA DE RED.

Requisitos de diseo
Los componentes y arquitecturas del sistema utilizadas para cumplir con las caractersticas mencionadas arriba necesitan a su vez cumplir con unos requisitos:

Metas en el Diseo:
1. 2. 3. 4. 5. Prestaciones Fiabilidad Escalabilidad Consistencia Seguridad

Requisitos bsicos de diseo:


1. Nombrado: los nombres asignados a recursos u objetos han de tener un significado global e independiente de la localizacin. Adems, ha de existir un sistema de interpretacin que pueda trasladar nombres a recursos (ejemplo: internet(host + port)). 2. Comunicacin: doble optimizacin: HW y SW (protocolos, algoritmos). Sincronizacin en la comunicacin.

3. Estructura del SW: en sistemas centralizados, el diseo de SW es monoltico. En SSDD, los programas pueden acceder a diferentes servicios, cada uno de los cuales provee su propio interfaz de operacin. Capas en un sistema centralizado. En un SD, los servicios deben ser fcilmente aadidos y escalables, por lo que el Kernel ser la nica parte rgida, restringindose a: 3.1 alojamiento y proteccin de memoria. 3.2 creacin de procesos y planificador. 3.3 comunicacin entre procesos (IPC). 3.4 manejo de dispositivos perifricos.

Categoras principales de SW en un SD. De aqu se distinguen tres categoras: 3.5 Kernel (OS Kernel Services). Ya comentado anteriormente. Se ha llegado al desarrollo de microkernels: el conjunto mnimo de servicios y recursos a partir de los cuales el resto de servicios se pueden construir. De esta forma se consigue el mximo nivel de APERTURA. 3.6 Servicios abiertos (Open Services): facilidades aadidas. Generalmente se ofrece el conjunto de servicios tpicos de un sistema UNIX (servicio de ficheros, correo electrnico...). 3.7 Soporte para programacin distribuida (distributed programming support): por ejemplo, RPC.

Alojamiento de la carga de trabajo: 4.1 Modelo de pool de procesadores. 4.2 Aprovechamiento de "idle workstations". 4.3 Multiprocesadores de memoria compartida. Cada procesador ejecuta lo que va pudiendo.

Mantenimiento de la consistencia: 5.1 c. de actualizacin: problema que aparece cuando varios procesos acceden y actualizan datos constantemente. Es necesaria la atomicidad de operaciones, mediante mecanismos de exclusin mutua. 5.2 c. de replicacin: la rplica de datos ha de efectuarse ptimamente. 5.3 c. de cach. 5.4 c. de fallos: en un sistema centralizado, si falla, todo falla. En uno distribuido, existirn diferentes MODOS DE FALLOS (failure modes), donde si el sistema en

conjunto falla, en cada mquina su proceso se encontrar en un estado determinado: transacciones atmicas. 5.5 c. de reloj: debido al ancho de banda de las redes, la sincronizacin entre mquinas no es obvia. Afortunadamente, este requerimiento en SSDD no suele ser absoluto, sino relativo a orden. 5.6 c. de interfaz de usuario.

Requerimientos del Usuario:


1. Funcionalidad: qu debera hacer el sistema por los usuarios. Requerimiento mnimo: la funcionalidad provista por un sistema distribudo no debera de ser menos que el obtenido por un sistema aislado. Requerimiento mximo: mejora sobre los servicios provistos por cualquier ordenador personal por s slo, a travs de: 1.1 comparticin a travs de la red, y especializacin de recursos (p.e. servidor de impresin). 1.2 aplicacin de las ventajas de la distribucin al nivel de APIs (application programming interface), para que puedan ser implementadas. Opciones de migracin de computacin centralizada multiusuario a computacin distribuida: 1.3 Adaptar Sistemas Operativos ya existentes: adicin de servicios, tipo NFS. 1.4 Migrar a un SO totalmente nuevo: el SW anterior es intil. 1.5 Emulacin: migrar a un SO nuevo, pero con caractersticas de emulacin de uno o ms SSOO ya existentes. Ejemplos: Mach, Chorus. Problema: prestaciones. 2 Reconfiguracin: necesidad del sistema para adaptacin a cambios sin causar discapacidad a la provisin de servicio existente. Diseo de un sistema distribuido en relacin a la escala temporal: 2.1 Cambios a corto plazo: una mquina, red, componente... estropeada se reemplaza por otra.

la carga de trabajo se ha de reequilibrar, pasndo procesos a mquinas libres. la comunicacin de red se minimiza. 2.2 Cambios a medio y largo plazo: Asignacin de nuevos roles a mquinas. Adicin de nuevas mquinas, o nuevos tipos.

Calidad de servicio: temas de prestaciones, confianza y seguridad.

Ventajas De Los Sistemas Distribuidos


Compartir Recursos

Si varias computadoras estn conectadas entre s, entonces un usuario puede utilizar en una computadora los recursos disponibles en otra.Por ejemplo,en la computadora 1 se puede utilizar una impresora lser solo disponible en la mquina 2,al mismo tiempo en la 2 es posible tener acceso a un archivo que reside en la 1.En general el compartimiento de recursos en un sistema distribuido ofrece los mecanismos para compartir archivos en instalaciones remotas, procesar informacin ,imprimir archivos y utilizar diferentes dispositivos remotos de hardware.

Aceleracion De Clculos

Sin un clculo determinado puede dividirse en varios subclculos para que se ejecuten concurrentemente, un sistema operativo distribuido permitir distribuir los clculos entre las distintas computadoras y tambin ejecutarlos concurrentemente. Adems si una computadora est sobrecargada de trabajos, algunos de ellos pueden pasarse a otra mquina.

Confiabilidad

Si falla una computadora en un sistema distribuido, las restantes pueden continuar trabajando. Si el sistema se compone de computadoras de gran tamao la falla de una no debera afectar a las dems; si son computadoras pequeas las que forman el sistema donde cada una es responsable de alguna funcin, entonces un solo error puede detener el funcionamiento de todo el

sistema. En general si hay suficiente hardware y software en el sistema ste puede continuar su trabajo normalmente. El sistema debe detectar la falla de una computadora y tomar las medidas necesarias. El sistema no debe utilizar los servicios de esa mquina; adems otra mquina puede hacerse cargo de la funcin que fall. Por ltimo decimos que cuando la mquina que fall se repara deben llevarse a cabo mecanismos para reintegrarla de nuevo al sistema.

Comunicacin Si varias mquinas estn interconectadas por medio de una red, los usuarios tienen la

posibilidad de intercambiar in formacin. A travs de el pasaje de mensajes la funcionalidad en una mquina independiente se puede ampliar a un sistema distribuido. Algunos de los beneficios que podemos obtener son la transferencia de archivos y el uso del correo. La ventaja de un sistema operativo distribuido es que muchas de las funciones mencionadas pueden efectuarse a grandes distancias. Dos personas en diferentes zonas geogrficas pueden trabajar en un mismo proyecto. Con la transferencia de archivos se pueden transferir programas e intercambiar correspondencia para coordinar el trabajo. Otras ventajas que podemos mencionar de los sistemas distribuidos es la que tienen con respecto a los sistemas centralizados y son:

1.-)

Economa: Es mucho ms barato instalar un sistema distribuido(o sea varias

computadoras conectadas entre si) y no un gran mainframe ya sea por el costo que este tiene o por la imposibilidad de compartir los datos entre varios usuarios. 2.-) Velocidad: Al instalar un sistema distribuido, obtenemos ms velocidad que en un mainframe ya que podemos realizar las distintas tareas entre los procesadores del sistema. 3.-) Distribucin Inherente: Se refiere a la posibilidad de descomponer las tareas del sistema entre varios procesadores y no recargar a uno solo con agoviantes instrucciones, en consecuencia obtenemos mayor aceleracin de clculos. 4.-) Seguridad: Significa que si una mquina falla el sistema no se cae y contina

trabajando normalmente.

5.-)

Crecimiento por Incrementos: Sera algo as como la escalabilidad, es decir

podemos agregar componentes al sistema como ms procesadores, multimedia etc. sin necesidad de tener que cambiar todo el hardware cuando queremos hacer una actualizacin.

Desventajas De Los Sistemas Distribuidos

En todos los sistemas de computadoras existen mltiples fallas solo que en un sistema distribuido resultan ms visibles, dado que existen ms componentes y por lo tanto mayor interferencia e interconexiones, como as tambin fallas parciales(en cada mquina)estos problemas causados por interconexin se denominan problemas del sistema. veamos algunos de estos problemas: Estos problemas de sistema, se presentan cuando se interconectan entre si diferentes componentes que por lo general trabajan independientemente. Este tipo de falla resulta ms fcil de apreciar cuando utilizamos correo electrnico o sistemas de archivos.

Otro problema se presenta cuando tenemos dos componentes en un sistema(cada uno por separado) y presentan caractersticas funcionales, pero al combinarlos se comportan de una manera no esperada.

Tambin podemos encontrarnos con fallas de propagacin, es decir que la falla que sufra un nodo puede echar abajo toda la red. Por lo general este tipo de falla resulta de algn error de diseo.

Podemos tener problemas en una red de comunicacin, debido a que esta puede perder mensajes, entonces es necesario contar con un software especial para controlar los mensajes. Un detalle a tener en cuenta es que las redes sufren saturacin por el gran nmero de mensajes que se transmiten por ella.

Por ltimo diremos que los sistemas distribuidos sufren de una gran vulnerabilidad es decir la informacin esta disponible para todos los usuarios y puede carecer de privacidad.

Sistema de Archivo Distribuido

Sistema de Archivo Distribuido

Un sistema de archivos distribuido (SAD) es una implantacin distribuida del clsico modelo de sistema de archivos de tiempo compartido, donde varios usuarios comparten archivos y recursos de almacenamiento. El propsito de un SAD es apoyar el mismo tipo de comparacin cuando los archivos estn dispersos fsicamente en varias instalaciones de un sistema distribuido. En este capitulo analizaremos distintas maneras de disear e implantar un sistema de archivos distribuido. Primero analizamos los conceptos comunes en que se apoyan los sistemas de archivos distribuidos; luego ilustramos nuestros conceptos examinando los sistemas de archivos distribuidos UNIX United, NFS, Andrew, Sprite y Locus. En la presentacin utilizamos esta estrategia debido a que los sistemas distribuidos siguen siendo un Area de investigacin y an se estudian muchas de las consideraciones de diseo que presentamos. Al explorar estos ejemplos de sistemas, esperamos ofrecer un esbozo de los factores por considerar en el diseo de un sistema operativo e indicar las Areas en las que se encuentran actualmente las investigaciones sobre sistemas operativos.

Antecedentes Un Sistema Distribuido es un conjunto de maquinas dbilmente acopladas, interconectadas por una red de comunicaciones. Utilizamos el trmino mquina para representar un computador central o una estacin de trabajo. Desde el punto de vista de una mquina especifica en un sistema distribuido, las dems mquinas y sus recursos son remotos, mientras que los recursos propios de la mquina son locales.

Para explicar la estructura de Un SAD, necesitamos definir los trminos servicio, servidor y cliente. Un servicio es una entidad de software que se ejecuta en una o mas maquinas y un cliente es un proceso que puede invocar una servicio por medio de un conjunto de operaciones que forman su interfaz con el cliente. En algunas ocasiones, se define una interfaz de bajo nivel para la interaccin de las mquinas; cuando sea necesario, nos referiremos a esta interfaz como la interfaz entre mquinas.

Usando esta terminologa, decimos que un sistema de archivos ofrece servicios de archivos a clientes. Una interfaz con el cliente para el servicio de archivo se forma con un Conjunto de Operaciones de archivo primitivas, como crear, eliminar, leer o escribir un archivo.

El principal componente del hardware controlado por el servidor de archivos es un Conjunto de dispositivos de almacenamiento secundario (es decir, discos magnticos), en los cuales se almacenan los archivos y de donde necesidades de los clientes.

Se recuperan segn las un SAD es un sistema de archivos cuyos clientes, servidores y dispositivos de almacenamiento estn dispersos en las mquinas de un sistema distribuido; por tanto, las actividades de servicio tienen que efectuarse a lo largo de la red, y en vez de un slo depsito de datos centralizado, existen multiples dispositivos independientes de almacenamiento. Como se ver ms adelante, la configuracin y la implantacin de un SAD pueden variar. En algunas configuraciones, los servidores se ejecutan en mquinas dedicadas; en otras, una maquina puede ser un servidor o un cliente.

El SAD puede implantarse como parte de un sistema operativo distribuido, bien como una capa de software cuya tarea es administrar la comunicacin entre los sistemas operativos y los sistemas de archivos convencionales. Las caractersticas distintivas de un SAD son Ia multiplicidad y autonoma de los clientes y servidores en el sistema.

Nominacin y Transparencia
La nominacin es una correspondencia entre objetos de datos lgicos y fsicos. Por ejemplo, los usuarios tratan con objetos de datos lgicos representados por nombre de archivos, mientras que el sistema manipula bloques de datos fsicos almacenados en las pistas de los discos. Generalmente un usuario se refiere a un archivo utilizando un nombre , el cual se transforma en un identificador numrico de bajo nivel, que a su vez se corresponde con bloques en disco. Esta correspondencia multinivel ofrece a los usuarios la abstraccin de un archivo, que oculta los detalles de cmo y donde se almacena el archivo en disco. En un SAD transparente se agrega una nueva dimensin de abstraccin ..: la ocultacin de la ubicacin de los archivos de la red. En un sistema de archivos convencionales la funcin de nominacin produce como resultado un intervalo de direcciones en disco, en un SAD este intervalo crece para incluir la mquina especifica en cuyo disco se almacena el archivo. Si se extiende un poco mas el tratamiento de los archivos como abstracciones, llegamos a la posibilidad de replicas de archivos. Dado un nombre de archivo, la correspondencia devuelve un conjunto de posiciones de las replicas de este archivo. En esta abstraccin se ocultan tanto la experiencia de copias como su ubicacin.

Estructuras de Nominacin ..:

Existen dos conceptos que hay que distinguir en relacin con al nombres en un SAD.

correspondencia de

Transparencia de Nominacin, El nombre de archivo no revela ningn indicio sobre de la ubicacin del almacenamiento fsico del archivo. Independencia de Ubicacin, No es necesario modificar el nombre de un archivo cuando cambia su ubicacin en el almacenamiento fsico.

Esquema de Nominacin ..: Hay tres enfoques principales para los esquemas de nominacin en un SAD. En el enfoque

mas sencillo, los archivos se nombran con una combinacin del nombre de su anfitrin y su nombre local , lo que garantiza un nombre nico dentro de todo el sistema. Por ejemplo, en Ibis, un archivo se identifica de manera nica con el Nombre Anfitrin Local, donde nombre local es una ruta semejante a las de UNIX. El segundo enfoque popularizado por el sistema de archivos de red (NFS, Network File System) de sun, ofrece una forma de unir directorios remotos a directorios locales, lo que da la apariencia a un rbol de directorios coherentes. El tercer enfoque es la estructura mas compleja y difcil de mantener en la NFS, ya que cualquier directorio se puede unir a cualquier rbol de direcciones locales y la jerarqua resultante puede estar poco estructurada.

Tcnicas de Implantacin ..:

Para implantar una nominacin transparente se requiere un mecanismo para correspondencia entre un nombre de archivo y la ubicacin asociada. Para que esta correspondencia sea manejable, hay que agrupar conjuntos de archivos en unidades componentes y proporcionar la correspondencia segn las unidades componentes, no por archivos. Esta agrupacin tambin tiene fines administrativos. Los sistemas semejantes a UNIX utilizan archivos en directorios. el rbol jerrquico de directorios para proporcionar una transformacin de nombres y para agrupar repulsivamente los

Servicios Remotos
Consideremos un usuario que solicita el acceso a un archivo remoto. Suponiendo que se localiz al servidor que contiene al archivo mediante el esquema de nominacin apropiada, debe efectuarse la transferencia de datos para satisfacer la solicitud de acceso remoto del usuario. Una manera de lograr esta transferencia es a travs del mtodo de servicio remoto, con el cual se entregan al servidor las solicitudes de acceso, la maquina servidora lleva a cabo dichos accesos y los usuarios se devuelven al usuario Existe una coherencia directa entre los accesos y el trafico que va y viene del servidor. De notar que se presenta una analoga directa entre los mtodos de acceso a disco en los sistemas de archivos convencionales y el mtodo de servicio remoto en un SAD. El mtodo de servicio anlogo efecta un acceso al disco para cada solicitud de acceso. Una de las formas ms comunes de servicio remoto es el paradigma de llamada a procedimiento remoto, RPC fue diseado como una forma de abstraer el mecanismo de llamadas a procedimientos para usarse entre sistemas con conexiones de red.

Memoria Cach

Para asegurar un rendimiento razonable del esquema de servicio remoto presentado en la seccin anterior utilizamos una forma de memoria cach. En los sistemas de archivos convencionales, el fundamento para la memoria cach es la reduccin de la E/S de disco (lo que aumenta el rendimiento), en un SAD el objetivo es reducir el trfico en la red.

Esquema Bsico, el concepto de memoria cach es sencillo, si los datos necesarios para satisfacer la solicitud de acceso no se encuentran en la memoria cache, se trae una copia de servicio al usuario y los accesos se llevan a cabo con la copia de memoria cach.

La idea es conservar all los bloques de disco de acceso mas reciente, para as manejar localmente los accesos repetidos a la misma informacin y no aunmentar el trafico de la red. Se utiliza una poltica de remplazo (por ejemplo, la de utilizacin menos reciente) para limitar el tamao de la memoria cach.

Polticas de Actualizacin, la poltica empleada para escribir los bloques de datos modificados en la copia maestra del servidor tiene un efecto decisivo sobre la confiabilidad y el rendimiento del sistema. La poltica mas sencilla consiste en escribir los datos directamente en el disco tan pronto se coloquen en una memoria cach. La ventaja de la escritura directa es su confiabilidad, ya que se pierde poca informacin si un sistema cliente falla. Sin embargo, esta poltica requiere que cada acceso de escritura espere hasta que se enve la informacin al servidor, por lo que representa una escritura de escaso rendimiento. La memoria cach con escritura directa equivale a usar el servicio remoto para accesos de escritura y explotar la memoria cache nicamente para accesos de lectura. NFS proporciona el acceso de escritura directa.

Consistencia, una maquina cliente se enfrenta al problema de decidir si una copia de datos en memoria cach local es consistente con la copia maestra ( y por tanto, puede usarse). Si la maquina cliente determina que sus datos en memoria cach estn desfasados, ya no pueden servir para los accesos y hay que colocar en la memoria cach una copia actualizada de los datos. Existen dos enfoques para verificar la validez de los datos en memoria cach ..:

Enfoque iniciado por el cliente, el cliente inicia una comprobacin de validez, en

la cual se pone en contacto con el servidor y comprueban si los datos locales son consistentes con la copia maestra.

Enfoque iniciado por el servidor, el servidor anota, para cada cliente, las partes

de los archivos que coloca en memoria cache, y cuando detecta una inconsistencia, debe reaccionar. Una posible fuente inconsistencia ocurre cuando dos clientes, que trabajan en modos conflictivos, colocan en memoria cach un archivo.

Replicacin de Archivo
La replicacin de archivos en maquinas diferentes es una redundancia til para mejorar la disponibilidad. La replicacin en varias maquinas puede beneficiar el rendimiento, ya que, al seleccionar una replica cercana para atender una solicitud de acceso, el tiempo de servicio es menor. El requisito fundamental de un sistema de replicacin es que las replicas de un archivo residan en maquinas independientes de las fallas; es decir, que la disponibilidad de una replica no se vea afectada por la disponibilidad de las dems. Este requisito obvio quiere decir que la administracin de replicas es una actividad en la cual la ubicacin es decisiva, pues deben existir mecanismos para colocar la replica en una maquina concreta.

Ejemplos de Sistema
En esta seccin ilustramos los conceptos comunes sobre los que se basan los sistemas de archivos distribuidos, examinado cinco sistemas interesantes y diferentes : UNIX United, NFS, Andrew, Sprite y Locus.

UNIX United El proyecto de UNIX United de la University of Newcastle Tyne, Inglaterra, es uno de los primero intentos por ampliar el sistema de archivo UNIX para que sea distribuido, sin modificar el nucleo de UNIX. En UNIX United se aade un sub-sistema de software a cada conjunto de sistema UNIX interconectados (conocidos como sistemas componentes o constituyentes), para asi construir un sistema distribuido funcionalmente indistinguible de un sistema UNIX centralizado convencional.

El sistema se presenta con dos niveles de detalles : Primero, se encuentran los aspectos generales de UNIX United; luego se examina su implantacin, la planta de conexin Newcastle, y se analizan algunos temas relacionados con el trabajo entre redes.

Aspectos Generales, Es posible unir cualquier numero de sistemas UNIX enlasados para formar un sistema de UNIX United. Sus estructuras de nominacin (de archivos, dispositivos, directorios y mandatos) se unen para formar una estructura de nominacin unica en la cual cada componente es, a todos los efectos, un directorio. Ignorado por el momento todas las preguntas respecto a la acreditacin y al control de acceso, el sistema que se obtiene es uno donde cada usuario puede leer o escribir un archivo, utilizar cualquier dispositivo, ejecutar cualquier mandato o inspeccionar cualesquiera de los directorios, sin importar el sistema al que pertenesca.

La Conexin Newcastle, es una capa de software ( a un nivel de usuario) que se incorpora a cada uno de los sistemas componentes y que separa el ncleo UNIX de los programas a nivel de usuario. Intercepta todas las llamadas al sistema que tiene ue ver con archivos y filtra aquellas que se deben desviar a sistemas remotos. Adems, la capa de conexin acepta las llamadas enviadas por otros sistemas. Las capas remotas se comunican por medio de un protocolo RPC. Cada conexin conserva e mismo interfaz de llamadas al sistema que el nucleo de UNIX, a pesar de la extensa actividad remota que lleva a cabo el sistema.

Aspectos de la Operacin en Red, UNIX United es adecuado para distintas topologas que van desde redes locales ( LAN ) y enlaces directos, hasta redes de area ancha ( WAN ). Es necesario efectuar una correspondencia correcta entre el espacio de nombre lgicos y la informacin de encaminamiento. Un principio de diseo importante es que no se requiere que la jeralquia de nombre tenga relacin con la topologa.

El Protocolo NFS
El protocolo NFS proporciona un conjunto de llamadas a procedimiento remoto para las operaciones con archivos remotos. Estos procedimientos apoyan las siguientes operaciones..: Buscar un archivo en un directorio Leer un conjunto de registros de directorio Manipular enlaces y directorios Acceder a los atributos de archivos Leer y escribir archivos

Solo es posible invocar este procedimiento despues de haber establecido un identificativo de archivo para el diretorio montado remotamente. La omisin de las operaciones de apertura y cierre es intensional. informacin acerca de sus clientes de un acceso a otro. Una de las

caracteristicas prominentes de los servidores NFS es que operan sin estado y no conservan

Arquitectura de NFS
Consiste en tres capas principales. La primera capa es el interfaz de sistema de archivo UNIX, basado en la llamadas de apertura, lectura, escritura y cierre, y los descriptores de archivos. La segunda capa se denomina sistema virtual de archivos ( VFS, Virtual File System ), y ofrece dos funciones de importancia ..: Separa las operaciones genericas sobre el sistema de archivos de su implantacin al definir un interfaz VFS limpio. Varias implantaciones del interfaz VFS pueden coexistir en la misma maquina lo que permite el acceso transparente a distintos tipos de sistemas de archivos montados localmente. El VFS esta basado en una estructura de representacin de archivos llamados Nodo-v, que contiene un identificador numerico para un archivo, unico en toda la red.

Vous aimerez peut-être aussi