Está en la página 1de 15

Unidad 1 Los sistemas operativos en ambientes distribuidos INTRODUCCIN La computacin desde sus inicios ha sufrido muchos cambios, desde

os !randes ordenadores "ue permit#an rea i$ar tareas en forma imitada % de uso un tanto e&c usivo de or!ani$aciones mu% se ectas, hasta os actua es ordenadores %a sean persona es o port'ti es "ue tienen as mismas e inc uso ma%ores capacidades "ue os primeros % "ue est'n cada ve$ m's introducidos en e "uehacer cotidiano de una persona( Los ma%ores cambios se atribu%en principa mente a dos causas, "ue se dieron desde as d)cadas de os setenta* + desarro o de os microprocesadores, "ue permitieron reducir en tama,o % costo a os ordenadores % aumentar en !ran medida as capacidades de os mismos % su acceso a m's personas( + desarro o de as redes de 'rea oca % de as comunicaciones "ue permitieron conectar ordenadores con posibi idad de transferencia de datos a a ta ve ocidad( +s en este conte&to "ue aparece e concepto de -.istemas Distribuidos/ "ue se ha popu ari$ado tanto en a actua idad % "ue tiene como 'mbito de estudio as redes como por e0emp o* Internet, redes de te )fonos mvi es, redes corporativas, redes de empresas, etc( +n consecuencia, e presente traba0o "ue eva e t#tu o de -.istemas Distribuidos/, tiene como principa ob0etivo* -describir panor'micamente os aspectos re evantes "ue est'n invo ucrados en os .istemas Distribuidos/( 1ara o!rar e ob0etivo p anteado se ha estructurado e traba0o de a si!uiente manera* Definicin de sistemas distribuidos* -.istemas cu%os componentes hard2are % soft2are, est'n en ordenadores conectados en red, se comunican % coordinan sus acciones mediante e paso de mensa0es, para e o!ro de un ob0etivo( .e estab ece a 3enta0as 4 5umento de a disponibi idad 4 4 4 4 4 4 4 4 4 6e0ora de desempe,o 7a anceo en a car!a de traba0o Comparticin de recursos Comparticin de informacin Confiabi idad, disponibi idad % to erancia a fa as 6odu aridad en e desarro o 8 e&ibi idad Crecimiento incrementa Reduccin de costos

4 comunicacin mediante un protoco o prefi0ado por un es"uema c iente9 servidor/(

4 6a%or capacidad de mode ar estructuras or!ani$aciona es Desventa0as 4 Uso ineficiente de os recursos distribuidos 4 Capacidad reducida para administrar apropiadamente !rupos de procesadores % memoria oca i$ada en distintos sitios 4 4 4 4 +norme dependencia de desempe,o de a red % de a confiabi idad de a misma( Debi itamiento de a se!uridad( 6a%or comp e0idad en a administracin % mantenimiento( 6a%or comp e0idad en su construccin(

6ode o C iente .ervidor TC1 es un protoco o orientado a cone&in( No ha% re aciones maestro:esc avo( Las ap icaciones, sin embar!o, uti i$an un mode o c iente:servidor en as comunicaciones( Un servidor es una ap icacin "ue ofrece un servicio a usuarios de Internet; un c iente es e "ue pide ese servicio( Una ap icacin consta de una parte de servidor % una de c iente, "ue se pueden e0ecutar en e mismo o en diferentes sistemas( Los usuarios invocan a parte c iente de a ap icacin, "ue constru%e una so icitud para ese servicio % se a env#a a servidor de a ap icacin "ue usa TC1:I1 como transporte( + servidor es un pro!rama "ue recibe una so icitud, rea i$a e servicio re"uerido % devue ve os resu tados en forma de una respuesta( <enera mente un servidor puede tratar m= tip es peticiones>m= tip es c ientes? a mismo tiempo( Conceptos de .oft2are La importancia de soft2are supera frecuentemente a a de hard2are @AB, TanenbaumC( La ima!en "ue un sistema presenta "ueda determinada en !ran medida por e soft2are de .( O( % no por e hard2are( Los .( O( no se pueden encasi ar f'ci mente, como e hard2are, pero se os puede c asificar en dos tipos* 4 D)bi mente acop ados( 4 8uertemente acop ados( + soft2are d)bi mente acop ado de un sistema distribuido* 4 1ermite "ue as m'"uinas % usuarios sean independientes entre s# en o fundamenta ( 4 8aci ita "ue interact=en en cierto !rado cuando sea necesario( 4 Los e"uipos individua es se distin!uen f'ci mente( Combinando os distintos tipos de hard2are distribuido con soft2are distribuido se o!ran distintas so uciones* 4 No todas interesan desde e punto de vista funciona de usuario* o +0(* un mu tiprocesador es un mu tiprocesador* D No importa si uti i$a un bus con cach)s monitores o una red ome!a( Direccionamiento L!ico 8#sico .istemas Distribuidos Una direccin !enerada por a C1U se denomina direccin !ica en cambio a a "ue es percibida por unidad de memoria se denomina direccin f#sica(

Los es"uemas de vincu acin de direcciones durante a compi acin % durante a car!a dan pie a un entorno en e "ue as direcciones !icas % f#sicas son as mismas( +n cambio, a e0ecucin de es"uema de vincu acin de direcciones durante a e0ecucin produce un entorno en e "ue as direcciones !icas % f#sicas difieren( +n este caso a direccin !ica sue e amarse direccin virtua ( Direccionamiento !ico % f#sico + proceso desde "ue os datos son incorporados a ordenados hasta "ue se transmiten a medio se ama encapsu acin( +stos datos son formateados, se!mentados, identificados con e direccionamiento !ico % f#sico para fina mente ser enviados a medio( 5 cada capa de mode o O.I e corresponde una 1DU >Unidad de Datos? si!uiendo por o tanto e si!uiente orden de encapsu amiento* D5TO.9.+<6+NTO.915EU+T+.9TR565.97IT. C515 TR5N.6IT+ 51LIC5CIN D5TO. 1R+.+NT5CION .+.IN TR5N.1ORT+ .+<6+NTO. R+D 15EU+T+. +NL5C+ D+D D5TO. TR565. 8F.IC5 7IT. Debido a "ue posib emente a cantidad de os datos sean demasiados, a capa de transporte desde de ori!en, se encar!a de se!mentar os para as# ser empa"uetados debidamente, esta misma capa en e destino se encar!ara de reensamb ar os datos % co ocar os en forma secuencia , %a "ue no siempre e!an a su destino en e orden en "ue han sido se!mentados, as# mismo acorde a protoco o "ue se este uti i$ando habr' correccin de errores( +stos se!mentos son empa"uetados >pa"uetes o data!ramas? e identificados en a capa de red con a direccin !ica o I1 correspondiente a ori!en % destino( Ocurre o mismo con a direccin 65C en a capa de en ace de datos form'ndose as tramas o frames para ser transmitidos a trav)s de a !una interfa$( Concepto Caracteristicas .or >sistema operativo de red? Concepto % Caracteristicas de .or .on a"ue os sistemas "ue mantienen a dos o m's computadoras unidas a trav)s de a !=n medio de comunicacin >f#sico o no?, con e ob0etivo primordia de poder compartir os diferentes recursos % a informacin de sistema( + primer .istema Operativo de red estaba enfocado a e"uipos con un procesador 6otoro a GHIII, pasando posteriormente a procesadores Inte como Nove Net2are( Los .istemas Operativos de red mas amp iamente usados son* Linu&,Nove Net2are, 1ersona Net2are, L5N 6ana!er, Jindo2s NT .erver UNIK, L5Ntastic( Una posibi idad es e soft2are d)bi mente acop ado en hard2are d)bi mente acop ado @AB, TanenbaumC* +s una so ucin mu% uti i$ada( +0(* una red de estaciones de traba0o conectadas mediante una L5N( Cada usuario tiene una estacin de traba0o para su uso e&c usivo* Tiene su propio .( O( La ma%or#a de os re"uerimientos se resue ven oca mente( +s posib e "ue un usuario se conecte de manera remota con otra estacin de traba0o* 6ediante un comando de - o!in remoto/( .e convierte a propia estacin de traba0o de usuario en una termina remota en a$ada con a m'"uina remota( Los comandos se env#an a a m'"uina remota( La sa ida de a m'"uina remota se e&hibe en a panta a oca ( 1ara a ternar con otra m'"uina remota, primero ha% "ue desconectarse de a primera* +n cua "uier instante so o se puede uti i$ar una m'"uina( Las redes tambi)n disponen de un comando de copiado remoto de archivos de una m'"uina a otra* Re"uiere "ue e usuario cono$ca* La posicin de todos os archivos( + sitio donde se

e0ecutan todos os comandos( Una me0or so ucin consiste en un sistema de archivos ! oba compartido, accesib e desde todas as estaciones de traba0o* Una o varias m'"uinas soportan a sistema de archivos* .on os -servidores de archivos/( Los -servidores de archivos/* 5ceptan so icitudes de os pro!ramas de usuarios* Los pro!ramas se e0ecutan en as m'"uinas no servidoras, amadas -c ientes/( Las so icitudes se e&aminan, se e0ecutan % a respuesta se env#a de re!reso( <enera mente tienen un sistema 0er'r"uico de archivos( Las estaciones de traba0o pueden importar o montar estos sistemas de archivos* .e incrementan sus sistemas de archivos oca es( .e pueden montar os servidores en u!ares diferentes de sus respectivos sistemas de archivos* Las rutas de acceso a un determinado archivo pueden ser diferentes para as distintas estaciones( Los distintos c ientes tienen un punto de vista distinto de sistema de archivos( + nombre de un archivo depende* De u!ar desde e cua se tiene acceso a ) ( De a confi!uracin de sistema de archivos( + .( O( de este tipo de ambiente debe* Contro ar as estaciones de traba0o en o individua ( Contro ar a os servidores de archivo( +ncar!arse de a comunicacin entre os servidores( Todas as m'"uinas pueden e0ecutar e mismo .( O(, pero esto no es necesario( .i os c ientes % os servidores e0ecutan diversos .( O(, como m#nimo deben coincidir en e formato % si!nificado de todos os mensa0es "ue podr#an intercambiar( +s"uemas como este se denominan -sistema operativo de red/* Cada m'"uina tiene un a to !rado de autonom#a( +&isten pocos re"uisitos a o ar!o de todo e sistema Concepto Caracteristicas De .od Conceptos de os sistemas distribuidos Los sistemas distribuidos est'n basados en as ideas b'sicas de transparencia, eficiencia, f e&ibi idad, esca abi idad % fiabi idad( .in embar!o estos aspectos son en parte contrarios, % por o tanto os sistemas distribuidos han de cump ir en su dise,o e compromiso de "ue todos os puntos anteriores sean so ucionados de manera aceptab e( Transparencia + concepto de transparencia de un sistema distribuido va i!ado a a idea de "ue todo e sistema funcione de forma simi ar en todos os puntos de a red, independientemente de a posicin de usuario( Eueda como abor de sistema operativo e estab ecer os mecanismos "ue ocu ten a natura e$a distribuida de sistema % "ue permitan traba0ar a os usuarios como si de un =nico e"uipo se tratara( +n un sistema transparente, as diferentes copias de un archivo deben aparecer a usuario como un =nico archivo( Eueda como abor de sistema operativo e contro ar as copias, actua i$ar as en caso de modificacin % en !enera , a unicidad de os recursos % e contro de a concurrencia( + "ue e sistema dispon!a de varios procesadores debe o!rar un ma%or rendimiento de sistema, pero e sistema operativo debe contro ar "ue tanto os usuario como os pro!ramadores vean e n=c eo de sistema distribuido como un =nico procesador( + para e ismo es otro punto c ave "ue debe contro ar e sistema operativo, "ue debe distribuir as tareas entre os distintos procesadores como en un sistema mu tiprocesador, pero con a dificu tad a,adida de "ue )sta tarea ha% "ue rea i$ar a a trav)s de varios ordenadores( +ficiencia La idea base de os sistemas distribuidos es a de obtener sistemas mucho m's r'pidos "ue os ordenadores actua es( +s en este punto cuando nos encontramos de nuevo con e para e ismo(

1ara o!rar un sistema eficiente ha% "ue descartar a idea de e0ecutar un pro!rama en un =nico procesador de todo e sistema, % pensar en distribuir as tareas a os procesadores ibres m's r'pidos en cada momento( La idea de "ue un procesador va%a a rea i$ar una tarea de forma r'pida es bastante comp e0a, % depende de muchos aspectos concretos, como a propia ve ocidad de procesador, pero tambi)n a oca idad de procesador, os datos, os dispositivos, etc( .e han de evitar situaciones como enviar un traba0o de impresin a un ordenador "ue no ten!a conectada una impresora de forma oca ( 8 e&ibi idad Un pro%ecto en desarro o como e dise,o de un sistema operativo distribuido debe estar abierto a cambios % actua i$aciones "ue me0oren e funcionamiento de sistema( +sta necesidad ha provocado una diferenciacin entre as dos diferentes ar"uitecturas de n=c eo de sistema operativo* e n=c eo mono #tico % e micron=c eo( Las diferencias entre ambos son os servicios "ue ofrece e n=c eo de sistema operativo( 6ientras e n=c eo mono #tico ofrece todas as funciones b'sicas de sistema inte!radas en e n=c eo, e micron=c eo incorpora so amente as fundamenta es, "ue inc u%en =nicamente e contro de os procesos % a comunicacin entre e os % a memoria( + resto de servicios se car!an din'micamente a partir de servidores en e nive de usuario( N=c eo mono #tico Como e0emp o de sistema operativo de n=c eo mono #tico est' UNIK( +stos sistemas tienen un n=c eo !rande % comp e0o, "ue en! oba todos os servicios de sistema( +st' pro!ramado de forma no modu ar, % tiene un rendimiento ma%or "ue un micron=c eo( .in embar!o, cua "uier cambio a rea i$ar en cua "uier servicio re"uiere a parada de todo e sistema % a recompi acin de n=c eo( 6icron=c eo La ar"uitectura de micron=c eo ofrece a a ternativa a n=c eo mono #tico( .e basa en una pro!ramacin a tamente modu ar, % tiene un tama,o mucho menor "ue e n=c eo mono #tico( Como consecuencia, e refinamiento % e contro de errores son m's r'pidos % senci os( 5dem's, a actua i$acin de os servicios es m's senci a % '!i , %a "ue s o es necesaria a recompi acin de servicio % no de todo e n=c eo( Como contraprestacin, e rendimiento se ve afectado ne!ativamente( +n a actua idad a ma%or#a de sistemas operativos distribuidos en desarro o tienden a un dise,o de micron=c eo( Los n=c eos tienden a contener menos errores % a ser m's f'ci es de imp ementar % de corre!ir( + sistema pierde i!eramente en rendimiento, pero a cambio consi!ue un !ran aumento de a f e&ibi idad( +sca abi idad Un sistema operativo distribuido deber#a funcionar tanto para una docena de ordenadores como varios mi ares( I!ua mente, deber#a no ser determinante e tipo de red uti i$ada >L5N o J5N? ni as distancias entre os e"uipos, etc( 5un"ue este punto ser#a mu% deseab e, puede "ue as so uciones v' idas para unos cuantos ordenadores no sean ap icab es para varios mi es( De mismo modo e tipo de red condiciona tremendamente e rendimiento de sistema, % puede "ue o "ue funcione para un tipo de red, para otro re"uiera un nuevo dise,o( La esca abi idad propone "ue cua "uier ordenador individua ha de ser capa$ de traba0ar independientemente como un sistema distribuido, pero tambi)n debe poder hacer o conectado a muchas otras m'"uinas( 8iabi idad

Una de as venta0as c aras "ue nos ofrece a idea de sistema distribuido es "ue e funcionamiento de todo e sistema no debe estar i!ado a ciertas m'"uinas de a red, sino "ue cua "uier e"uipo pueda sup ir a otro en caso de "ue uno se estropee o fa e( La forma m's evidente de o!rar a fiabi idad de todo e sistema est' en a redundancia( La informacin no debe estar a macenada en un so o servidor de archivos, sino en por o menos dos m'"uinas( 6ediante a redundancia de os principa es archivos o de todos evitamos e caso de "ue e fa o de un servidor b o"uee todo e sistema, a tener una copia id)ntica de os archivos en otro e"uipo( Otro tipo de redundancia m's comp e0a se refiere a os procesos( Las tareas cr#ticas podr#an enviarse a varios procesadores independientes, de forma "ue e primer procesador rea i$ar#a a tarea norma mente, pero )sta pasar#a a e0ecutarse en otro procesador si e primero hubiera fa ado( Comunicacin La comunicacin entre procesos en sistemas con un =nico procesador se eva a cabo mediante e uso de memoria compartida entre os procesos( +n os sistemas distribuidos, a no haber cone&in f#sica entre as distintas memorias de os e"uipos, a comunicacin se rea i$a mediante a transferencia de mensa0es( 1ermiten distribuir traba0os, tareas o procesos, entre un con0unto de procesadores( 1uede ser "ue este con0unto de procesadores est) en un e"uipo o en diferentes, en este caso es trasparente para e usuario( +&isten dos es"uemas b'sicos de )stos( Un sistema fuertemente acop ado es a es a"ue "ue comparte a memoria % un re o0 ! oba , cu%os tiempos de acceso son simi ares para todos os procesadores( +n un sistema d)bi mente acop ado os procesadores no comparten ni memoria ni re o0, %a "ue cada uno cuenta con su memoria oca ( Los sistemas distribuidos deben de ser mu% confiab es, %a "ue si un componente de sistema se compone otro componente debe de ser capa$ de reemp a$ar o( +ntre os diferentes .istemas Operativos distribuidos "ue e&isten tenemos os si!uientes* .prite, .o aris96C, 6ach, Chorus, .prin!, 5moeba, Taos, etc( Caracteristicas de os .istemas Operativos distribuidos* 4 Co eccin de sistemas autnomos capaces de comunicacin % cooperacin mediante intercone&iones hard2are % soft2are ( 4 <obierna operacin de un .(C( % proporciona abstraccin de m'"uina virtua a os usuarios( 4 Ob0etivo c ave es a transparencia( 4 <enera mente proporcionan medios para a comparticin ! oba de recursos( 4 .ervicios a,adidos* denominacin ! oba , sistemas de archivos distribuidos, faci idades para distribucin de c' cu os >a trav)s de comunicacin de procesos internodos, amadas a procedimientos remotos, etc(?( Introduccin a os sistemas distribuidos Introduccin Un sistema distribuido se define como una co eccin de computadores autnomos conectados por una red, % con e soft2are distribuido adecuado para "ue e sistema sea visto por os usuarios como una =nica entidad capa$ de proporcionar faci idades de computacin( @ Co ouris 1LLM C + desarro o de os sistemas distribuidos vino de a mano de as redes oca es de a ta ve ocidad a principios de 1LNI( 6as recientemente, a disponibi idad de computadoras persona es de a tas prestaciones, estaciones de traba0o % ordenadores servidores ha resu tado en un ma%or desp a$amiento hacia os sistemas distribuidos en detrimento de

os ordenadores centra i$ados mu tiusuario( +sta tendencia se ha ace erado por e desarro o de soft2are para sistemas distribuidos, dise,ado para soportar e desarro o de ap icaciones distribuidas( +ste soft2are permite a os ordenadores coordinar sus actividades % compartir os recursos de sistema 9 hard2are, soft2are % datos( Los sistemas distribuidos se imp ementan en diversas p ataformas hard2are, desde unas pocas estaciones de traba0o conectadas por una red de 'rea oca , hasta Internet, una co eccin de redes de 'rea oca % de 'rea e&tensa interconectados, "ue en a$an mi ones de ordenadores( Las ap icaciones de os sistemas distribuidos var#an desde a provisin de capacidad de computo a !rupos de usuarios, hasta sistemas bancarios, comunicaciones mu timedia % abarcan pr'cticamente todas as ap icaciones comercia es % t)cnicas de os ordenadores( Los re"uisitos de dichas ap icaciones inc u%en un a to nive de fiabi idad, se!uridad contra interferencias e&ternas % privacidad de a informacin "ue e sistema mantiene( .e deben proveer accesos concurrentes a bases de datos por parte de muchos usuarios, !aranti$ar tiempos de respuesta, proveer puntos de acceso a servicio "ue est'n distribuidos !eo!r'ficamente, potencia para e crecimiento de sistema para acomodar a e&pansin de ne!ocio % un marco para a inte!racin de sistema usados por diferentes compa,#as % or!ani$aciones de usuarios( Caractersticas clave de los sistemas distribuidos @Co ouris 1LLMC estab ece "ue son seis as caracter#sticas principa es responsab es de a uti idad de os sistemas distribuidos( .e trata de comparicin re recursos, apertura >openness?, concurrencia, esca abi idad, to erancia a fa os % transparencia( +n as si!uientes #neas trataremos de abordar cada una de e as( Comparticin de Recursos + t)rmino OrecursoO es bastante abstracto, pero es e "ue me0or caracteri$a e abanico de entidades "ue pueden compartirse en un sistema distribuido( + abanico se e&tiende desde componentes hard2are como discos e impresoras hasta e ementos soft2are como ficheros, ventanas, bases de datos % otros ob0etos de datos( La idea de comparticin de recursos no es nueva ni aparece en e marco de os sistemas distribuidos( Los sistemas mu tiusuario c 'sicos desde siempre han provisto comparticin de recursos entre sus usuarios( .in embar!o, os recursos de una computadora mu tiusuario se comparten de manera natura entre todos sus usuarios( 1or e contrario, os usuarios de estaciones de traba0o monousuario o computadoras persona es dentro de un sistema distribuido no obtienen autom'ticamente os beneficios de a comparticin de recursos( Los recursos en un sistema distribuido est'n f#sicamente encapsu ados en una de as computadoras % s o pueden ser accedidos por otras computadoras mediante as comunicaciones > a red?( 1ara "ue a comparticin de recursos sea efectiva, )sta debe ser mane0ada por un pro!rama "ue ofre$ca un interfa$ de comunicacin permitiendo "ue e recurso sea accedido, manipu ado % actua i$ado de una manera fiab e % consistente( .ur!e e t)rmino !en)rico de !estor de recursos( Un !estor de recursos es un modu o soft2are "ue mane0a un con0unto de recursos de un tipo en particu ar( Cada tipo de recurso re"uiere a !unas po #ticas % m)todos espec#ficos 0unto con re"uisitos comunes para todos e os( Pstos inc u%en a provisin de un es"uema de nombres para cada c ase de recurso, permitir "ue os recursos individua es sean accedidos desde cua "uier oca i$acin; a tras acin de nombre de recurso a direcciones de comunicacin % a coordinacin de os accesos concurrentes "ue cambian e estado de os recursos compartidos para mantener a consistencia(

Un sistema distribuido puede verse de manera abstracta como un con0unto de !estores de recursos % un con0unto de pro!ramas "ue usan os recursos( Los usuarios de os recursos se comunican con os !estores de os recursos para acceder a os recursos compartidos de sistema( +sta perspectiva nos eva a dos mode os de sistemas distribuidos* e mode o c iente9servidor % e mode o basado en ob0etos( 5pertura >opennesss? Un sistema informtico es abierto si e sistema puede ser e&tendido de diversas maneras( Un sistema puede ser abierto o cerrado con respecto a e&tensiones hard2are >a,adir perif)ricos, memoria o interfaces de comunicacin, etc((( ? o con respecto a as e&tensiones soft2are > a,adir caracter#sticas a sistema operativo, protoco os de comunicacin % servicios de comparticin de recursos, etc((( ?( La apertura de os sistemas distribuidos se determina primariamente por e !rado hacia e "ue nuevos servicios de comparticin de recursos se pueden a,adir sin per0udicar ni dup icar a os %a e&istentes( Bsicamente los sistemas distribuidos cumplen una serie de caractersticas * 1( Los interfaces soft2are c ave de sistema est'n c aramente especificados % se ponen a disposicin de os desarro adores( +n una pa abra, os interfaces se hacen p=b icos( A( Los sistema distribuidos abiertos se basan en a provisin de un mecanismo uniforme de comunicacin entre procesos e interfaces pub icados para acceder a recursos compartidos( Q( Los sistema distribuidos abiertos pueden construirse a partir de hard2are % soft2are hetero!)neo, posib emente proveniente de vendedores diferentes( 1ero a conformidad de cada componente con e est'ndar pub icado debe ser cuidadosamente comprobada % certificada si se "uiere evitar tener prob emas de inte!racin( Concurrencia Cuando e&isten varios procesos en una =nica ma"uina decimos "ue se est'n e0ecutando concurrentemente( .i e ordenador esta e"uipado con un =nico procesador centra , a concurrencia tiene u!ar entre a$ando a e0ecucin de os distintos procesos( .i a computadora tiene N procesadores, entonces se pueden estar e0ecutando estrictamente a a ve$ hasta N procesos( +n os sistemas distribuidos ha% muchas ma"uinas, cada una con uno o mas procesadores centra es( +s decir, si ha% 6 ordenadores en un sistema distribuido con un procesador centra cada una entonces hasta 6 procesos estar e0ecut'ndose en para e o( +n un sistema distribuido "ue esta basado en e mode o de comparticin de recursos, a posibi idad de e0ecucin para e a ocurre por dos ra$ones* 1( 6uchos usuarios interactuan simu t'neamente con pro!ramas de ap icacin( A( 6uchos procesos servidores se e0ecutan concurrentemente, cada uno respondiendo a diferentes peticiones de os procesos c ientes( + caso >1? es menos conf ictivo, %a "ue norma mente as ap icaciones de interaccin se e0ecutan ais adamente en a estacin de traba0o de usuario % no entran en conf icto con as ap icaciones e0ecutadas en as estaciones de traba0o de otros usuarios( + caso >A? sur!e debido a a e&istencia de uno o mas procesos servidores para cada tipo de recurso( +stos procesos se e0ecutan en distintas ma"uinas, de manera "ue se est'n e0ecutando en para e o diversos servidores, 0unto con diversos pro!ramas de ap icacin( Las peticiones para acceder a os recursos de un servidor dado pueden ser enco adas en e servidor % ser procesadas secuencia mente o bien pueden ser procesadas varias

concurrentemente por m= tip es instancias de proceso !estor de recursos( Cuando esto ocurre os procesos servidores deben sincroni$ar sus acciones para ase!urarse de "ue no e&isten conf ictos( La sincroni$acin debe ser cuidadosamente p aneada para ase!urar "ue no se pierden os beneficios de a concurrencia( Escalabilidad Los sistemas distribuidos operan de manera efectiva % eficiente a muchas esca as diferentes( La esca a m's pe"ue,a consiste en dos estaciones de traba0o % un servidor de ficheros, mientras "ue un sistema distribuido construido a rededor de una red de 'rea oca simp e podr#a contener varios cientos de estaciones de traba0o, varios servidores de ficheros, servidores de impresin % otros servidores de propsito especifico( 5 menudo se conectan varias redes de 'rea oca para formar internet2orRs, % )stas podr#an contener muchos mi es de ordenadores "ue forman un =nico sistema distribuido, permitiendo "ue os recursos sean compartidos entre todos e os( Tanto e soft2are de sistema como e de ap icacin no deber#an cambiar cuando a esca a de sistema se incrementa( La necesidad de esca abi idad no es so o un prob ema de prestaciones de red o de hard2are, sino "ue esta #ntimamente i!ada con todos os aspectos de dise,o de os sistemas distribuidos( + dise,o de sistema debe reconocer e&p #citamente a necesidad de esca abi idad o de o contrario aparecer'n serias imitaciones( La demanda de esca abi idad en os sistemas distribuidos ha conducido a una fi osof#a de dise,o en "ue cua "uier recurso simp e 9hard2are o soft2are9 puede e&tenderse para proporcionar servicio a tantos usuarios como se "uiera( +sto es, si a demanda de un recurso crece, deber#a ser posib e e&tender e sistema para dar a servicio,( 1or e0emp o, a frecuencia con a "ue se accede a os ficheros crece cuando se incrementa e numero de usuarios % estaciones de traba0o en un sistema distribuido( +ntonces, debe ser posib e a,adir ordenadores servidores para evitar e cue o de bote a "ue se producir#a si un so o servidor de ficheros tuviera "ue mane0ar todas as peticiones de acceso a os ficheros( +n este caso e sistema deber' estar dise,ado de manera "ue permita traba0ar con ficheros rep icados en distintos servidores, con as consideraciones de consistencias "ue e o con eva( Cuando e tama,o % comp e0idad de as redes de ordenadores crece, es un ob0etivo primordia dise,ar soft2are de sistema distribuido "ue se!uir' siendo eficiente % =ti con esas nuevas confi!uraciones de a red( Resumiendo, e traba0o necesario para procesar una peticin simp e para acceder a un recurso compartido deber#a ser pr'cticamente independiente de tama,o de a red( Las t)cnicas necesarias para conse!uir estos ob0etivos inc u%en e uso de datos rep icados, a t)cnica asociada de cachin!, % e uso de m= tip es servidores para mane0ar ciertas tareas, aprovechando a concurrencia para permitir una ma%or productividad( Una e&p icacin comp eta de estas t)cnicas puede encontrarse en @ Co ouris 1LLM C( To erancia a 8a os Los sistemas inform'ticos a veces fa an( Cuando se producen fa os en e soft2are o en e hard2are, os pro!ramas podr#an producir resu tados incorrectos o podr#an pararse antes de terminar a computacin "ue estaban rea i$ando( + dise,o de sistemas to erantes a fa os se basa en dos cuestiones, comp ementarias entre s#* Redundancia hard2are >uso de componentes redundantes? % recuperacin de soft2are >dise,o de pro!ramas "ue sean capaces de recuperarse de os fa os?(

+n os sistemas distribuidos a redundancia puede p antearse en un !rano mas fino "ue e hard2are, pueden rep icarse os servidores individua es "ue son esencia es para a operacin continuada de ap icaciones criticas( La recuperacin de soft2are tiene re acin con e dise,o de soft2are "ue sea capa$ de recuperar >ro 9bacR? e estado de os datos permanentes antes de "ue se produ0era e fa o( Los sistemas distribuidos tambi)n proveen un a to !rado de disponibi idad en a vertiente de fa os hard2are( La disponibi idad de un sistema es una medida de a proporcin de tiempo "ue esta disponib e para su uso( Un fa o simp e en una ma"uina mu tiuruario resu ta en a no disponibi idad de sistema para todos os usuarios( Cuando uno de os componentes de un sistema distribuidos fa a, so o se ve afectado e traba0o "ue estaba rea i$ando e componente averiado( Un usuario podr#a desp a$arse a otra estacin de traba0o; un proceso servidor podr#a e0ecutarse en otra ma"uina( Transparencia La transparencia se define como a ocu tacin a usuario % a pro!ramador de ap icaciones de a separacin de os componentes de un sistema distribuido, de manera "ue e sistema se percibe como un todo, en ve$ de una co eccin de componentes independientes( La transparencia e0erce una !ran inf uencia en e dise,o de soft2are de sistema( + manua de referencia R69OD1 @I.O 1LLGaC identifica ocho formas de transparencia( +stas proveen un resumen =ti de a motivacin % metas de os sistemas distribuidos( Las transparencias definidas son* o Transparencia de 5cceso * 1ermite e acceso a os ob0etos de informacin remotos de a misma forma "ue a os ob0etos de informacin oca es( o Transparencia de Loca i$acin* 1ermite e acceso a os ob0etos de informacin sin conocimiento de su oca i$acin o Transparencia de Concurrencia* 1ermite "ue varios procesos operen concurrentemente uti i$ando ob0etos de informacin compartidos % de forma "ue no e&ista interferencia entre e os( o Transparencia de Rep icacin* 1ermite uti i$ar m= tip es instancias de os ob0etos de informacin para incrementar a fiabi idad % as prestaciones sin "ue os usuarios o os pro!ramas de ap icacin ten!an por "ue conoces a e&istencia de as rep icas( o Transparencia de 8a os* 1ermite a os usuarios % pro!ramas de ap icacin comp etar sus tareas a pesar de a ocurrencia de fa os en e hard2are o en e soft2are( o Transparencia de 6i!racin* 1ermite e movimiento de ob0etos de informacin dentro de un sistema sin afectar a os usuarios o a os pro!ramas de ap icacin( o Transparencia de 1restaciones( 1ermite "ue e sistema sea reconfi!urado para me0orar as prestaciones mientras a car!a varia( o Transparencia de +sca ado* 1ermite a e&pansin de sistema % de as ap icaciones sin cambiar a estructura de sistema o os a !oritmos de a ap icacin( Las dos mas importantes son as transparencias de acceso % de oca i$acin; su presencia o ausencia afecta fuertemente a a uti i$acin de os recursos distribuidos( 5 menudo se as denomina a ambas transparencias de red( La transparencia de red provee un !rado simi ar de anonimato en os recursos a "ue se encuentra en os sistemas centra i$ados(

El Modelo Cliente Servidor + mode o c iente9servidor de un sistema distribuido es e mode o m's conocido % m's amp iamente adoptado en a actua idad( Sa% un con0unto de procesos servidores, cada uno actuando como un !estor de recursos para una co eccin de recursos de un tipo, % una co eccin de procesos c ientes, cada uno evando a cabo una tarea "ue re"uiere acceso a a !unos recursos hard2are % soft2are compartidos( Los !estores de recursos a su ve$ podr#an necesitar acceder a recursos compartidos mane0ados por otros procesos, as# "ue a !unos procesos son ambos c ientes % servidores( +n e mode o, c iente9 servidor, todos os recursos compartidos son mantenidos % mane0ados por os procesos servidores( Los procesos c ientes rea i$an peticiones a os servidores cuando necesitan acceder a a !=n recurso( .i a peticin es va ida, entonces e servidor eva a cabo a accin re"uerida % env#a una respuesta a proceso c iente( + termino proceso se usa a"u# en e sentido c 'sico de os sistemas operativos( Un proceso es un pro!rama en e0ecucin( Consiste en un entorno de e0ecucin con a menos un thread de contro ( + mode o c iente9servidor nos da un enfo"ue efectivo % de propsito !enera para a comparticin de informacin % de recursos en os sistemas distribuidos( + mode o puede ser imp ementado en una !ran variedad de entornos soft2are % hard2are( Las computadoras "ue e0ecuten os pro!ramas c ientes % servidores pueden ser de muchos tipos % no e&iste a necesidad de distin!uir entre e as; os procesos c iente % servidor pueden inc uso residir en a misma ma"uina( +n esta visin simp e de mode o c iente9servidor, cada proceso servidor podr#a ser visto como un proveedor centra i$ado de os recursos "ue mane0a( La provisin de recursos centra i$ada no es deseab e en os sistemas distribuidos( +s por esta ra$n por o "ue se hace una distincin entre os servicios proporcionados a os c ientes % os servidores encar!ados de proveer dichos servicios( .e considera un servicio como una entidad abstracta "ue puede ser provista por varios procesos servidores e0ecut'ndose en computadoras separadas % cooperando v#a red( + mode o c iente9servidor se ha e&tendido % uti i$ado en os sistemas actua es con servicios mane0ando muchos diferentes tipos de recursos compartidos 9 correo e ectrnico % mensa0es de noticias, ficheros, sincroni$acin de re o0es, a macenamiento en disco, impresoras, comunicaciones de 'rea e&tensa, e inc uso as interfaces !r'ficas de usuario( 1ero no es posib e "ue todos os recursos "ue e&isten en un sistema distribuido sean mane0ados % compartidos de esta manera; a !unos tipos de recursos deben permanecer oca es a cada computadora de cara a una ma%or eficiencia 9 R56, procesador, interfa$ de red oca 9( +stos recursos c ave son mane0ados separadamente por un sistema operativo en cada ma"uina; so o podr#an ser compartidos entre procesos oca i$ados en e mismo ordenador( 5un"ue e mode o c iente9servidor no satisface todos os re"uisitos necesarios para todas as ap icaciones distribuidos, es adecuado para muchas de as ap icaciones actua es % provee una base efectiva para os sistemas operativos distribuidos de propsito !enera ( Middleware + t)rmino midd e2are se discute en @Le2andosR% 1LLHC( + soft2are distribuido re"uerido para faci itar as interacciones c iente9servidor se denomina midd e2are( +

acceso transparente a servicios % recursos no oca es distribuidos a trav)s de una red se provee a trav)s de midd e2are, "ue sirve como marco para a comunicaciones entre as porciones c iente % servidor de un sistema( + midd e2are define* e 51I "ue usan os c ientes para pedir un servicio a un servidor, a transmisin f#sica de a peticin v#a red, % a devo ucin de resu tados desde e servidor a c iente( +0emp os de midd e2are est'ndar para dominios espec#ficos inc u%en* OD7C, para bases de datos, Lotus para !roup2are, STT1 % ..L para Internet % COR75, DCO6 % T535 R6I para ob0etos distribuidos( + midd e2are fundamenta o !en)rico es a base de os sistemas c iente9servidor( Los servicios de autentificacin en red, amadas a procedimiento remoto, sistemas de ficheros distribuidos % servicios de tiempo en red se consideran parte de midd e2are !en)rico( +ste tipo de midd e2are empie$a a ser parte est'ndar de os sistemas operativos modernos como Jindo2s NT( +n sistemas donde no se dispon!a deber' recurrirse a midd 2are de tipo O.D DC+ >Distributed Computin! +nvironment? @O.8 1LLMC( + midd e2are especifico para un dominio comp ementa a midd 2are !en)rico de cara a ap icaciones mucho mas especificas( + protoco o de comunicaciones mas usado por e midd 2are, tanto !en)rico como especifico, es TC1:I1( +sto se debe a su amp ia difusin en todos os sistemas operativos de mercado % en especia en os ordenadores persona es( 6idd e2are para sistemas c iente9servidor* R1C Un servicio proporcionado por un servidor no es m's "ue un con0unto de operaciones disponib es para os c ientes( + acceso a servicio se rea i$a mediante un protoco o de peticiones respuesta con amadas b o"ueantes( +0emp o* Un servicio de ficheros( + servidor mantiene como recurso compartido os ficheros( .obre e recurso compartido se pueden rea i$ar diversas operaciones* Crear, 5brir, Leer, etc( Los mecanismos R1C persi!uen "ue os c ientes se abstrai!an e invo"uen procedimientos remotos >operaciones? para obtener servicios( 5s#, e procedimiento amado se e0ecuta en otro proceso de otra ma"uina >servidor?( + ob0etivo de R1C es mantener a sem'ntica de a amada a procedimiento norma en un entorno de imp ementacin tota mente distinto( La venta0a esta en "ue e desarro ador se preocupa de os interfaces "ue soporta e servidor( 1ara especificar dichos interfaces se dispones de un IDL > en!ua0e de definicin de interfaces?( Los sistemas R1C disponen de mecanismos de R1C inte!rados en un en!ua0e de pro!ramacin particu ar "ue inc u%e adem's una notacin para definir interfaces entre c ientes % servidores >IDL especifico?( Un IDL permite definir e nombre de as operaciones soportadas por e servidor % sus par'metros >tipo % direccin?( Tambi)n se deben proveer mecanismos para mane0o de e&cepciones, !aranti$ar a e0ecucin de as operaciones, as# como a deteccin de fa os( Todo e o de a forma mas transparente posib e( El software (middleware) que soporta !C tiene tres tareas fundamentales" 1( 1rocesamiento re acionado con os interfaces* Inte!rar R1C en e entorno de pro!ramacin, empa"uetamiento >marsha in!?:desempa"uetamiento >unmarsha in!? % despachar as peticiones a procedimiento adecuado(

A( <estionar as comunicaciones Q( +n a$ado >7indin!?* Loca i$ar a servidor de un servicio( La interfa$ no es mas "ue un numero de procedimiento acordado entre c iente % servidor( +ste numero via0a dentro de mensa0e R1C transmitido por a red( +n a parte c iente e&iste un procedimiento de OstubO encar!ado de empa"uetar:desempa"uetar os ar!umentos de a amada, convertir a amada oca en una amada remota( +sto supone enviar un mensa0e, esperar a respuesta % retornar os resu tados( +n a parte de servidor esta e despachador, 0unto con e con0unto de procedimientos de stub de servidor, "ue tienen una misin simi ar a os de a parte c iente( + despachador se ecciona e procedimiento de stub adecuado a partir de numero de procedimiento re"uerido( + compi ador de IDL !enera os procedimientos de stub de c iente % de servidor, as operaciones de empa"uetamiento % desempa"uetamiento as# como os ficheros de cabecera necesarios( Las peticiones de os c ientes son con respecto a un nombre de servicio( +n u tima instancia deben ser diri!idas a un puerto en e servidor( +n un sistema distribuido un binder es un servicio separado "ue mantiene una tab a "ue contiene correspondencias de nombres de servicios con puertos de servidor( .e trata, como veremos m's ade ante, de un servicio de nombres( Importar un servicio es pedir a binder "ue bus"ue e nombre de interfa$ % retorne e puerto de servidor( +&portar un servicio es re!istrar o de cara e binder( + binder deber' estar en un puerto bien conocido o, a menos, se e podr' oca i$ar( Una imp ementacin bastante habitua de R1C es a de .UN( Incorpora todo un con0unto de primitivas para traba0ar con R1C en en!ua0e C( Dispone de una representacin neutra de os datos para su empa"uetamiento, KDR >+&terna Data Representation?( KDR tambi)n se denomina a IDL "ue se proporciona( + compi ador de IDL, "ue se denomina rpc!en, !enera os procedimientos de stub, e procedimiento main de servidor % e despachador, e cdi!o de conversin de os par'metros a KDR, as# como os ficheros de cabecera correspondientes( + binder recibe e nombre de port mapper( Cuando se activa un servidor en una m'"uina remota )sta se re!istra con e port mapper, obteniendo un puerto de comunicacin a trav)s de cu' escuchar( Cuando se "uiere acceder a un servicio ha% "ue contactar con e port mapper de a m'"uina remota, pre!unt'ndo e por e nombre de un determinado servicio, devo vi)ndose e puerto de comunicacin en e "ue est' a a escucha e servidor correspondiente( 1or tanto para acceder a una determinada operacin de un servicio hace fa ta a si!uiente informacin* @host*servicio*procedimientoC( Servidores !esados vs Clientes !esados @Le2ando2sR% 1IIHC rea i$a una discusin de este concepto dentro de marco de os sistemas c iente9servidor( Los especia istas en sistemas de informacin ca ifican como OpesadaO >fat? una parte de un sistema con una cantidad de funciona idad desproporcionada( 1or e contrario, una parte de sistema se considera i!era >thin? si tiene menos responsabi idades @Orfa i 1LLGC(

+n un sistema c iente9servidor a porcin de servidor casi siempre mantiene os datos, mientras "ue a porcin de c iente es responsab e de a interfa$ de usuario( + desp a$amiento de a !ica de a ap icacin constitu%e a distincin entre c ientes OpesadosO % servidores OpesadosO( Los sistemas servidores OpesadosO de e!an m's responsabi idad de a !ica de a ap icacin en os servidores, mientras "ue os c ientes OpesadosO dan a c iente ma%or responsabi idad( +0emp o de servidor pesado es un servidor Jeb, mientras "ue muchos de os c ientes en sistemas de bases de datos constitu%en c ientes OpesadosO( 5un"ue os sistemas basados en servidores OpesadosO han sido os m's uti i$ados en e pasado, en a actua idad muchos dise,adores prefieren sistemas con c ientes OpesadosO, debido a "ue son m's f'ci es de imp ementar( Los c ientes OpesadosO permiten a os usuarios crear ap icaciones % modificar os front9end de sistema f'ci mente, pero a costa de reducir a encapsu acin de os datos; cuanta m's responsabi idad se co o"ue en un c iente, e c iente re"uerir' un conocimiento m's intimo de a or!ani$acin de os datos de servidor( 1or otra parte, un servidor OpesadoO es m's f'ci mente e&p otab e, esto es, m's f'ci de e&p otar( 5dem's este tipo de servidor ase!ura una ma%or compatibi idad entre c ientes % servidores( 1ro e0emp o, una pa!ina Jeb dise,ada ba0o este mode o supondr#a "ue no ha% disponibi idad de app ets de Tava, p u!ins o 5ctiveKOs debido a "ue e usuario esta usando un c iente O i!eroO, >un nave!ador b'sico?, % e servidor estar#a restrin!ido a est'ndar ST6L A(I( + uso de este mode o de c iente O i!eroO ase!ura "ue todos os usuarios visua i$an una pa!ina Uaceptab eU, aun"ue no se pueden proveer as caracter#sticas avan$adas disponib es con un c iente OpesadoO( Sistemas #$Tiered + mode o cannico c iente9servidor asume e&actamente dos participantes discretos en e sistema( .e denomina sistema Ot2o9tierO; a !ica de a ap icacin puede estar en e c iente, e servidor, o compartida entre os dos( Tambi)n puede darse e caso de tener a !ica de a ap icacin separada de os datos % de a interfa$ de usuario, convirti)ndose e sistema en Othree9tieredO( +n un sistema Othree9tieredO idea toda a !ica de a ap icacin reside en una capa separada( +sto ocurre raramente en os sistemas actua es( .iempre ha% ciertas partes "ue permanecen o bien de ado de c iente o de ado de servidor( Las ap icaciones Jeb est'ndar son un e0emp o c 'sico de sistemas Othree9tieredO( 1or un ado se tienen a interfa$ de usuario, provista por a interpretacin de ST6L, por un nave!ador( Los componentes embebidos visua i$ados por e nave!ador residen en a capa media; pueden ser app ets de Tava, 5ctiveKOs o cua "uier otra c ase de entidad "ue provea !ica de ap icacin para e sistema( 1or = timo se tienen os datos suministrador por e servidor Jeb( %enta&as de los sistemas cliente$servidor La principa venta0a de os sistemas c iente9servidor est' en a correspondencia natura de as ap icaciones en e marco c iente9servidor( Un e0emp o de esto es una a!enda e ectrnica( Debido a "ue os datos son re ativamente est'ticos % son visto de manera uniforme por todos os usuarios de sistema parece !ico co ocar os en un servidor "ue acepte peticiones sobre dichos datos( +s m's, en este caso a !ica de ap icacin

deber#a estar co ocada de ado de servidor, para proporcionar una ma%or f e&ibi idad a sistema de b=s"uedas >cambios en os a !oritmos, etc)tera(((?( Como resu tado de a disponibi idad de midd e2are compatib e para m= tip es p ataformas % de os avances recientes de a interoperabi idad binaria, os sistemas c iente9servidor pueden conectar c ientes e0ecut'ndose en una p ataforma con servidores e0ecut'ndose en otra p ataforma comp etamente distinta( Las tecno o!#as como Tava % os OR7s >Ob0ect Re"uest 7roRers?, de os "ue trata en profundidad este traba0o, esperan proveer una tota inte!racin de todas as p ataformas en unos pocos a,os( .i as porciones de un sistema c iente9servidor encapsu an una =nica funcin % si!uen un interfa$ perfectamente definido, a"ue as partes de sistema "ue proveen os servicios pueden ser intercambiadas sin afectar a otras porciones de sistema( +sto permite a os usuarios, desarro adores % administradores adecuar e sistema con sus necesidades en cada momento( Otra venta0a es a posibi idad de e0ecutar ap icaciones "ue hacen uso intensivo de os recursos en p ataformas hard2are de ba0o coste( Tambi)n e sistema es m's esca ab e, pudi)ndose a,adir tanto nuevo c ientes como nuevos servidores(Introduccin a os sistemas distribuidos(

También podría gustarte