Sie sind auf Seite 1von 29

SISTEMAS OPERATIVOS DISTRIBUIDOS

JOSE FERNANDO BASTIDAS C.


HERBERT CARRILLO G.
DAVID EDUARDO CIFUENTES C.
MARIA FERNANDA SERRANO B.
ANDRES VARGAS CABAS
Alumnos del curso de Investigacin de VIII Semestre de Ingeniera de Sistemas dellCESI

OBJETIVOS consultar este libro, especficamen-


- Dar un concepto claro de lo que es te de quienes se encuentran de una
un Sistema Distribuido, tocando al- u otra forma vinculados con el anli-
gunos temas tcnicos importantes, sis y desarrollo del software, para
pero explicndolos de manera que que empiecen a interesarse en la
lleguen fcilmente a las personas. creacin de aplicaciones enfocadas
- Dar a conocer la importancia de apo- hacia la distribucin, las cuales de-
yar la investigacin en este campo, ben conducir a que, en un futuro no
que apenas est surgiendo, pero que muy lejano, podamos hablar de co-
promete mucho para el desarrollo municaciones a nivel mundial, real-
tecnolgico mundial. mente confiables, transparentes y
eficientes.
- Conocer la manera como cooperan
y se sincronizan los procesos entre INTRODUCCION
s, en un Sistema Distribuido, as
como la forma de implantar regiones Desde hace algunos aos el uso de
crticas o asignar recursos. los computadores ha cambiado enorme-
mente, debido a la transicin, desde los
Conocer las caractersticas y com-
sistemas centralizados que constan de
ponentes de un Sistema Distribuido un nico CPU, sus perifricos de me-
de archivos.
moria y algunas terminales, hacia siste-
- Exponer los puntos fundamentales mas de cmputo compuestos por un
en la Implantacin de un Sistema gran nmero de CPUs, conectados me-
Distribuido de archivos. diante una red de alta velocidad, cono-
- Lograr captar el inters de todas cidos como Sistemas Distribuidos. Aun-
aquellas personas interesadas en que los sistemas operativos necesarios

,f"
para estos Sistemas Distribuidos estn un milisegundo o un tiempo parecido. La coleccin de microprocesadores no slo na su propio computador para que lo
apenas en etapa de surgimiento, ya es mayor cantidad de datos se puede des- facilita una mejor proporCin precio/des- cont~ole. Al conectarse stos, se tiene
bastante lo que conocemos acerca de plazar, entre las mquinas, a razn de empeo que un nico "mainframe", sino un Sistema Distribuido Industrial.
ellos. 10 millones de bits/segundo y aun ms. que puede producir un mejor rendimien-
to del que podra proporcionar cualquier Otra ventaja potencial de un Sistema
Nuestro objetivo es presentar a uste- Hoy en da es fcil reunir sistemas Distribuido sobre uno Centralizado es
des, de manera clara y sencilla, los con- de cmputo, compuestos por un gran "mainframe" a cualquier precio. Por
ejemplo, con la tecnologa actual es po- una mayor confiabilidad. Al distribuir la
ceptos bsicos acerca de los Sistemas nmero de CPUs, conectados median-
sible construir un sistema a partir de los carga de trabajo en muchas mquinas,
Distribuidos, sus principales caracters- te una red de alta velocidad, los cuales la falla de un chip descompondr, a lo
reciben el nombre genrico de Sistemas 1.000 chips de un computador moder-
ticas, las ventajas y desventajas, el sumo, una mquina, pero el resto se-
Distribuidos, en contraste con los Siste- no, cada uno de los cuales tiene una
manejo de la comunicacin y la sincro- guir intacto. Para el caso de aplicacio-
mas Centralizados que constan de un ejecucin de 20 MIPS (millones de ins-
nizacin dentro de estos sistemas, los nes crticas, como el control de los reac-
nico CPU, sus perifricos de memoria trucciones por segundo), para un rendi-
sistemas distribuidos de archivos y un tores nucleares o de los aviones, el uso
y algunas terminales. mie~t? total de 20.000 MIPS. Para que
estudio de los procesos y procesadores de un sistema distribuido, para lograr
de los Sistemas Distribuidos. un UnlCO procesador (es decir, CPU) lo-
Los Sistemas Distribuidos necesitan gre esto, tendra que ejecutar una ins- una mayor confiabilidad, puede ser el
Esperamos que el lector comprenda un software radicalmente distinto del de truccin en 0,05 nanosegundos (50 factor dominante.
la filosofa de los Sistemas Distribuidos, los sistemas centralizados. En particu- picosegundos). Ninguna mquina exis-
lar,aunque los sistemas operativos, ne- Por ltimo, el crecimiento por incre-
despus de haber ledo nuestra obra, y tente llega a acercarse a esta cifra ade- ~entos tambin es una ventaja poten-
pueda llenar, si no todas, muchas de las cesarios para estos Sistemas Distribui- m~ de ~u~ consideraciones teri~as y cial. Con frecuencia ocurre que una com-
expectativas que tenga acerca de este dos, estn apenas en una etapa de sur- de Ingenlerla lo consideran improbable
gimiento, ya se sabe bastante acerca de paa compra un "mainframe", con la
novedoso campo de los sistemas de durante algn tiempo. As, si el objetivo
ellos. intencin de hacer todo su trabajo en l.
computacin. es un rendimiento normal a bajo costo,
Si la .compaa prospera y la carga de
o un alto rendimiento con un mayor cos-
1. INTRODUCCION A LOS 1.2. Ventajas y desventajas de los trabajO aumenta, el "mainframe" no ser
to, los Sistemas Distribuidos tienen mu-
SISTEMAS DISTRIBUIDOS Sistemas Distribuidos adecuado en cierto momento. Las ideas
cho que ofrecer.
de reemplazar el "mainframe" por otro
1.1. Historia 1.2.1. Ventajas de los Sistemas Otra razn para la construccin de ms grande (si existe) o aadir un se-
Distribuidos respecto un Sistema Distribuido es que ciertas gundo "mainframe", pueden dar un tre-
El uso de los computadores est a aplicaciones son dispuestas en forma
de los Centralizados mendo castigo a las operaciones de la
punto de sufrir una revolucin. Desde inherente. En un sistema de automati-
1945, cuando comenz la era del com- La fuerza real, detrs de la tenden- compaa. Por el contrario, con un sis-
zacin de una fbrica, que controle los tema distribuido, podran aadirse sim-
putador moderno, hasta 1985, los com- cia hacia la descentralizacin, es la eco-
robots y las mquinas, a lo largo de una plemente ms procesadores al sistema,
putadores eran grandes y caros, inclu- noma. Por unos cuantos cientos de
lnea de ensamblaje, con frecuencia tie- lo que permitira un desarrollo gradual,
yendo los minicomputadores. Como re- dlares es posible comprar un CHIP de
ne sentido darle a cada robot o mqui- conforme surjan las necesidades.
sultado, las organizaciones tenan un CPU, que puede ejecutar ms instruc-
grupo pequeo de computadores que ciones, por segundo, de las que realiza-
operaban independientemente, por ca- ba uno de los ms grandes "mainframes" ECONOMIA Los microprocesadores ofrecen una mejor
recer de una forma para conectarlos. de los aos ochenta. Si uno est dis- proporcin precio-rendimiento que los
puesto a pagar el doble, se obtiene el mainframes.
A partir de 1985 comenz a cambiar
mismo CPU, slo que con una veloci-
esta situacin. Primero, con el desarro- VELOCIDAD' Un sistema distribuido puede tener un mayor
dad un poco mayor. Como resultado, la
110 de poderosos microprocesadores, se poder de cmputo que un mainframe.
solucin ms eficaz, en cuanto a cos-
dispona de mquinas de 8 bits, pero
tos, es limitarse a un gran nmero de
pronto se volvieron comunes las CPU
CPUs baratos, reunidos en un mismo
de 16,32 e incluso 64 bits, muchas de DISTRIBUCION Alguna,s aplicaciones utilizan mquinas que
sistema. As, la razn nmero uno de la
las cuales tenan el poder de cmputo INHERENTE estan separadas una cierta distancia.
tendencia hacia los Sistemas Distribui-
de un "mainframe" respetable; y segun-
dos es que stos tienen en potencia una CONFIABILIDAD Si una mquina se descompone, sobrevive el
do, con la invencin de redes locales de
proporcin precio/desempeo mucho sistema como un todo.
alta velocidad (LAN), las cuales permi-
mejor que la de un nico sistema cen-
tieron conectar docenas e incluso cien- CRECIMIENTO POR Se puede aadir poder de cmputo en
tralizado.
tos de mquinas, de tal forma que se INCREMENTOS pequeos incrementos.
pudiesen transferir pequeas cantida- Una ligera variacin, con respeto a
des de informacin, entre ellas, durante este tema, es la observacin de que una Ventajas de los Sistemas Distribuidos con respecto de los Centralizados.

114__-':._:1:1_:1:=:=::=:=::::::::::===::::
/CES/ :
========================:~115 /CES/
1.2.2. Venta/as de los Sistemas en un sistema distribuido, es lograr una aadirse una segunda. En ambos ca- los que no tienen que ver; por lo tanto,
Distribuidos respecto mayor comunicacin entre las personas, sos, hay que tender cables en uno o ms es preferible tener un computador per-
de los pe independientes. en donde, segn la gente, el correo elec- edificios, con un gran costo; o bien, hay sonal aislado, sin conexiones de red con
trnico tiene numerosos atractivos res- que reemplazar las tarjetas de interfaz las dems mquinas, para que los da-
Muchos usuarios necesitan compar-
de la red..Una vez que el sistema llega tos se mantengan en secreto.
tir ciertos datos. Por ejemplo, 105 em- pecto del correo con cartas, el telfono
a depender de la red, la prdida o satu- A pesar de estos problemas poten-
pleados de reservaciones, en las lneas o el fax.
racin de sta puede desvirtuar algunas ciales, se puede ver que las ventajas tie-
areas, necesitan tener acceso a la base Por ltimo, un sistema distribuido tie- de las ventajas que el sistema distribui- nen mayor peso que las desventajas y,
maestra de datos de los vuelos y reser- ne una mayor flexibilidad potencial que do tena. de hecho, es probable que en unos
vaciones existentes. Si se le diera a cada
el hecho de darle a cada usuario un
empleado una copia particular de toda Por ltimo, la seguridad es, con fre- cuantos aos muchas organizaciones
computador personal aislado. No 5610 cuencia, un problema, debido a que si conecten la mayora de sus computa-
la base de datos, eso no funcionara,
puesto que nadie conocera 105 asien- existe el mtodo de conectar un grupo las personas pueden tener acceso a los dores a grandes sistemas distribuidos,
tos vendidos por 105 dems empleados. de computadores personales, median- datos en todo el sistema, entonces tam- para proporcionar un servicio mejor, ms
Los datos compartidos son absoluta- te una LAN, sino tambin tener una bin pueden tener acceso a datos con barato y ms conveniente para sus
mente esenciales para sta y otras apli- mezcla de computadores personales y usuarios.
caciones, de modo que las mquinas compartidos, tal vez con distintos tama-
deben estar conectadas entre s. Los os, y dejar que 105 trabajos se ejecu- SOFTWARE Existe poco software para los sistemas
datos no son 105 nicos elementos que ten de la forma ms adecuada, en vez distribuidos en la actualidad.
se pueden compartir; otros candidatos de ejecutarlos siempre en el computa-
REDES La red se puede saturar o causar otros
son tambin 105 perifricos caros, como dor del propietario. De esta manera, la problemas.
las impresoras lser de color, los equi- carga de trabajo se puede difundir entre
pos de fotocomposicin y 105 dispositi- 105 computadores, de forma ms eficaz, SEGURIDAD Un acceso sencillo tambin se aplica a
vos de almacenamiento masivo (por y la prdida de unas cuantas mquinas datos secretos.
ejemplo, las cajas pticas). se puede compensar, si se permite a las
Desventajas de los Sistemas Distribuidos.
Una tercera razn, para la conexin personas que ejecuten sus trabajos en
de un grupo de computadores aislados otra parte.
1.3. Conceptos de hardware La siguiente categora es SIMD
r~
., Aunque todos los sistemas distribui- ("Single Instruction Multiple Data"), con
DATOS COMPARTIDOS Permite que varios usuarios tengan acceso dos constan de varios CPUs, existen di- un flujo de instrucciones y varios flujos
a una base de datos comn. de datos. En este tipo, se ordenan los
versas formas de organizar el hardware;
DISPOSITIVOS Permiten que varios usuarios compartan en particular, en la forma de inter- procesadores con una unidad que bus-
COMPARTIDOS perifricos caros, como las impresoras de color. conectarse y comunicarse entre s. Se ca una instruccin y, despus, ordena a
\. han propuesto diversos esquemas, pero varias unidades de datos para que la lle-
ninguno de ellos ha tenido un xito com- ven a cabo, en paralelo, cada una con
COMUNICACION Facilita la comunicacin de persona a persona; sus propios datos. Ciertos super-
pleto.
por ejemplo, mediante el correo electrnico. computadores son SIMD.
Es probable que la taxonoma ms
FLEXIBILIDAD Difunde la carga de trabajo entre las mquinas La siguiente categora es MISO
citada sea la de Flynn (1972), aunque
disponibles, de la forma ms eficaz, (Multiple Instruction Single Data), con
es algo rudimentaria. Flynn eligi dos
en cuanto a los costos. flujo de varias instrucciones y un solo
caractersticas, consideradas por l
Ventajas de los Sistemas Distribuidos respecto de los pe como esenciales: el nmero de flujos de flujo de datos. Ninguno de los computa-
instrucciones y el nmero de flujos de dores conocidos se ajusta a este mode-
datos. lo.
1.2.3. Desventajas de los Sistemas Un segundo problema potencial es
el ocasionado por las redes de comuni- Un computador, con un solo flujo de Por ltimo viene MIMD (Multiple
Distribuidos
cacin, ya que se pueden perder men- instrucciones y un solo flujo de datos, Instruction Multiple Data), que significa
El peor de 105 problemas de 105 sis- se llama SISO ("Single Instruction Single un grupo de computadores independien-
temas distribuidos es el software, debi- sajes, por lo cual se requiere de un soft-
Data"). Todos los computadores de un te, cada uno con su propio contador del
do a que no se tiene mucha experien- ware especial para su manejo y ste
5010 procesador caen dentro de esta programa, programas y datos. Todos los
cia en el diseo, implantacin y uso del puede verse sobrecargado. Al saturar-
categora. sistemas distribuidos son MIMD.
software distribuido. se la red, sta debe reemplazarse o

116-:-:==:==:=::::====::::::::::::
'CES'
:::::::::::::::::::::::=:::~117
ICES'
Los Computadores MIMO se pueden En general, los multiprocesadores se encuentra en memoria cach. Pero l, tambin sea escrita en la memoria; y
dMdlren-dos grupos: aquellos que tie- tienden a estar ms fuertemente aco- tambin se presenta un problema de adem{.s. este cach mantiene un moni-
nen memoa':compartida, que, por lo piados que los multicomputadores, memoria incoherente, en el caso de que toreo permanente del bus, para saber
general, se Daman Multiprocesadores puesto que pueden intercambiar datos dos CPUs lean la misma palabra en sus cundo una palabra que est en l ha
y aquellos que no, que a veces reciben a la velocidad de sus memorias, pero respectivos cachs y uno de ellos la sido modificada y, por lo tanto, tambin
el nombre de Multicomputadores. La algunos multicomputadores, basados en modifique y el otro lea el valor viejo de modificarla en l. Mediante el uso de
diferencia esencial es que un Mul- fibras pticas, pueden funcionar tam- la palabra. Los investigadores han so-
este cach es posible colocar de 32 a
tiprocesador tiene un solo espacio de bin con velocidad de memoria. lucionado esto con el diseo de un cach
64 CPUs en el mismo bus.
direcciones virtuales, compartido por que cuando una palabra sea escrita en
todos los CPU; yen un Multicomputador, Aunque el estudio de multipro-
cada mquina tiene su propia memoria cesadores y multicomputadores, con
particular. base en bus y con conmutador, no afec-
Estas dos categoras se pueden sub-
ta directamente el estudio de los siste- CPU CPU CPU
dividir, con base en la arquitectura de la mas operativos distribuidos, es impor- MEMORIA
red de interconexin, en Bus y con tante tener un concepto claro acerca de
Conmutador. En la primera queremos cada uno de ellos. I cach 1 I cach 1 I cach I
indicar que existe una sola red, plano
1.3.1. Multiprocesadores con base
de base, bus, cable u otro medio que
en buses
conecta todas las mquinas, como es f,

el caso de la televisin comercial por Los multiprocesadores con base en BUS


cable; los sistemas con Conmutador no buses constan de cierto nmero de
tienen una sola columna vertebral como CPUs, conectados a un bus comn, jun- 1.3.2. Muniprocesadores dar de cruceta y hace la misma funcin,
la televisin por cable, sino que tienen to con un mdulo de memoria. Una con- con conmutador pero tiene un problema de retraso, pues
cables individuales de una mquina a figuracin sencilla consta de un plano
Para construir un multiprocesador es muy lenta. Los investigadores dise-
otra y utilizan varios patrones diferen- de base ("backplane") de alta velocidad
con ms de 64 procesadores, es nece- aron NUMA (Acceso no uniforme a la
tes de cableado. Los mensajes se mue- o tarjeta madre, en la cual se pueden
sario un mtodo distinto para conectar memoria), la cual tiene un rpido acce-
ven a travs de los cables y se hace una insertar varias tarjetas de memoria y el
decisin explcita de conmutacin en cada CPU con la memoria. Una posibili- so a su memoria, pero un lento acceso
CPU.
cada etapa, para dirigir el mensaje a Jo dad es dividir la memoria en mdulos y a la memoria de los dems.
Para leer una palabra de memoria,
largo de uno de los cables de salida. conectarlos a la CPU con un conmuta- En resumen, los multiprocesadores
un CPU coloca la direccin de la pala-
En ciertos sistemas las mquinas dor. Cada CPU y cada memoria tienen basados en buses, incluso con cachs
bra deseada en las lneas de direccin
estn Fuertemente Acopladas y en una conexin que sale de l. En cada monitores, quedan limitados como mxi-
del bus y una seal en las lneas ade-
otras estn DbilmenteAcopladas; en interseccin est un delgado Conmu- mo a 64 CPUs, por la capacidad del bus.
cuadas de control, para indicar que de-
un sistema Fuertemente Acoplado el tador del punto de cruce electrnico. Para rebasar estos lmites es necesa-
sea leer. La memoria responde y coloca
. retraso que se experimenta, al enviar un que el hardware puede abrir y cerrar. rio una red de conmutador, como un
el valor de la palabra en las lneas de
mensaje de un computador a otro, es Cuando un CPU desea tener acceso a conmutador de cruceta, una red omega
datos, para permitir la lectura de sta
corto y la tasa de transmisin de datos, una memoria particular, el conmutador o algo similar. Los grandes conmutado-
por parte del CPU solicitante. La escri-
es decir, el nmero de bits por segundo del punto de cruce qtle los conecta se res de cruceta son muy caros y las gran-
tura funciona de manera similar.
que se puede transferir es alto; en un cierra de manera momentnea, para que des redes omega son caras y lentas.
sistema Dbilmente Acoplado ocurre lo El problema con este esquema es
tenga lugar dicho acceso. Esta descrip- Las mquinas NUMA necesitan comple-
contrario. que si slo se dispone de 4 5 CPUs; el
cin es del Conmutador de Cruceta, jos algoritmos para un buen software de
Los sistemas luertemente acoplados bus estar, por lo general, sobrecarga-
pero los Investigadores han dado a co- colocacin. La conclusin es clara: La
tienden a utilizarse ms como sistemas do y el rendimiento disminuir en forma
nocer otros tipos de conmutacin, como construccin de un multiprocesador
paralelos (para trabajar con un solo pro- drstica. La solucin es aadir una Me-
es la Red Omega, que utiliza mucho grande, fuertemente acoplado y con
blema) y los dbilmente acoplados tien- moria Cach de alta velocidad entre el
menos conmutadores que el conmuta- memoria compartida, es difcil y cara.
den a utilizarse como sistemas distribui- CPU y el bus, donde se guardan las
dos (para trabajar con varios problemas palabras de acceso reciente y no hay
no relacionados entre s), aunque esto necesidad de utilizar el bus para ir a
no siempre es cierto. buscar, en la memoria, una palabra que

118~=======================::=
ICESI ::==:==::::=:=::=:=======:=~119
Icesl
MEMORIAS 1.3.4. Municomputadores El software dbilmente acoplado per-
con conmutador mite que las mquinas y usuarios de un
; Se han propuesto y construido varias sistema distribuido sean independientes
-,
M M M M
redes de interconexin, pero todas tie- entre s, en lo fundamental, pero que
nen la propiedad de que cada CPU tie- interacten, en cierto grado, cuando sea
ne acceso directo y exclusivo a su pro- necesario. Consideremos un grupo de
e pia memoria particular. Existen dos computadores personales, cada uno de
topologas populares, una Retcula y un los cuales tiene su propio CPU, su pro-
CONMUTADOR
pia memoria, su propio disco duro y su
PUNTO DE CRUCE Hipercubo. Las retculas son fciles de
propio sistema operativo, pero que com-

e I comprender y se basan en las tarjetas


de circuitos impresos. Se adecuan me-
parten ciertos recursos, tales como las
impresoras lser y las bases de datos,
jor a problemas, con una naturaleza
CPU en una LAN. Este sistema est dbil-
bidimensional inherente, como la teora
mente acoplado, puesto que las mqui-
de grficos o la visin.
nas individuales se distinguen con clari-
Un hipercubo es un cubo-n-dimen- dad, cada una de las cuales tiene su
C
sional. Cada vrtice es un CPU. Cada propio trabajo por realizar. Si la red falla
arista es una conexin entre dos CPUs. por alguna razn, las mquinas indivi-
Cada CPU tiene Un" conexiones con duales continan su ejecucin en cierto
otros CPUs. As, la complejidad del grado considerable, aunque se puede
C cableado aumenta en proporcin lo- perder cierta funcionalidad.
gartmica con el tamao. Puesto que En el otro extremo, podramos tener
slo se conectan los vecinos ms cer- el caso de un multiprocesador dedica-
canos, muchos mensajes deben reali- do a la ejecucin de un nico programa
1.3.3. Multicomputadores interconexin, pero slo es para la co- zar varios saltos, antes de llegar a su de ajedrez, en paralelo. A cada CPU se
con base en buses municacin entre un CPU y otro. El vo- destino. Los hipercubos con 1.024 CPUs le asigna un tablero para su evaluacin
La construccin de un multicom- lumen del trfico ser menor, varios r- estn disponibles en el mercado desde y ste ocupa su tiempo, en. la evalua-
putador es fcil. Cada CPU tiene una denes, si se utiliza la red de inter hace varios aos y ya comienzan a es cin de este tablero y de los tableros que
conexin directa con su propia memoria conexin para el trfico CPU-Memoria; tar disponibles los hipercubos, con has- se pueden generar a partir de l. Al ter-
local. El nico problema consiste en de el sistema de interconexin puede te- ta 16.384 CPUs. minar la evaluacin, el CPU informa de
finir la forma en que los CPUs se comu- ner una LAN de menor velocidad, en
sus resultados y se le proporciona un
nican entre s. Es claro que aqu tam- comparacin con un "backplane". 1.4. Conceptos de software nuevo tablero para trabajar con l. El
bin se necesita cierto esquema de Aunque el hardware es importante, software para este sistema, es decir, el
el software 10 es an ms. La imagen programa de aplicacin y el sistema
ESTACION ESTACION ESTACION que un sistema presenta a sus usuarios operativo necesario para soportarlo,
DE TRABAJO DE TRABAJO DE TRABAJO y la forma de pensar de stos, acerca estn ms fuertemente acoplados que
del sistema, queda determinada, en gran en el caso anterior.
medida, por el software del sistema ope- Con lo que hemos tratado hasta aho-
MEMORIA MEMORIA MEMORIA rativo, no por el hardware. ra, podemos ver que existen cuatro ti-
LOCAL LOCAL LOCAL Los sistemas operativos no se pue- pos de hardware distribuido y dos tipos
den colocar fcilmente dentro de unos de software distribuido. En teora, debe-
estndares como el hardware. Por su ran existir ocho combinaciones de hard-
CPU CPU CPU propia naturaleza, el software es vago y ware y software. Pero slo existen cua-
amorfo. An as, es ms o menos posi tro, puesto que para el usuario la
ble distinguir dos tipos de sistemas ope- interconexin de la tecnologa no es vi-
rativos para los sistemas de varios sible. Un multiprocesador es un mul-
CPUs: Los Dbilmente Acoplados y tiprocesador, sin importar si utiliza un bus
RED Los Fuertemente Acoplados. con cachs monitores o una red omega.

120~===================:====:=
ICESI :
========================~121 ICESI
1.4.1. Sistemas Operativos de archivos. Cada una de las solicitu- de servidores de archivo en Unix, con clientes a los servidores, junto con las
de Redes y NFS des que llegue se examina, se ejecuta y CPU de Motorola 68030 o SunSparc. respuestas correspondientes, enviadas
La combinacin ms comn, en mu- la respuesta se enva de regreso. Existen tres aspectos importantes de por los servidores de regreso a los clien-
chas organizaciones, es un software Los servidores de archivos tienen, por NFS: la Arquitectura, el Protocolo y la tes. Mientras un servidor reconozca y
dbilmente acoplado en un hardware lo general, un sistema jerrquico de ar- Implantacin. pueda manejar todas las solicitudes en
igual. Un ejemplo tpico es una red de chivos, cada uno de los cuales tiene un los protocolos, no necesita saber algo
La Arquitectura de NFS: La idea
estaciones de trabajo de ingeniera, co- directorio raz, con sus directorios y ar- de sus clientes. En forma anloga, los
fundamental de NFS es permitir que una
nectadas mediante una LAN. En este chivos. Las estaciones de trabajo pue- clientes consideran a los servidores
coleccin arbitraria de clientes y servi-
modelo, cada usuario tiene una estacin den importar o montar estos sistemas como "cajas negras". El primer protoco-
dores compartan un sistema de archi-
de trabajo para su uso exclusivo, lo mis- de archivos, lo que aumenta sus siste- lo de NFS maneja el montaje. Un clien-
vos comn. En la mayora de los casos,
mo que su propio sistema operativo, en mas locales de archivos con aquellos te puede enviar el nombre de una ruta
todos los clientes y servidores estn en
donde lo normal es que todos los co- localizados en los servidores. la misma LAN, pero esto no es necesa- de acceso a un servidor y solicitar el
mandos se ejecuten en forma local, pre-
El sistema operativo por utilizar, en rio. Es posible ejecutar el NFS en una permiso para montar ese directorio en
cisamente en la estacin de trabajo.
este tipo de ambiente, debe controlar WAN. Tomamos a los clientes y servi- alguna parte de su jerarqua de directo-
Sin embargo, a veces es posible que tanto las estaciones de trabajo, en lo dores como mquinas distintas, pero rios. El segundo protocolo de NFS es
un usuario se conecte de manera remo- individual, como a los servidores de ar- NFS tambin permite que cada mqui- para el acceso a los directorios y archi-
ta con otra estacin de trabajo, median- chivos, y tambin debe encargarse de na sea un cliente y un servidor al mismo vos. Los clientes pueden enviar mensa-
te un comando. la comunicacin entre ellos. Es posible tiempo. jes a los servidores para el manejo de
El efecto de este comando es con- que todas las mquinas ejecuten el mis- La caracterstica bsica de la ar- los directorios y la lectura o escritura de
vertir la propia estacin de trabajo del mo sistema operativo, pero esto no es quitectura de NFS es que los servido- archivos. Adems, tambin pueden te-
usuario en una terminal remota, enlaza- necesario. Si los clientes y los servido- res exportan directorios y los clientes los ner acceso a los atributos de archivo,
da con la mquina remota. Los coman- res ejecutan diversos sistemas, enton- montan de manera remota. Si dos o ms tales como su modo, tamao y fecha de
dos escritos en el teclado se envan a la ces, como mnimo, deben coincidir en clientes montan el mismo directorio al la ltima modificacin.
mquina remota y la salida de sta se el formato y significado de todos los mismo tiempo, ellos se pueden comuni-
exhibe en la pantalla. En cualquier ins- mensajes que podran intercambiar. En car y compartir archivos en sus directo- Implantacin de NFS: La implan-
tante, slo se puede utilizar una mqui- una situacin como sta, en la que cada rios comunes. Un programa para un tacin del cdigo del cliente y del servi-
na y la seleccin de sta se realiza en mquina tiene un alto grado de autono- cliente puede crear un archivo y un pro- dor es independiente de los protocolos.
forma manual. ma y existen pocos requisitos a lo largo grama para otro cliente distinto, puede Consta de tres capas: la capa superior
Las redes de las estaciones de tra- de todo el sistema, las personas se re- leer dicho archivo. Una vez llevados a es la capa de llamadas al sistema; sta
bajo tambin tienen un comando de co- fieren a ella como un Sistema Operati- cabo los montajes, no hay que hacer maneja las llamadas del tipo OPEN,
piado remoto, para copiar archivos de vo de Red. nada especial para lograr compartir los READ Y CLOSE. Despus de analizar
una mquina a otra, pero el usuario debe Uno de los mejores sistemas opera- archivos. Los archivos compartidos es- la llamada y verificar los parmetros, lla-
estar consciente de la posicin de los tivos de red es el Network File System, tn ah, en la jerarqua de directorios de ma a la segunda capa, la capa del sis-
archivos. de Sun Microsystems, conocida en ge- varias mquinas, y se puede leer o es- tema virtual de archivos (VFS). La tarea
Aunque es mejor que nada, esta for- neral como NFS. Es un sistema con cribir en ellos de la manera usual. Esta de la capa VFS es mantener una tabla,
ma de comunicacin es primitiva en ex- amplio uso. Sun Microsystems dise e sencillez es uno de los grandes atracti- con una entrada por cada archivo abier-
tremo. Un mtodo ms conveniente de implant NFS, en un principio para su vos de NFS. to, anloga a la tabla de nodos, para
comunicacin y distribucin de la infor- uso en estaciones de trabajo con base Protocolos de NFS: Puesto que los archivos abiertos en Unix. Despus
macin consiste en proporcionar un sis- en UNIX. Ahora lo soportan otros fabri- uno de los objetivos de NFS es soportar de descubrir el nombre de la mquina
tema de archivos global compartido, cantes tanto para Unix como para otros un sistema heterogneo, en donde los donde se localiza el directorio por mon-
accesible desde todas las estaciones de sistemas operativos (como MS-DOS). clientes y servidores podran ejecutar tar, se relaciona esa mquina buscando
trabajo. Una o varias mquinas, llama- NFS soporta sistemas heterogneos, distintos sistemas operativos en hard- un "file handle" para el directorio remo-
das Servidores de Archivos, soportan por ejemplo, clientes de MS-DOS que ware diverso, es esencial que la interfaz to. Si el directorio existe y est disponi-
el sistema de archivos. Los servidores hacan uso de servidores Unix. Ni siquie- entre los clientes y servidores est bien
ble para su montaje remoto, el servidor
aceptan solicitudes de los programas de ra se pide que las mquinas utilicen el definida. NFS logra este objetivo me-
mismo hardware. Es comn encontrar- regresa, entonces, un ''file handle" para
usuarios, los cuales se ejecutan en las diante la definicin de dos protocolos
se con clientes de MS-DOS que utilizan el directorio. Por ltimo, se transfiere el
otras mquinas (No servidoras), llama- cliente-servidor. Un Protocolo es un
das Clientes, para la lectura y escritura CPU de Intel 386 y obtienen servicios conjunto de solicitudes que envan los ''file handle" al ncleo.

122-:-=========================::
ICESI :========================~123 ICESI
1.4.2. Sistemas realmente te acoplado en un hardware igual. Aun- 1.5.2. Flexibilidad miento (nmero de trabajos por hora),
distribuidos que existen varias mquinas de prop- el uso del sistema y la cantidad consu-
Es importante que el sistema sea
El siguiente paso, en la evolucin, es sito especial en esta categora (como las mida de la capacidad de la red. El pro-
flexible, ya que apenas estamos apren-
el de un software fuertemente acoplado mquinas dedicadas a las bases de da- blema del desempeo se complica por
diendo a construir sistemas distribuidos.
tos), los ejemplos ms comunes de pro- el hecho que la comunicacin, factor
en un hardware dbilmente acoplado (es Es probable que este proceso tenga
psito general son los multiproce- esencial en un sistema distribuido (y
decir, multicomputadores). El objetivo de muchas salidas falsas y una considera-
sadores, como los fabricados por ausente en un sistema con un nico
un sistema de este tipo es crear la ilu- ble retroalimentacin. Las decisiones de procesador), es algo lenta por lo gene-
sin, en las mentes de los usuarios, de Sequent y Encare, que operan como un diseo que ahora parezcan razonables ral. As, para optimizar el desempeo,
que toda la red de computadores es un sistema de tiempo compartido de Unix, podran demostrar ser incorrectas pos- con frecuencia hay que minimizar el
solo sistema de tiempo compartido, en slo que con varios CPU en lugar de uno teriormente. nmero de mensajes.
vez de una coleccin de mquinas di- solo.
Existen dos escuelas de pensamien-
versas. Esto nos lleva a nuestra defini- La caracterstica clave de este tipo to en cuanto a la estructura de los siste- 1.5.5. Esca/amiento - Extensin
cin de sistema distribuido: un Sistema de sistema es la existencia de una sola mas distribuidos. Una escuela dice que La mayora de los sistemas distribui-
Distribuido es aquel que se ejecuta en cola para la ejecucin: una lista de to- cada mquina debe ejecutar un ncleo dos est diseada para trabajar con
una coleccin de mquinas sin memo- dos los procesos, en el sistema, que no tradicional que proporcione la mayora unos cuantos cientos de CPUs. Es po-
ria compartida, pero que aparece ante estn bloqueados en forma lgica y lis- de los servicios. la otra sostiene que el sible que los sistemas futuros tengan
sus usuarios como un solo computador tos para su ejecucin. La cola de ejecu- ncleo debe proporcionar lo menos po- mayores rdenes de magnitud y que las
Para que un sistema sea realmente cin es una estructura de datos conte- sible y que el grueso de los servicios del soluciones que funcionen bien para 200
distribuido, debe existir un mecanismo nida en la memoria compartida. sistema operativo se obtenga a partir de mquinas fallen de manera total para
de comunicacin global entre los pro- los servidores al nivel usuario. La pri- 200 millones; por esto, es importante que
1.5 Aspectos del diseo
cesos, de forma que cualquier proceso mera escuela, conocida como el ncleo al construir los sistemas distribuidos se
puede hablar con cualquier otro; ade- 1.5.1. Transparencia monoltico, opera en el actual sistema piense en el nmero de mquinas que
ms, no tiene que haber distintos me- Un sistema es transparente cuando operativo y centralizado bsico, aumen- en un futuro se le acondicionarn.
canismos en distintas mquinas o dis- hace que las personas piensen que la tado con las capacidades de la red y la
tintos mecanismos para la comunicacin integracin de los servicios remotos. La 2. COMUNICACIONES
coleccin de mquinas es tan slo un
local o la comunicacin remota; tambin segunda escuela, conocida como el EN LOS SISTEMAS DISTRIBUIDOS
sistema de tiempo compartido de un solo
debe existir un esquema global de pro- procesador, es decir, cuando se le ocul- microncleo, opera en los sistemas dis- La diferencia ms importante entre un
teccin. ta la distribucin del sistema y piensan tribuidos diseados actualmente. sistema distribuido y un sistema de ni-
que un solo computador es el que hace co procesador es la comunicacin en-
1.4.3. Sistemas de multiprocesador 1.5.3. Confiabllidad tre los procesos. En un sistema con un
todo el trabajo. Existen cinco tipos de
con tiempo compartido Uno de los objetivos originales de la solo procesador, la mayor parte de la
transparencia:
La ltima combinacin que queremos construccin de sistemas distribuidos comunicacin entre procesos supone,
analizar es la de un software fuertemen- fue el hacerlos ms confiables que los de manera implcita, la existencia de la
sistemas con un nico procesador. La memoria compartida. Un ejemplo tpico
idea es que si una mquina falla, algu- es el problema de los lectores escrito-
TRANSPARENCIA Los usuarios no pueden indicar la localizacin de na otra mquina se encargue del trabajo. res, en donde un proceso escribe en un
DE LOCALlZACION. los recursos. "buffer" compartido y otro proceso lo lee.
1.5.4. Desempeo Incluso, en las formas ms bsicas de
TRANSPARENCIA Los recursos se pueden mover a voluntad, sin
La construccin de un sistema distri- sincronizacin, como el semforo, hay
DE MIGRACION cambiar sus nombres.
buido transparente, flexible y confiable que compartir una palabra (La variable
no har que usted gane premios si es del semforo). En un sistema distribui-
TRANSPARENCIA Los usuarios no pueden indicar el nmero de muy lento. En particular, cuando se eje- do no existe tal memoria compartida, por
DE REPLICA. copias existentes. cuta una aplicacin en un sistema dis- lo que toda la naturaleza de la comuni-
tribuido, no debe parecer peor que su cacin entre procesos debe replantearse
TRANSPARENCIA Varios usuarios pueden compartir recursos de ejecucin en un nico procesador. a partir de cero.
DE CONCURRENCIA. manera automtica. Comenzaremos con el anlisis de las
Se pueden utilizar diversas mtricas
TRANSPARENCIA Las actividades pueden ocurrir en parelelo, sin el del desempeo. El tiempo de respuesta reglas a las que se deben apegar los
DE PARALELISMO. conocimiento de los usuarios. es uno, pero tambin lo son el rendi- procesos respecto de la comunicacin

124~:::::::::::::::::::::::::==:
ICESI ::::======:::::=:::::::::::~125 ICESI
conocida como protocolo. Para los sis- tre las redes de rea amplia, y el TCP/ abiertos. Un sistema abierto es aquel pas, como se muestra en la Figura 2.1.
temas distribuidos, estos protocolos to- IP, utilizado entre los computadores del preparado para comunicarse con cual- Cada capa se encarga de un aspecto
man con frecuencia la forma de varias Departamento de Defensa de los Esta- quier otro sistema abierto, mediante re- especfico de la comunicacin; de esta
capas, cada una con sus propias metas dos Unidos. gias estndar que gobiernan el formato, forma, el problema se puede dividir en
y reglas; luego analizaremos con ms el contenido y el significado de los men- piezas manejables, cada una de las cua-
detalle el modelo cliente-servidor, del 2.2. Protocolos con capas sajes recibidos. Estas reglas se formali- les se puede resolver en forma indepen-
cual tanto se ha hablado. Finalmente, Debido a la ausencia de memoria zan en lo que se llaman protocolos. En diente de las dems. Cada capa propor-
veremos la forma en que se intercam- compartida, todas las comunicaciones trminos bsicos, un protocolo es un ciona una interfaz con la capa siguien-
bian los mensajes y las muchas opcio- en los sistemas distribuidos se basan en acuerdo de la forma en que debe desa- te. La interfaz consiste en un conjunto
nes disponibles para los diseadores del la transferencia de mensajes. Cuando rrollarse la comunicacin. Cuando se de operaciones, para definir el servicio
sistema. el proceso A quiere comunicarse con el que la capa est preparada a ofrecer a
presentan una mujer y un hombre, ella
proceso B, construye primero un men- sus usuarios.
2.1. Redes y Comunicaciones puede optar por extender la mano. El, a
saje en su propio espacio de direccio-
su vez, puede decidir si estrechrsela o
Como vimos en la primera parte, el nes. Entonces, ejecuta una llamada al 2.2.2. Capas del modelo OSI
besrsela segn si, por ejemplo, ella es
disponer de una red es uno de los re- sistema para que ste busque el men- El modelo OSI cuenta con siete ca-
una abogada en una junta de negocios
quisitos para poder hablar de un siste- saje y lo enve, a travs de la red, hacia pas, una serie de interfaces y siete pro-
o una princesa europea en un baile for-
ma operativo completamente distribui- B. Como vemos, esto parece sencillo,
mal. La violacin del protocolo har que tocolos, los que garantizarn que la co-
do; por ello, se hace importante estu- pero, para evitar confusiones, A y B de-
la comunicacin sea ms difcil o, tal vez, municacin entre el emisor y el receptor
diar las caractersticas de las comuni- ben coincidir en el significado de los bits
imposible. sea eficiente y confiable, como se mues-
caciones, en los diferentes tipos de re- que se enven. Por ejemplo, si A enva
tra en la Figura 2.1. Las siete capas del
des, bien sea en las redes del rea lo- un mensaje, en cdigo ASCII, y B espe- El modelo OSI distingue entre dos ti-
modelo OSI y su utilidad se describirn
cal LAN o en las redes de rea amplia ra un mensaje en el cdigo EBCDIC, la pos generales de protocolos: los orien-
WAN. Estas ltimas permitirn, en un comunicacin no ser ptima. a continuacin:
tados hacia las conexiones y los que no
futuro, ofrecer la posibilidad de conexin Como vemos, se necesitan muchos tienen ninguna conexin; los primeros, La capa fsica: Se preocupa por la
en el mundo, entre computadores y puntos de comn acuerdo para estable- antes de intercambiar los datos entre el transmisin de los ceros y los unos.
usuarios; por ello se deben acordar pro- cer una buena comunicacin. Cuntos emisor y el receptor, negocian el proto- El nmero de voltios por utilizar (O y
tocolos o reglas de comunicacin voltios hay que utilizar para la seal co- colo por utilizar, mientras que los segun- 1), el nmero de bits por segundo
estndar entre los usuarios, e incluso rrespondiente a un bit cero y cuntos dos no necesitan ninguna configuracin que se pueden enviar, el hecho que
entre los diferentes tipos de redes. para un bit uno? Cmo sabe el recep- previa para empezar a transmitir el men- la transmisin se lleve a cabo en
En el exterior existen diferentes or- tor cul es el ltimo bit del mensaje? saje. Un ejemplo de comunicacin sin ambas direcciones, en forma simul-
ganismos, los cuales han tratado de Cmo puede detectar si un mensaje conexin podra ser el depositar una tnea, son todos aspectos claves en
establecer protocolos comunes para ha sido daado o perdido, y qu debe carta en un buzn, ya que el receptor la capa fsica. Adems, el tamao y
seguir en todas las comunicaciones que hacer si lo descubre? Qu longitud tie- no espera que le llegue la carta que en forma del conector en la red, as
se puedan llevar a cabo en los diferen- nen los nmeros, cadenas y otros ele- ese momento ha sido depositada y mu- como el nmero de PINS y el signifi-
. tes tipos de redes. Entre los organismos mentos de datos y cul es la forma en cho menos ha podido establecer una cado de cada uno son temas de in-
ms destacados vale la pena mencio- que estn representados? De este ejem- ters para dicha capa. El protocolo
conexin previa con el emisor para neo
nar la Organizacin Internacional para plo se puede deducir que se necesitan de la capa fsica controlar que,
gociar las normas que se deberan utili-
la Internacionalizacin (ISO), con su varios puntos de acuerdo con una am- cuando una mquina enve el bit O,
zar en el envo de la carta.
modelo de referencia para la inter- plia gama de niveles, desde los detalles sea realmente recibido como un bit
conexin de sistemas abiertos OSI; el de bajo nivel de los bits hasta los deta- En el modelo OSI, la comunicacin
oyno como un bit 1.
Comit Consultivo Intemacional para la lles de alto nivel, acerca de la forma se divide hasta en siete niveles o ca-
Telegrafa y las Telecomunicaciones como debe expresarse la informacin.
(CCITI) y el Instituto NacionalAmerica-
no de Normas (ANSI). 2.2.1. Modelo de referencia para la
interconexin de sistemas
Entre los conjuntos de normas ms
abiertos OSI
importantes podemos citar el OSI, que
abarca una arquitectura de servicios y Este modelo est diseado para per-
protocolos y es comnmente usado en- mitir la comunicacin entre los sistemas

126~::::=::::=:::::========:::::
ICESI :===::====::=::::::::::::=:~127 ICESI
MODELO OSI registro de la parte que est hablan- tal. Sin embargo, como el servicio pos-
do en cierto momento y proporciona tal es malo, en cierto momento las dos
facilidades en la sincronizacin. En secretarias deciden abandonarlo y co-
la prctica, pocas aplicaciones estn municarse por fax. Lo pueden hacer sin
Mquina 1 Mquina 2
interesadas en la capa de sesin y molestar a sus jefes, puesto que su pro-
~roceso0 QrocesoD rara vez se le soporta. tocolo se refiere a la transmisi6n fsica

~ tI
1
Aplicacin r
~
Protocolo de aplicacin
Protocolo de presentacin
~ Aplicacin
La capa de presentacin: Esta capa
se encarga de dar un formato al men-
saje del emisor, para hacerlo en-
de las rdenes y a su contenido. En for-
ma anloga, el jefe de servicios de pa-
sajeros decide no pedir el pollo y pedir
t 2 Presentacin ~ Presentacin
el nuevo especial de Mushy, un filete,
Protocolo de sesin tendible por el receptor; dicho forma-
9
3 Sesin . ~ Sesin to ser una especie de registro, con sin que esa decisin afecte a las secre-
Protocolo de transporte 'J ,,'
1', campos de tamao adecuado para tarias. Lo que debemos observar es que
4 Transporte ~ ~ Transporte albergar datos como nombres, direc- aqu tenemos dos capas: Los jefes y las
a Protocolo de red secretarias, y cada capa tiene su propio
z
5 Red .. ~ Red ciones, etc.
protocolo: temas de discusin y tecno-
Protocolo de enlace de dato~ La capa de aplicacin: Esta capa se loga, que se pueden cambiar indepen-
61 Enlace de datos ~ Enlace de Datos encarga de establecer protocolos dientemente el uno del otro.
Protocolo fsico
71 Fsico ~ ~ Fsico
para actividades comunes entre ter-
minales remotas; los ms conocidos De la misma forma, cuando un pro-
son el protocolo de correo electrni- ceso A de la mquina 1 desea comuni-
RED
Figura 2.1. Capas, interfaces y protocolos en el modelo OSI.
co XAOO y el servidor de directorios
X.500.
Para entender mejor el porqu de la
carse con el proceso B de la mquina 2,
construye un mensaje y lo transfiere a
la capa de aplicacin en su mquina; el
software de dicha capa agregar un en-
- La capa de enlace de los datos: Esta compaas telefnicas, y el orienta- existencia de las diferentes capas, en el cabezado y har seguir el mensaje por
capa no slo detecta los errores sino do a la no conexin, llamado IP de modelo de comunicaciones OSI, veamos medio de la interfaz hasta la capa de pre-
que los corrige. lo que hace es agru- protocolo internet, el cual es usado un ejemplo: sentacin, en donde se le agregar otro
par los bits en unidades, que a ve- por el Departamento de Defensa de Consideremos la comunicacin entre encabezado y as sucesivamente se re-
ces se llaman marcos, y revisar que los Estados Unidos. dos compaas, Zyppy Airlines y su pro- petir el proceso hasta llegar a la capa
cada marco se reciba en forma co- - La capa de transporte: Esta capa se veedor, Mushy Mea/s. /ne. Cada mes, el de enlace de datos, como se muestra
rrecta; los marcos estn conforma- encarga de recibir el mensaje pro- jefe de servicios de pasajeros, en Zippy, en la Figura 2.2. Una vez la mquina 1
dos por tres campos: un bit al inicio, le pide a su secretaria que haga contac- tenga el mensaje, con los encabezados
veniente de la capa de sesin, lo
un bit al final y otro de verificacin, to con la secretaria del gerente de ven- correspondientes, lo enviar a la mqui-
parte en pequeos pedazos, de for-
conocido como CKECKSUM; este tas en Mushy, para ordenar cien mil ca- na 2, la cual, realizando el proceso in-
ma que cada una se ajuste a un ni-
ltimo contendr la suma de todos jas de pollo. Por lo general, las rdenes verso, lo interpretar en la forma correc-
co paquete; le asigna a cada uno un
los bits del marco, as, en el momen- se solicitan por medio de la oficina pos- ta.
nmero secuencial y despus los
to en que el mensaje llegue al re- enva al receptor. Existen diferentes EJEMPLO DE UN MENSAJE ENVIADO DE ACUERDO CON EL MODELO OSI
ceptor, ste slo tendr que volver a protocolos de transporte, entre ellos Encabezado de la capa de enlace de datos
calcular la suma de los bits del mar- estn desde el TPO hasta el TP4, Encabezado de la capa de red
co y compararla con el contenido del protocolos oficiales de transporte

J!
EncabezadO de la capa de transporte
CKECKSUM, para determinar si la ISO; el TCP, protocolo de transporte

f1J
ncabezadO de la capa de sesin
informacin lleg correctamente; en del Departamento de Defensa de los
Dncabezado de la capa de presentacin
caso contrario, el receptor pedir al
emisor la retransmisin de los datos.
Estados Unidos; la combinacin
TCP/IP, protocolo de transporte de Jj ~ncabezadD de la capa de aplicacin
la mayora de los sistemas UNIX, y
- La capa de la red: Esta capa se en-
carga de enrutar los datos del emi-
sor, para que lleguen por el camino
el UDP, utilizado por los programas
de usuario que no necesitan las co-
rr::o:IIJ M.","], ~
nexiones. 1 Extremo
ms corto posible al receptor. Exis- LI

ten dos protocolos comnmente usa- - La capa de sesin: Esta capa es una final de la
capa de
dos en las capas de red: el orienta- versin mejorada de la capa de base de
do a las conexiones, denominado
X.25, utilizado con frecuencia por las
transporte. Proporciona el control de
dilogos, con el fin de mantener un Figura 2.2. datos.
Un mensaje tpico, tal eomo aparece en la red.

:
128~=======================::=
ICES'
=========================~129 ICES'
2.3. El modelo cllente-servidor des distancias, el utilizar OSI implicara
TRANSFERENCIA DE MENSAJES EN EL MODELO CLIENTE
A primera vista, los protocolos con controles innecesarios y, por ende, des-
perdicio de tiempo de la CPU y un ~~sto SERVIDOR
capas, a lo largo de las lneas OSI: se
ven como una forma fina de organizar excesivo comparado con sus benefiCIOS.
Capas
un sistema distribuido. En efecto, un Por ello, se hace necesario es-
emisor establece una conexin; es de- tructurar el sistema operativo de una 7
cir una especie de entubamiento de bits forma diferente, dando origen as al 6 Solicitud/Respuesta
co~ el receptor y, entonces, empieza a modelo cliente servidor, ste tendr un
sistema operativo estructurado por gru- 5
bombear los bits que llegan sin error, en
orden, al receptor. Surge entonces la pos de procesos en coopera~in, 1I~",la 4
pregunta: qu podra estar mal en este dos servidores, que ofreceran serviCIOS Enlace de datos
a los usuarios, llamados clientes. Las 3
modelo?
mquinas de los clientes y servidores Fsica
A pesar de que el modelo OSI pare- 2
ejecutan, por lo general, el mismo
ce ser la forma ms eficiente para con- Figura 2.4.
microncleo y ambos se ejecutan como
trolar la comunicacin entre el emisor y
procesos del usuario.
el receptor, esto slo se puede afirmar
si es utilizado en redes de tipo WAN, ya Para evitar un gasto excesivo en los
Debido a esta estructura tan sencilla la mquina-destino? Cul de ellos ob-
que, por tratarse de redes en las q~e protocolos orientados a la conexin, ta-
se pueden reducir los servicios de co- tiene el mensaje? El ncleo no tiene for-
los terminales se encuentran distancia- les como OSI o TCP/IP, lo usual es que
municacin que presta el microncleo; ma de decidir. En consecuencia, un es-
el modelo cliente-servidor se base en un
dos en muchas ocasiones por kilme- por ejemplo, a dos llamadas al sistema,
protocolo solicitudlrespuest~, sencillo y quema que utilice las direcciones en la
tros, no importar tener que recurrir a una para el envo de mensajes y otra red para la identificacin de los proce-
sin conexin. El cliente envla Ull' men-
un modelo tan complicado como el OSI, para recibirlos. Estas llamadas al siste- sos indica que slo se puede ejecutar
saje al servidor, para pedir cierto servi-
que a pesar de demandar gran cantid~d ma se pueden pedir a travs de proce- un proceso en cada mquina. Aunque
cio, por ejemplo, la lectura de un bloque
de tiempo en la comunicacin, nos brin- dimientos de libreras, como SEND esta limitacin no es fatal, a veces es
de cierto archivo. El servidor hace el tra-
dar la certeza de contar con datos (DEST, &MPTR) Y RECEIVE (ADDR, & una seria restriccin, razn por la cual
bajo y regresa los datos solicitados o un
confiables, sin importar las diferencias MPTR). La primera enva el mensaje al surgen tres tipos de mtodos para la di-
cdigo de error, para indicar la razn por
que puedan existir, tanto en hardware que apunta MPTR, en un proceso que reccin de los procesos en un modelo
la cual un trabajo no se pudo llevar a
como en el sistema operativo entre el se identifica como DEST, y provoca que cliente-servidor. El primero integra el
cabo, como se muestra en la Figura 2.3.
emisor y el receptor, diferencias q,ue quien hace la llamada se bloquee hasta "machine-number" al cdigo del cliente;
La principal ventaja de dicho modelo es
podrn ser sorteadas fcilmente gracias cuando se enve el mensaje. La segun- es decir, se envan mensajes a los pro-
su sencillez, ya que el cliente enva un
a sus siete capas de control. da hace que quien hizo la llamada se cesos en lugar de envirselos a las m-
mensaje y obtiene una respuesta; por
bloquee hasta que reciba un mensaje.
Para las redes de tipo LAND no es su parte, como se ve en la Figura 2.4, la quinas. Aunque este mtodo elimina
Cuando llega un mensaje, ste se co-
aconsejable utilizar este modelo, ya que pila de capas del modelo es mucho ms toda la ambigedad acerca de quin es
pia en el "buffer" al que apunta MPTR y
por tratarse de comun.ic~cion~s.entre corta que la de OSI, contando nicamen- el verdadero receptor, presenta el pro-
quien hizo la llamada se desbloquea. El
terminales con caractenstlcas Similares, te con tres capas: la fsica, la de enlace blema de cmo identificar los procesos.
parmetroADDR determina la direccin
las cuales no estn separadas por gran- de datos y la de solicitud y respuesta. Un esquema comn consiste en utilizar
en la cual escucha el receptor.
nombres con dos partes, para especifi-
2.3.1. Direccin car tanto la mquina como el proceso.
TRANSFERENCIA DE MENSAJES EN EL MODELO CLIENTE SERVIDOR
Por ejemplo, el nmero 243.4 me indi-
Para que un cliente pueda enviar un
car que estoy refirindome a la mqui-
Solicitud mensaje a un servidor, debe conocer la
Cliente Servidor na 243 y al proceso 4, como se mues-
direccin de ste. Si slo existe un pro-
Respuesta tra en la Figura 2.5.
ceso en ejecucin en la mquina-desti-
no cuando se enva el mensaje, el n- El segundo mtodo ser dejar que
Ncleo Ncleo los procesos elijan sus direcciones al
cleo sabr qu hacer con el mensaje

I RED I recibido (drselo al nico proceso en


ejecucin). Sin embargo, qu ocurre si
azar entre un espacio de direcciones
grande y disperso, como lo es el de
Figura 2.3. existen varios procesos en ejecucin en enteros binarios de 64 bits. la probabi-

130~==========================
ICE; :==========================~131 ,ICESI
En RECEIVE, el proceso se suspen- general, los diseadores del sistema
DIRECCION de hasta cuando llega un mensaje, in- aunque en algunos cuantos sistemas s~
lidad de que dos procesos elijan el mis-
cluso, aunque tarde varias horas. En dispone de ambos y los usuarios pue
mo nmero es muy pequea y el mto-
ciertos sistemas el receptor puede es- den elegir su favorito. Sin embargo, la
do puede utilizarse en sistemas ms
pecificar de quines quiere recibir men- ventaja de desempeo que ofrecen las
grandes. Sin embargo, aqu tambin
sajes, en cuyo caso permanece blo- primitivas sin bloqueo se ve afectada por
existe un problema: Cmo sabe el n- queado hasta que llegue un mensaje del una seria desventaja: el emisor puede
cleo emisor a cul mquina enviar el emisor especificado. modificar el "buffer" de mensajes cuan-
mensaje? La respuesta es simple; el 1: Transmisin do se enve el mensaje; en caso de que
Una alternativa a las primitivas con
ncleo emisor transmite un paquete es- 2: Aqu estoy se modificara, se enviaran datos
bloqueo son las primitivas sin bloqueo o
pecial de localizacin, con la direccin traslapados. Para solucionar dicho pro-
3: Solicitud asncronas, como se muestra en la Fi
del proceso-destino, a toda la red; por gura 2.9. Si SENO no tiene bloqueo, re blema, podramos optar por copiar el
4: Respuesta
su parte, los ncleos verifican si la di- gresa de inmediato el control a quien mensaje a un "buffer" interno del ncleo
reccin en circulacin es la suya y en Figura 2.6. Direccin de procesos con hizo la llamada, antes de enviar el meno y, as, permitir al proceso continuar con
caso que lo sea, regresa un mensaje transmisin. saje. La ventaja de este esquema es que el envo del mensaje y, a la vez, dejar el
diciendo "aqu estoy", con su direccin el proceso del emisor puede continuar bloqueo.
en la red; es decir, el nmero de la m- su cmputo, en forma paralela con la Otra altemativa sera la primitiva sin
DIRECCION
quina. En ese momento el ncleo emi- transmisin del mensaje, en vez de te- bloqueo con interrupcin, en la cual, una

~=.
sor utiliza, entonces, esa direccin y la ner inactivo al CPU. vez se ha terminado de enviar el men-
captura para evitar el envo de otra trans- La eleccin entre las primitivas con saje, se interrumpe al emisor para avi-
misin la prxima vez que necesite al bloqueo o sin bloqueo la hacen, por lo sarle que ya puede utilizar el "buffer".
servidor, como se muestra en la Figura
2.6. Red
1: Bsqueda PRIMITIVAS DE BLOQUEO VS. NO BLOQUEO
El tercer mtodo, para el direc-
2: Respuesta a NS
cionamiento de procesos en un mode- Cliente en ejecucin Cliente en ejecucin
3: Solicitud
lo-cliente servidor, consiste en utilizar - - - - - - - 4 - ......f - - - - - - - - I..~
una mquina adicional, llamada servi- 4: Respuesta Sealamiento r--R-e-g-re-s-o-----
dor de nombres, que me servir para la . I Cliente bloqueado
Figura 2.7: Bsqueda de direccin por de I nuc eo del ncleo
asociacin, en cdigoASCII, de los nom- medio de un servidor de nombres.
bres de los servicios con las direccio- Proceso de Proceso
bloqueado liberado
nes de las mquinas, como se muestra
2.3.2. Primitivas de bloqueo
en la Figura 2.7; el servidor de nombres Envo del mensaje
vs. no bloqueo
le suministra al cliente el nmero de la
mquina donde se localiza, en ese mo- Las primitivas de transferencia de
Figura 2.8. Una primitiva senda con bloqueo.
mento, el servidor. Una vez obtenida la mensajes, descritas hasta el momento,
direccin, se puede enviar la solicitud reciben el nombre de primitivas de blo-
de manera directa. queo, a veces llamadas primitivas
sncronas. Cuando un proceso llama un PRIMITIVAS DE BLOQUEO VS. NO BLOQUEO
DIRECCION
SENO, especifica un destino y un "buffer"
dnde enviar ese destino. Mientras se Cliente en ejecucin
Servidor Cliente en ejecucin
enva el mensaje, el proceso del emisor Cliente
se bloquea. La instruccin que sigue a Sealamiento bloqueado Regreso
la llamada SENO se ejecuta cuando el
mensaje se enva en su totalidad, como
'C
Mensaje
...
Envo del mensaje
..
se muestra en la Figura 2.8. Oe manera copiado
anloga, una llamada a RECEIVE regre- al ncleo
1: Solicitud a 243.0 sa el control cuando realmente se reci- del "buffer"
2: Respuesta a 199.0 be un mensaje Y ste se coloca en el
"buffer" de mensajes a donde apunta el Figura 2.9. Una primitiva senda sin bloqueo.
Figura 2.5. Direccin mquina-proceso. parmetro.

:
132~=====================:::==
,,..~;;, =========================~133 ICES'
2.3.3. Primitivas almacenadas Se dispone de un nico "buffer" de men- r el proceso hacia los usuarios (clien- PRIMITIVAS CONAABLES VS. NO
en "buffer" va. sajes, al que apunta M, con el fin de cap- tes). El reconocimiento va de un ncleo CONFIABLES
no almacenadas turar el mensaje por llegar. Cuando el a otro; ni el cliente ni el servidor ven al-
1 ~
Las primitivas descritas hasta ahora mensaje llega el ncleo receptor, lo co- guna vez un reconocimiento, de la mis-
C~ E~~
2
son esencialmente primitivas no alma- pia al "buffer" y elimina el bloqueo del ma forma que la solicitud de un cliente
cenadas, Esto significa que una direc- proceso receptor, como se muestra en a un servidor es reconocida por el n- 3
Ncleo Ncleo
cin se refiere a un proceso especfico. la Figura 2.10. cleo del servidor; la respuesta del servi-
Una llamada RECEIVE (ADDR, &M) le
indica al ncleo de la mquina en dn-
de se ejecuta; adems, que el proceso
Un ejemplo de primitiva almacenada
es aqul en el cual los mensajes que
dor, de regreso al cliente, es reconocida
por el ncleo del cliente. As, una solici- I Red I
llegan al servidor son almacenados en tud de respuesta consta de cuatro men- 1. Solicitud (del cliente al servidor)
que hace la llamada escucha a la direc- sajes, como se muestra en la Figu-
un "buffer" llamado buzn. como se ilus- 2. Respuesta (del servidor al cliente)
cin ADDR y est preparada para reci- ra 2.12. 3. Reconocimiento (de ncleo a ncleo)
tra en la Figura 2.11.
bir el mensaje enviado a esa direccin.
Figura 2.13. La respuesta se utifiza como
PRIMITIVAS CONFIABLES VS. NO reconocimiento de la solicitud.
PRIMITIVAS ALMACENADAS VS. NO PRIMITIVAS ALMACENADAS VS. NO
CONAABLES
ALMACENADAS ALMACENADAS
1 ~
El problema con el modelo bsico
La direccin cliente-servidor es que, desde el punto
~i~~ E~
3
se refiere
de vista conceptual, la comunicacin
a un buzn 4 entre procesos se maneja como E/S, ya
Ncleo Ncleo
z que dicha comunicacin utiliza uno de

0 CD I Red I los modelos ms sencillos de protoco-


los (solicitud y respuesta). Ahora, cuan-
do una coleccin de procesos, por ejem-
Ncleo 1. Solicitud (del cliente al servidor)
2. Reconocimiento (de ncleo a ncleo) plo servidores duplicados de archivo,

I I 3. Respuesta del servidor al cliente


4. Reconocimiento (de ncleo a ncleo)
tiene que comunicarse con otra como
grupo, se necesita algo ms. Los siste-
mas de tipo ISIS proporcionan una so-
Figura 2.12. Mensajes reconocidos en for- lucin a este problema: la comunicacin
Figura 2.10. Transferencia de mensajes Figura 2.11. Transferencia de mensajes ma individual.
con almacenamiento en buffer. en grupo. ISIS ofrece una gama de pri-
sin almacenamiento en buffer.
mitivas. de las cuales la ms importan-
te es CSCAST. CSCAST ofrece una se-
El tercer mtodo aprovecha el hecho
2.3.4. Primitivas confiables El primero consiste en volver a defi- mntica de comunicacin dbil con base
nir la semntica del SEND para hacerlo que la comunicacin cliente-servidor se
vs. no confiables en la causalidad y se implanta median-
no confiable. El sistema no da garanta estructura como una solicitud del clien-
Hemos supuesto de una manera im- te la inclusin de vectores de nmeros
alguna acerca de la entrega de los men- te al servidor, seguida de una respuesta
plcita que cuando un cliente enva un secuenciales en cada mensaje, para
sajes. La implantacin de una comuni- del servidor al cliente. En este mtodo, permitir al receptor que revise si el men-
mensaje, el servidor lo recibir. Los el cliente se bloquea despus de enviar
cacin confiable se deja enteramente en saje se debe entregar de manera inme-
mensajes se pueden perder, lo cual
manos de los usuarios. La oficina de co- un mensaje. El ncleo del servidor no diata o retrasarse hasta que lleguen al-
afecta la semntica del modelo de trans-
rreos funciona de esta manera. Cuan- enva de regreso un reconocimiento sino gunos mensajes anteriores; stos no
ferencia de mensajes. Cuando se utili-
do usted deposita una carta en un bu- que la misma respuesta funciona como sern tratados por ser casos particula-
zan las primitivas por bloqueo y el cliente
zn, la oficina de correos hace lo mejor tal. As, el emisor permanece bloquea- res y ms complicados.
enva un mensaje, se le suspende has-
por entregarla, pero no promete nada. do hasta que regresa la respuesta. Si De esta forma vemos que, gracias al
ta que el mensaje ha sido enviado. Sin
embargo, cuando vuelve a iniciar, no El segundo mtodo exige que el n- tarda demasiado, el ncleo emisor pue- modelo cliente-servidor, se puede en-
existe garanta alguna de que el men- cleo de la mquina receptora enve un de volver a enviar la solicitud, para pro- tender un poco mejor cmo se desarro-
saje ha sido entregado. El mensaje po- reconocimiento al ncleo de la mqui- tegerse contra la posibilidad de una pr- llan las comunicaciones entre procesos
dra haberse perdido. Existen tres dis- na emisora. Slo cuando se reciba este dida elel mensaje. Este mtodo se mues- en una red de terminales inteligentes y.
tintos enfoques de este problema. reconocimiento el ncleo emisor Iibera- tra en la Figura 2.13. adems, los diferentes aspectos que se

134~====================:::===
ICESI :=======================:=~135
/CES/
deberan tener en cuenta si se quisiera 4. No existe un reloj comn o alguna frecuencia de un oscilador de cristal es pus el evento b. Esta relacin se pue
desarrollar un sistema de estas carac- otra fuente precisa del tiempo global. muy estable, es imposible garantizar que de observar de manera directa en dos
tersticas; entre ellos aspectos de dise- Los primeros tres puntos indican que los cristales de computadoras distintas situaciones:
o, tales como si se utilizaran primitivas es inaceptable reunir toda la informacin oscilen con la misma frecuencia. En la 1. Si a y b son eventos en el mismo
almacenadas o no almacenadas, con- en un solo lugar para su procesamien- prctica, cuando un sistema tiene n proceso y a ocurre antes de b, en-
fiables o no confiables, con bloqueo o to; adems, el hecho que slo exista un computadores, los n cristales correspon- tonces a ~ b es verdadero.
sin bloqueo, etc. solo punto de fallo, como ste, hace que dientes oscilarn a tasas un poco dis-
tintas, lo que provoca una prdida de 2. Si a es el evento del envo de un
el sistema no sea confiable. La idea es mensaje por un proceso y b es el
3. SINCRONIZACION EN SISTEMAS que un sistema distribuido debera ser sincrona en los relojes (de software) y
DISTRIBUIDOS evento de la recepcin del mensaje
ms confiable que las mquinas indivi- que, al leerlos, tengan valores distintos.
por otro proceso, entonces a ~ b
Un aspecto muy importante es la for- duales. Si alguna de ellas falla, el resto La diferencia entre los valores del tiem-
po se llama distorsin del reloj. Como tambin es verdadero. Un mensaje
ma en que los procesos cooperan y se puede continuar su funcionamiento.
consecuencia de esta distorsin, po- no se puede recibir antes de ser en-
sincronizan entre s. Por ejemplo, la for- El ltimo punto de la lista tambin es
dran fallar los programas que esperan viado o al mismo tiempo en que se
ma de implantar las regiones crticas o crucial. En un sistema centralizado, el
el tiempo correcto, asociado a un archi- enva, puesto que tarda en llegar una
asignar los recursos en un sistema dis- tiempo no tiene ambigedades. Cuan-
vo, objeto, proceso o mensaje; esto es cantidad finita de tiempo.
tribuido. do un proceso desea conocer la hora,
En los sistemas que slo cuentan con independiente del sitio donde haya sido Si dos eventos x y y estn en proce-
llama al sistema y el ncleo se lo dice.
una CPU, los problemas relativos a las generado (es decir, el reloj utilizado). sos diferentes que no intercambian men-
En un sistema distribuido no es trivial
regiones crticas, la exclusin mutua y En un artculo clsico, Lamport (1978) sajes, entonces x ~ y no es verdadero,
poner de acuerdo todas las mquinas
la sincronizacin se resuelven, en ge- demostr que la sincronizacin de relo pero tampoco lo es y ~ x. Se dice que
en la hora.
neral, mediante mtodos tales como los jes es posible y present un algoritmo estos eventos son concurrentes, lo que
semforos y 105 monitores. Estos mto- 3.1 .1. Relojes lgicos para lograr esto. Lamport seal que la significa que nada se puede decir (o se
dos no son adecuados para su uso en sincronizacin de relojes no tiene que necesita decir) acerca del momento en
Casi todas las computadoras tienen
los sistemas distribuidos, puesto que ser absoluta. Si dos procesos no inte- el que ocurren o cul de ellos es el pri-
un circuito para el registro del tiempo
siempre se basan (de manera implcita) mero.
denominado cronmetro, el cual es, por ractan, no es necesario que sus relo-
en la existencia de la memoria compar- lo general, un cristal de cuarzo trabaja- jes estn sincronizados, puesto que la Lo que necesitamos es una forma de
tida. do con precisin. Cuando se mantiene carencia de sincronizacin no ser ob- medir el tiempo, tal que a cada evento a
sujeto a tensin, un cristal de cuarzo servable y, por tanto, no podra provo- le podamos asociar un valor del tiempo
3.1. Sincronizacin de relojes C (a) en el que todos los procesos es-
oscila con una frecuencia bien definida, car problemas. Adems, seal que lo
La sincronizacin es ms compleja que depende del tipo de cristal, la for- que importa, por lo general, no es que tn de acuerdo. El tiempo del reloj C
en los sistemas distribuidos que en los ma en que se corte y la magnitud de la todos los procesos estn de acuerdo de siempre debe ir hacia adelante (crecien-
centralizados, puesto que los primeros tensin. A cada cristal se le asocian dos manera exacta en la hora sino que co- te) y nunca hacia atrs (decreciente). Se
deben utilizar algoritmos distribuidos. registros, un contador y un registro man- incidan en el orden en que ocurren los pueden hacer correcciones al tiempo, al
Por lo general no es posible (o reco- tenedor (holding register). Cada oscila- eventos. sumar un valor positivo al reloj, pero
mendable) reunir toda la informacin cin del cristal decrementa en uno al Para la mayora de los fines, basta nunca se le debe restar un valor positi-
relativa al sistema en un solo lugar y contador. Cuando el contador toma el que todas las mquinas coincidan en la vo.
despus dejar que cierto proceso la exa- valor cero, se genera una interrupcin y misma hora. Para una cierta clase de En la Figura 3.1 (a) vemos un ejem-
mine y tome una decisin, como se hace el contador se vuelve a cargar median- algoritmos, lo que importa es la consis- plo en donde existen tres procesos dife-
en el caso centralizado. te el registro mantenedor. De esta for- tencia interna de los relojes, no su cer- rentes que se ejecutan en distintas m-
'f
En general los algoritmos distribuidos ma es posible programar un cronmetro, cana particular al tiempo real. Para es- quinas, cada una con su propio reloj y
tienen las siguientes propiedades: de modo que genere una interrupcin ! .
tos algoritmos se conviene en hablar de velocidad. Cada reloj corre a una razn
1. La informacin relevante se distribu- con la frecuencia que se desee. Cada los relojes como relojes lgicos. Para constante, slo que las razones son dis-
ye entre varias mquinas. interrupcin recibe el nombre de una sincronizar los relojes lgicos, Lamport tintas, debido a las diferencias en los
marca de reloj. defini una relacin llamada ocurre an- cristales. Al tiempo 6, el proceso O en-
2. Los procesos toman las decisiones
slo con base en la informacin dis- Cuando se trabaja con varias mqui- tes de (happens-before). La expresin va el mensaje A al proceso 1; el reloj
ponible en forma local. nas, cada una con su propio reloj, la si- a ~ b se lee: "a ocurre antes de b" e del proceso 1 lee 16 cuando el mensaje
tuacin es muy distinta de la que se pre- indica que todos los procesos coinciden llega. Si el mensaje acarrea el tiempo
3. Debe evitarse un nico punto de.ta -
senta con un solo sistema. Aunque la en que primero ocurre el evento a y des- de inicio, entonces el proceso 1 concluir
110 en el sistema.

:
13~~========================
ICESI
=========================~137 ICESI
que tard 10 marcas de reloj en hacer En la solucin propuesta por Lamport, 3.1.2. Relojes f(slcos y el tiempo solar creciera hasta 800
el viaje. El mensaje B, de 1 a 2, tarde 16 para la asignacin de tiempos a los Cuando existe la restriccin adicio- milisegundos constantes. Esta correc-
marcas que, al igual que A, es un valor eventos, Figura 3.1. (b), cada mensaje nal de que los relojes no slo deben ser cin da lugar a un sistema de tiempo
plausible. acarrea el tiempo de envo de acuerdo iguales sino que adems no deben des- basado en los segundos IAI, pero que
con el reloj del emisor. Cuando un men- viarse del tiempo real ms all de cierta permanece en fase con el movimiento
El problema est en los mensajes C
saje llega y el reloj del receptor muestra magnitud, los relojes reciben el nombre aparente del sol; se le llama tiempo
y D, puesto que van de un valor mayor
un valor anterior al tiempo en que se de relojes fsicos. Para estos sistemas coordenado universal (UTC).
a uno menor; estos valores sonimposi-
envi el mensaje, rpidamente el recep- se necesitan relojes fsicos extemos. Por Para proporcionar UTC a las perso-
bies y sta es la situacin que hay que tor adelanta su reloj para que tenga una razones de eficiencia y redundancia, por nas que necesitan un tiempo preciso, el
evitar. unidad ms que la del tiempo de envo. lo general, son recomendables varios Instituto Nacional del Tiempo Estndar
relojes fsicos, lo cual implica dos pro- (NIST) opera una estacin de radio de
RELOJES LOGICOS blemas: onda corta, con las siglas WWV, desde
1. Cmo sincronizar los relojes con el Fort Collins, Colorado. WWV transmite
O 2 O 2
mundo real? un pulso corto al inicio de cada segun-
.do UTC.
O
-------- ... _-----
O
------_ ... ----_...- -------- O ._..o_--_.. -.._-_ .._- --_O.. _.._ O
-------- 2. Cmo sincronizar los relojes entre
Varios satlites terrestres tambin
6 8 10 6 8 10 sr?
. . ------- _e. __
12 16
------- -------- .. --- -------- -------- -... _----- ofrecen un servicio UTC, tal como el
....... _...... - ------- ._----- --_20
... ----
12 -----.........16 _-- ..- ....-.._-- --20
.. __ ...... Con la invencin del reloj atmico, en
1948, fue posible medir el tiempo de
Satlite de Ambiente Operacional
18 24 30 18 24 30
... ----_ -- - ----- ...- ...... -----_ ..... ---...._- ------...- oo-
Geoestacionario (GEOS).
24 32 40 manera mucho ms exacta y en forma
24 32 40
..------- ------ -------- ------- -------- _ . _ .. _ - - oo ....._ . . . ._ .......... __ .... _ _. . _ _ . . _ _

independiente de todo el ir y venir de la 3.1.3. Algoritmos parar la


30
36
40
-------- ------- ------...... ------- --------
48 60
50
--~---
36
------- --~-Q-_. -------- --~Q---
~_~ __ _ ~SL_
Tierra, al contar las transiciones del to- Sincronizacin de Relojes
..._------ ------- -------- ... - ........ -------
mo de cesio 133. Los fsicos retomaron Si una mquina tiene un receptor
42 56
_..._----- ------- ----_... _- ----_.... --------
70 __1?___ _ ~_L. . '?Q _ de los astrnomos la tarea de medir el WWV, entonces el objetivo es hacer que
tiempo y definieron el segundo como el todas las mquinas se sincronicen con
--_48... __ ...- -- 64 80
.. oo ... _ _ .. - .... _

--~--- -- .- --~-~--- -------- --Q--- tiempo que tarda el tomo cesio 133 ella. Si ninguna mquina tiene recepto-
54 72 90 70 77 ........ 90
...._---- -_Oo_---- _... _---- ... _------ . . . . -_.. . --_...._ ~------ _.._-oo--- para hacer exactamente 9.192.631.770 res WWV, entonces cada mquina lleva
60 80 100 76 85 100 transiciones. el registro de su propio tiempo y el obje-

Figura 3.1 (a). Tres procesos, cada uno


con su propio reloj. Los relojes corren a
Figura 3.1 (b). El algoritmo de Lamport
. corrige los errores.
Actualmente cerca de 50 laboratorios
en el mundo tienen relojes de cesio 133.
tivo es mantener el tiempo de todas las
mquinas, tan cercano como sea posi-
ble.
En forma peridica, cada laboratorio le
diferentes velocidades.
indica a la Oficina Intemacional de la
.El algoritmo de Berkeley
Hora en Pars (BIH) el nmero de mar-
Este algoritmo satisface nuestras ocurren eventos en los procesos 1 y 2, cas de su reloj. La oficina hace un pro- En este caso, el servidor de tiempo
necesidades para el tiempo global, con ambos en el tiempo 40, entonces el pri- medio de estos nmeros para producir (en realidad, un demonio para el tiem-
una pequea adicin, que entre cuales- mero se convierte en 40.1 y el segundo el tiempo atmico inlemacional (TAl), po) est activo y realiza un muestreo
quiera dos eventos, el reloj debe mar- en 40.2. que aunque es muy estable y est a dis- peridico de todas las mquinas para
car al menos una vez. Si un proceso posicin de todos los que quieran com- preguntarles el tiempo. Con base en las
Por medio de este mtodo tenemos respuestas, calcula un tiempo promedio
enva o recibe dos mensajes en serie ahora una forma de asignar un tiempo a prarse un reloj de cesio, existe un serio
muy rpidamente, debe avanzar su re- problema con l; 860400 segundos TAl, y les indica a todas las dems mqui-
todos los eventos en un sistema distri- nas que avancen su reloj a la nueva hora
loj en (al menos) una marca entre ellos. a un tiempo cerca de tres milisegundos
buido, con las siguientes condiciones: o que disminuyan la velocidad del mis-
En ciertas situaciones existe un re- menor que el de un da solar medio, lo
1. Si a ocurre antes de b en el mismo que significara que, con el paso de los
mo, hasta lograr cierta reduccin espe-
quisito adiCional: dos eventos no deben proceso, C (a) < C(b). cfica. Este mtodo es adecuado para
ocurrir exactamente al mismo tiempo. aos, el medio da ocurrirra cada vez
un sistema donde no exista un receptor
2. Si a y b son el envo y recepcin de ms temprano.
Para lograr esto podemos asociar el de WWV. La hora del demonio, para el
un mensaje, C (a) < C(b). La BIH resolvi el problema median-
nmero del proceso en que ocurre el tiempo, debe ser establecida en forma
evento y el extremo inferior del tiempo, . 3. Para todos los eventos a y b, te la introduccin de segundos de salto, manual por el operador, de manera pe-
separados por un punto decimal. As, si C(a) ~C(b). siempre que la discrepancia entre elTAI ridica.

:
138~=========================
ICES.
=====================:=:==~139 ICESI
En la Figura 3.2 (a), a las 3:00, el como la del demonio. Con estos nme- 3.2.1. Un algoritmo centralizado ceso 2, que espera una respuesta. Otra
demonio para el tiempo indica, a las ros el demonio calcula el tiempo pro-
La forma ms directa de lograr la ex- altemativa consiste en enviar una res-
dems mquinas, su hora y les pregun- medio y le dice a cada mquina cmo
clusin mutua, en un sistema distribui- puesta que diga permiso denegado".
ta las suyas. En (b), las mquinas res- ajustar su reloj (e).
do, es simular la forma en que se lleva a De cualquier manera, forma en una cola
ponden, con la diferencia de sus horas cabo en un sistema con un nico la solicitud de 2, por el momento.
EL ALGORITMO DE BERKELEY procesador. Se elige un proceso como Cuando el proceso 1 sale de la re-
el coordinador; siempre que un proceso gin crtica, enva un mensaje al coor-
DT
desea entrar en una regin crtica enva dinador, para liberar su acceso exclusi-
3:05
un mensaje de solicitud al coordinador, vo, Figura 3.3 (e). El coordinador ex-
donde se indica la regin crtica en la trae el primer elemento de la cola de
que desea entrar y pide permiso. S nin- solicitudes diferidas y enva a ese pro-
gn otro proceso est por el momento ceso un mensaje que otorga el permi-
en esa regin crtica, el coordinador en- so. Si el proceso estaba bloqueado (es
va una respuesta para el permiso. Fi- decir, ste es el primer mensaje que se
gura 3.3 (a). le enva), elimina el bloqueo y entra en
Cuando llega la respuesta, el proce- la regin crtica.
3:25 3:05
so solicitante entra en la regin crtica. Es fcil ver que el algoritmo garanti-
Supongamos ahora que otro proceso, za la exclusin mutua: el coordinador
Figura 3.2 (a). El demonio (b). Las mquinas contes- (e) El demonio para el tiem- 2, Figura 3.3 (b), pide permiso para en- slo deja que un proceso est en cada
para el tiempo pregunta a tan. po les dice a todas la for-
trar en Ja misma regin crtica. El coor- regin crtica a la vez. Tambin es jus-
todas las otras mquinas ma de ajustar sus relojes.
dinador sabe que un proceso distinto ya to, puesto que las solicitudes se aprue-
por el valor de sus relojes.
se encuentra en esta regin, por lo que ban en el orden en que se reciben. Nin-
no puede otorgar el permiso. El mtodo gn proceso espera por siempre. Este
sencillo consiste en promediar los valo- exacto utilizado para negar el permiso esquema tambin es fcil de implantar
Algoritmos con promedio
res de todas las dems mquinas. depende de la mquina. En la Figura 3.3 y slo requiere tres mensajes, por cada
El mtodo anterior es altamente cen- (b) el coordinador s610 se abstiene de
Una ligera variacin de este tema uso de una regin crtica (solicitud, otor-
tralizado. Una clase de algoritmos de re- responder, con lo cual se bloquea el pro-
consiste en descartar primero tos mva- gamiento, liberacin).
loj descentralizada trabaja ~ara d~vidi~ el
lores ms grandes y los m valores ms
tiempo en intervalos de resl~cromzac~~
pequeos y promediar el resto. El he-
de longitud fija. El j-simo Intervalo 101-
cho de descartar los valores extremos
cia en 10 + iRy va hasta 10 + (i + 1) R EXCLUSION MUTUA: Algoritmo centralizado
se puede considerar como autodefe~sa
donde 10 es un momento ya acordado
contra m relojes fallidos que envlan
en el pasado y R es un parmetro del
mensajes sin sentido.
sistema. Al inicio de cada intervalo, cada
mquina transmite el tiempo actual, se- 3.2. Exclusin mutua
gn su reloj. Puesto que los relojes d~ Los sistemas con varios procesos se
las diversas mquinas no corren preci- programan ms fcilmente mediante las
samente a la misma velocidad, estas regiones crticas. Cuando un proceso
transmisiones no ocurrirn exactamen- debe leer o actualizar ciertas estructu-
te en forma simultnea. ras de datos compartidas, primero en-
Despus de que una mquina trans- tra en una regin crtica para lograr la
mite su hora, inicializa un cronmetro lo- exclusin mutua y garantizar que nin- Figura 3.3 (a). El proceso (b). El proceso 2 pide, en- (e). Cuando el proceso 1
cal, para reunir las dems transmisiones gn otro proceso utilizar las estructu- 1 pide permiso al coordi- tonces, permiso para en- sale de la regin crrtica, se
ras de datos al mismo tiempo. Ana- nador para entrar en una trar en la misma regin crr- lo dice al coordinador, el cual
que lleguen en cierto intervalo S. cu~n
lizaremos algunos ejemplos de implan- regin crrtica. El permiso tica. responde, entonces, a 2.
do llegan todas las transmisiones, se eJe-
tacin de las regiones crticas y exclu- es concedido.
cuta un algoritmo para calcular una nue-
sin mutua en los sistemas distribuidos.
va hora para ellos. El algoritmo ms

140~=========================
ICE" :
==========================~141 ICESI
El mtodo centralizado tambin tie- nor, el receptor enva de regreso un EXCLUSION MUTUA: Algorlbno distribuido
ne limitaciones. El coordinador es un mensaje OK Si su propio mensaje 8
nico punto de fallo, por lo que, si se
descompone, todo el sistema se puede
tiene una marca menor, el receptor
forma la solicitud en una cola y no
80 o
~K
venir abajo. Si los procesos se bloquean, enva nada.
por lo general despus de hacer una

/~
Despus de enviar las solicitudes que
solicitud, no pueden distinguir entre un piden permiso para entrar en una regin
coordinador muerto" y un "permiso ne-
gado", puesto que en ambos casos no
reciben una respuesta. Adems, en un
crtica, un proceso espera hasta que al-
guien ms obtenga el permiso. Tan pron-
to llegan todos los permisos, pueden 0- @.:
o 0
Entra a la regi6n
crItica
sistema de gran tamao, un nico coor- entrar en la regin crtica. Cuando sale 12
dinador puede convertirse en un cuello de ella, enva mensajes OK a todos los
Figura 3.4(8). Dos proce- (b). El proceso O tiene una (e). Cuando se termina el
de botella para el desempeo. procesos en su cola y elimina a todos
sos desean entrar en la marca de tiempo menor, . proceso 0, enva un OK,
los elementos de la cola. por lo que 2 puede ahora
3.2.2. Un algoritmo distribuido misma regin crtica en el por lo que gana.
En el ejemplo de la Figura 3.4 (a) se mismo momento. entrar en la regin crtica.
Ricart yAgrawala (1981 ) hicieron ms
muestra qu sucede si dos procesos
eficaz el artculo de Lamport (1978), re-
intentan entrar en la misma regin crti-
lativo a la sincronizacin de los relo- 3.2.3. Un algoritmo de anillo el anillo. Se transfiere del proceso k al
ca de manera simultnea. El proceso O
'-',~s, que fue el primer algoritmo distribui- proceso k + 1 en mensajes puntuales.
enva, a todos, una solicitud con la mar- de fichas (Token Rlng)
do. ca de tiempo 8, mientras que al mismo Cuando un proceso obtiene la ficha de
Este es un mtodo completamente
El algoritmo de Ricart y Agrawala re- tiempo el proceso 2 enva, a todos, una su vecino, verifica si intenta entrar en una
quiere la existencia de un orden total de distinto para lograr la exclusin mutua
solicitud con la marca de tiempo 12. El regin crtica. En ese caso, el proceso
todos los eventos en el sistema; debe en un sistema distribuido. Se tiene por
proceso 1 no se interesa en entrar en la entra en la regin, hace todo el trabajo
ser claro cul de ellos ocurri primero, regin crtica, por lo que enva OK a ejemplo una red basada en un bus, Fi-
necesario y sale de la regin. Despus
Cuando un proceso desea entrar en ambos emisores. Los procesos O y 2 ven gura 3.5 (a). En software se construye
de salir, pasa la ficha a lo largo del ani-
una regin crtica, construye un mensa- el conflicto y comparan las marcas. El un anillo lgico y a cada proceso se le
llo. No se permite entrar en una segun-
je con el nombre de sta, su nmero de proceso 2 pierde y enva un OK a O. El asigna una posicin en el anillo, Figura
da regin crtica con la misma ficha.
proceso y la hora actual. Entonces, en- proceso O entra en la regin crtica, Fi- 3.5 (b). Las posiciones en el anillo se
va el mensaje a todos los dems pro- gura 3.4 (b). Cuando termina, retira la pueden asignar en orden numrico de Si un proceso recibe la ficha de su
cesos y, de manera conceptual, a l mis- solicitud de 2 de la cola y enva un OK a las direcciones de la red o mediante al- vecino y no est interesado en entrar en
mo. 2 y ste entra en la regin crtica, Figu- gn otro medio. Lo importante es que una regin crtica, slo la vuelve a pa-
Cuando un proceso enva un men- ra 3.4 (c). cada proceso sepa quin es el siguien- sar. En consecuencia, cuando ninguno
saje de solicitud de otro proceso, la ac- Como en el caso del algoritmo cen- te en la fila despus de l. de los procesos desea entrar en una re-
cin que realice depende de su estado tralizado, la exclusin mutua queda ga- gin crtica, las fichas slo circulan a gran
Al iniciar el anillo, se le da al proceso
con respecto de la regin crtica nom- rantizada, sin bloqueo ni inanicin. El velocidad en el anillo.
O (cero) una ficha, la cual circula en todo
brada en el mensaje. Hay que distinguir nico punto de fallo es reemplazado por
tres casos: n puntos de fallo. Si cualquier proceso EXCLUSION MUTUA: Anillo de fichas (Token Ring)
1. Si el receptor no est en la regin falla, no podr responder a las solicitu-
crtica y no desea entrar en ella, en- des. Este silencio ser interpretado (in- Figura 3.5
va de regreso un mensaje OK al correctamente) como una negacin del (a) Un grupo
emisor. permiso, con lo que se bloquearn los no ordenado
siguientes intentos de los dems proce- de procesos
2. Si el receptor ya est en la regin sos para entrar en todas las regiones en una red. Red
crtica, no responde sino que forma crticas. El poseedor del
la solicitud en una cola. elemento puede
Es posible mejorar un poco este
3. Si el receptor desea entrar en la re- algoritmo. Por ejemplo, la obtencin del entrar en la regin
gin crtica pero no lo ha logrado to- permiso de todos para entrar en una crtica o transferir
dava, compara la marca de tiempo regin crtica es realmente redundante. el elemento.
en el mensaje recibido con la marca Todo lo que se necesita es un mtodo
contenida en el mensaje que envi (b). Un anillo l-
para evitar que dos procesos entren en
cada uno. La menor de las marcas gico construido
la misma regin crtica al mismo tiem-
gana. Si el mensaje recibido es me- en software.
I po.

::::=======================:-:
I

142-r=====================::::=
i
ICES'
!III ICESI 143
li
Tambin este algoritmo tiene proble- 3.3.1. El algoritmo del granduln
mas. Si la ficha llega a perderse, debe gura 3.6 (b); el proceso 4 sabe que en gura 3.6 (d) el proceso 6 indica a 5 que
ser regenerada. De hecho es difcil de-
Diseado por Garca-Molina (1982). este momento ha terminado su trabajo. toma~ el control. Cuando est listo para
tectar su prdida, puesto que la canti-
Cuando un proceso observa que el coor- En la Figura 3.6 (c), tanto 5 como 6 rea a~umlr el control, el proceso 6 lo anun-
dinador ya no responde a las solicitu- lizan elecciones enviando mensajes a cla, para lo cual enva mensajes coordi-
dad de tiempo entre las apariciones su- des, inicia una eleccin. Un proceso P procesos mayores que ellos. En la Fi- nadara todos los procesos en ejecucin.
cesivas de la ficha en la red no est aco- realiza una eleccin de la siguiente ma-
tada. El hecho que la ficha no se haya nera: ALGORITMOS DE ELECCION: Algoritmo del granduln
observado durante una hora no signifi-
1. P enva un mensaje eleccin a los
ca su prdida; tal vez alguien la est uti-
lizando.
dems procesos, con un nmero
. mayor. 00 00
~ "-
B_6n-0 ~OK-0
El algoritmo tambin tiene problemas
2. Si nadie responde, P gana la elec
si falla un proceso. Si pedimos un reco'
cin y se convierte en el coordina-
nocimiento a cada proceso que reciba
dor. Eleccin
la ficha, entonces se detectar un pro-
r::~ 0) ~6

o
3. Si uno de los procesos, con un n-
ceso muerto si su vecino intenta darle
~0 OK
V
.n"~~~':7,'~ .:..0
la ficha y fracasa en el intento. En ese mero mayor, responde, toma el con- 0'ecc;n
momento el proceso muerto se puede trol. El trabajo de P termina.
eliminar del grupo y el poseedor de la
ficha puede enviar sta, por encima de
la cabeza del proceso muerto, al siguien-
En cualquier momento un proceso
puede recibir un mensaje eleccin de
uno de sus compaeros, con un nme-
0) 0)
te miembro, o al siguiente despus de ro menor. Cuando esto sucede, el ra- F~gura 3.6 (a). El proceso 4 hace una elec- (b). El proceso 5 y 6 responde e indica a 4
cin. que se detenga.
ste, en caso necesario. ceptor enva de regreso un mensaje DK

3.3. Algoritmos de eleccin


Muchos de los algoritmos distribuidoS
al eniisor para indicar que est vivo y
que tomar el control. El receptor reali-
za entonces una eleccin, a menos que 08
necesitan que un proceso acte como
coordinador, iniciador, secuenciador o
que desempee, en cierta forma, algn
ya est realizando alguna. En cierto
momento, todos los procesos se rinden,
menos uno, el cual se convierte en el
8
papel especial. Si todos los procesos nuevo coordinador. Anuncia su victoria f:\ Eleccin Eleccin

\!!.-J~
son idnticos, no existe forma de elegir al enviar un mensaje a todos los proce-
uno de ellos como especial. En conse- sos para indicarles que, a partir de ese
./
cuencia, supondremos que cada proce-
so tiene un nmero nico; por ejemplo,
su direccin en la red. En general los
momento, es el nuevo coordinador.
Si un proceso inactivo se activa, rea-
liza una eleccin. Si ocurre que es el
X 0
Eleccin
(e). Ahora 5 y 6 hacen una eleccin.

algoritmos de eleccin intentan localizar

08
proceso en ejecucin, con el nmero
el proceso con el mximo nmero del mximo, ganar la eleccin y tomar
proceso y designarlo como coordinador. para s el trabajo del coordinador. As,
Adems, tambin supondremos que
cada proceso sabe el nmero del pro-
ceso de todos los dems; lo que s des-
siempre gana el tipo ms grande; de ah
el nombre.
En la Figura 3.6 vemos el funciona-
8
conoce es si los procesos estn activos miento de este algoritmo. El grupo cons
o inactivos. El objetivo de un algoritmo
de eleccin es garantizar que al iniciar
ta de ocho procesos, numerados de O
a17. El proceso 7 era el coordinador pero
0)
una eleccin, sta concluya con el acaba de fallar. El proceso 4 lo nota y
acuerdo de todos los procesos con res-
pecto a la identidad del nuevo coordina-
dor.
enva mensajes eleccin a los procesos
mayores que el 5, 6 Y 7, Figura 3.6 (a).
Los procesos 5 Y 6 responden OK Fi
08
(d). El proceso 6 indica a 5 que se detenga. (e). El proceso 6 gana y se lo informa a todos.

144~=====================::::=
ICESI :::======:::==:==:::==:==::~
ICESI 145
!!I
11. propio nmero de proceso. ~n este pun: 3.4. Bloqueos en sistemas Deteccin distribuida de bloqueos
,! 3.3.2. Un algoritmo de anillo
to el mensaje escrito cambia a COOrdl- distribuidos
,1 Suponemos que los procesos tienen Un algoritmo tpico es el algoritmo de
nadory circula de nuevo, esta vez para Son ms difciles de evitar, prevenir Chandy-Misra-Haas. Este permite que
1 ' un orden, fsico o lgico, de modo que
informar a todos los dems quin es el e incluso detectar, adems de ser ms
1 cada proceso conoce a su sucesor. los procesos soliciten varios recursos
coordinador (el miembro de la lista con difciles de curar cuando se les sigue la
Cuando algn proceso observa que el (por ejemplo, cerraduras) al mismo tiem-
el nmero mximo) y quines son los pista, puesto que toda la informacin
coordinador no funciona, construye un po, en vez de uno cada vez. Al permitir
miembros del nuevo anillo. Una vez ha relevante est, dispersa en muchas m-
mensaje eleccin con su propio nme- las solicitudes simultneas de varios pro-
circulado, el mensaje se elimina y todos quinas.
ro de proceso y enva el mensaje ~ su se ponen a trabajar. En la Figura 3.7 cesos, la fase de crecimiento de una
sucesor. Si ste est inactivo, el emisor Existen cuatro estrategias usuales transaccin se puede realizar mucho
vemos qu ocurre si dos procesos, 2 y
pasa sobre el sucesor y va ha~ia ~I si- para el manejo de los bloqueos: ms rpido. La consecuencia de este
5, descubren simultneamente que ha
guiente nmero del anillo o al sigUiente fallado el coordinador, proceso 7. Cada 1. El algoritmo del avestruz. (ignorar el cambio al modelo es que un proceso
de ste hasta localizar un proceso en uno construye un mensaje eleccin y problema). puede esperar ahora a dos o ms re-
ejecuci6n. En cada paso el emisor a.a- comienza a circularlo. En cierto momen- 2. Deteccin (permitir que ocurran los cursos en forma simultnea.
de su propio nmero de proceso a la lis- to ambos mensajes habrn dado la vuel- bloqueos, detectarlos e intentar re- El algoritmo Chandy-Misra-Haas se
ta en el mensaje. ta y ambos se convertirn en mensajes cuperarse de ellos). utiliza cuando un proceso debe esperar
En cierto momento el mensaje regre- coordinador, con los mismos miembros 3. Prevencin (hacer que los bloqueos cierto recurso.
sa a los procesos que lo iniciaron. Ese y en el mismo orden. Cuando han dad~ sean imposibles desde el punto de
una vuelta completa, ambos sern eh- Un algoritmo alternativo consiste en
proceso reconoce este evento cuando vista estructural).
minados. que cada proceso aada su identidad al
recibe un mensaje de entrada con su 4. Evitarlos (evtar los bloqueos me final del mensaje de exploracin, de
diante la asignacin cuidadosa de modo que cuando regrese al emisor ini-
ALGORITMOS DE ELECCION: Algoritmo de anillo los recursos).
cial se enliste todo el ciclo. El emisor
Las cuatro estrategias son aplicables puede ver, entonces, cul de los proce-
de manera potencial a los sistemas dis- sos tiene el nmero ms grande yelimi-

IgI tribuidos. Nuestro anlisis de los blo-


queos de los sistemas distribuidos se
centrar solamente en dos de las tcni-
narlo, o bien enviar un mensaje que le
pidaque se elimine a s mismo. De cual-
quier forma, si varios procesos descu-
cas: deteccin y prevencin.
bren el mismo ciclo al mismo tiempo,
3.4.1. Deteccin distribuida todos elegirn la misma vctima.
de bloqueos
3.4.2. Prevencin distribuida
.Deteccin centralizada de bloqueos
de bloqueos
Consiste en el diseo cuidadoso del
Aunque cada mquina mantiene la sistema, de modo que los bloqueos sean
grfica de recursos de sus propios pro- imposibles, desde el punto de vista es-
El coordinador ( : ; \ cesos y recursos, un coordinador cen-
tructural. Entre las distintas tcnicas se
anterior ha fallado~ tral mantiene la grfica de recursos de
incluye el permitir a los procesos que
todo el sistema (la unin de todas las
......... slo conserven un recurso a la vez; exi-
grficas individuales). Cuando el coor
gir a los procesos que soliciten todos sus
dinador detecta un ciclo, elimina uno de
. N~ hay respuest~'" los procesos para romper el bloqueo. recursos desde un principio y hacer que
todos los procesos liberen todos sus
A diferencia del caso centralizado,
recursos cuando soliciten uno nuevo.
donde se dispone de toda la informa-
cin de manera automtica en el lugar En un sistema distribuido con tiempo
Figura 3.7(a) Algoritmo de eleccin mediante un anillo. correcto, en un sistema distribuido esta global y transacciones atmicas son
informacin se debe enviar de manera posibles otros algoritmos prcticos.
explcita. Ambos se basan en la idea de asociar,

146~=========================
ICE:'
:
=========================~147 ICESI
La Figura 3.9 (a) recibe el nombre los sistemas operativos tradicionales,
a cada transaccin, una marca de tiem- en la cadena en forma descendente. Derecho de prioridad y la (b) se deno- cada proceso tiene un espacio de direc-
po global al momento de su inicio. Aunque las dos opciones previenen mina espera. Este algoritmo se llama ciones y un nico hilo de control (puede
los bloqueos, es ms sabio dar priori- herida-espera. Si un proceso antiguo ser sta una aproximada definicin de
La idea detrs de este algoritmo es
dad a los procesos ms viejos. Se han desea un recurso mantenido por uno un proceso); a pesar de que frecuente-
que cuando un proceso est a punto de
ejecutado durante ms tiempo, por lo joven, el proceso antiguo ejerce su de- mente existan situaciones en donde se
bloquearse, en espera de un recurso que
que el sistema ha invertido mucho en recho de prioridad sobre el joven, Figu- desea tener varios hilos de control que
est utilizando otro proceso, se verifica
ellos y es probable que conserven ms ra 3.9 (a). Es probable que el joven vuel- compartan el mismo espacio de direc-
cul de ellos tiene la marca de tiempo va a iniciar su ejecucin de manera in- ciones, pero que se ejecuten de mane-
mayor (es decir, es ms joven). recursos.
mediata, con lo que intentara adquirir ra cuasi-paralela, como si fuesen pro-
Podemos permitir, entonces, la espe- En la Figura 3.8 (a), un proceso anti- de nuevo el recurso; esto lleva a la si cesos independientes (siendo su nica
ra s610 si el proceso en estado de espe- guo desea un recurso que mantiene un tuacin de la Figura 3.9 (b). diferencia que comparten el mismo es-
ra tiene una marca inferior (ms viejo) proceso joven; debemos permitir al pro- pacio de direcciones).
que el otro. Otra alternativa consiste en ceso que contine. En (b), un proceso 4. PROCESOS Y PROCESADORES
En la Figura 4.1, parte (a), se tiene
joven desea un recurso que mantiene EN SISTEMAS DISTRIBUIDOS
permitir la espera de procesos slo si el una mquina con tres procesos. Cada
proceso que espera tiene una marca un proceso antiguo; en este caso, lo Aunque los procesos son un concep- uno de ellos posee su propio contador
mayor (es ms joven) que el otro proce- debemos eliminar. Este algoritmo se to muy importante en los sistemas de del programa, su propia pila', su propio
so, en cuyo caso las marcas aparecen denomina espera-muerte. un procesador, se tratar de hacer n- conjunto de registros y su propio espa-
fasis en los aspectos del manejo de pro- cio de direcciones. Los procesos no tie-
cesos que frecuentemente no son estu- nen ninguna relacin entre s; la nica
BLOQUEOS: Prevencin distribuida
diados en el contexto de los sistemas manera posible de comunicacin sera
(b) operativos clsicos. mediante las primitivas de comunicacin
(a)
En la mayora de los sistemas distri entre procesos del sistema, como los
Desea recursos Conse rva recursos Desea re cursos Conserva recursos
buidos se presenta la posibilidad de te- semforos, monitores o mensajes. En
ner muchos hilos ("threads") de control la parte (b) se tiene otra mquina con
dentro de un proceso, lo cual llevar a un solo proceso, con la nica diferencia
tener ventajas significantes, pero tamo que ste tiene varios hilos de control,
bin se presentarn varios problemas los cuales generalmente son llamados
que sern estudiados ms adelante. hilos o procesos ligeros. En muchas
ocasiones se pueden considerar los hi-
Espera Muerte 4.1. Hilos los como unos miniprocesos. Cada hilo
Figura 3.8. Algoritmo espera-muerte para la prevencin de bloqueos. Los hilos se inventaron para permitir se ejecuta de manera estrictamente
la combinacin del paralelismo con la secuencial y tiene su propio contador del
ejecucin secuencial y el bloqueo de las programa y una pila para llevar un re-
llamadas al sistema. En la mayora de gistro de su posicin.
(a) (b)
Conserva recursos Desea recursos Conserva recursos Computadora Contador del programa

Derecho Espera Proceso Hilos


de prioridad
Figura 3.9. Algoritmo herida-muerte para la prevencin de bloqueos. Figura 4.1 (a). Tres procesos con un hilo cada uno.
(b). Un proceso con tres hilos.

:=========================~149
148~!!!!!!!!!!!!!!~~~~~~~::::==========:=::
ICESI
Los hilos comparten la CPU de la procesos distintos; todos los hilos tienen y dir si se puede satisfacer esa solici- En la figura, parte (c), se ilustra el
misma forma que lo realizan los proce- el mismo espacio de direcciones, lo cual tud.
modelo de entubamiento, en el cual el
sos: primero se ejecuta un hilo y des~ quiere decir que comparten las mismas En el modelo de equipo, parte (b), primer hilo genera ciertos datos y los
pus otro (tiempo compartido). variables globales. Cada hilo puede te- todos los hilos son iguales y cada uno transfiere al siguiente, para su procesa-
Solamente teniendo un multipro- ner acceso a cada direccin virtual, y obtiene y procesa sus propias solicitu- miento. Los datos pasan de hilo en hilo
cesador se podran ejecutar realmente puede realizar las siguientes tareas: leer, des. Como se puede observar en la fi- y, en cada etapa, se lleva a cabo cierto
en paralelo. escribir o limpiar de manera completa la gura, no hay servidor, y a veces llega tipo de procesamiento. Esto puede lle-
pila de otro hilo. Como se puede obser- un trabajo que un hilo no puede mane- gar a ser una buena solucin en proble-
Otra caracterstica de los hilos es que
var, no existe ninguna proteccin entre jar, ya que cada hilo se especializa en mas como el de productores y consu-
stos pueden crear hilos hijos y se pue-
manejar cierto tipo de trabajo. Para este midores, pero no sera adecuado para
den bloquear en espera de que se ter- los hilos, ya que podra llegar a ser casi
caso, se puede manejar una cola de tra- servidores de archivos. Los entu-
minen los llamados al sistema, al igual imposible y, en muchos casos, hasta
bajo pendiente. Con este tipo de orga- bamientos se utilizan ampliamente en
que en los procesos regulares. Mien- innecesario. nizacin, un hilo debe verificar primero muchas reas de los sistemas de cm-
tras un hilo se encuentre bloqueado se Adems de poseer el mismo espacio la cola de trabajo, antes de buscar en el puto, desde la estructura intema de la
puede ejecutar otro hilo del mismo pro- de direcciones, todos los hilos compar- buzn del sistema. CPU RISC, hasta las lneas de coman-
ceso (igualmente ocurre cuando se blo- dos de UNIX.
ten el mismo conjunto de archivos abier-
quea un proceso). Hilo del servidor
tos, procesos hijos, cronmetros, sea
Claro est que los hilos no son tan les, etc., como se ilustra en la Figura 4.2. Hilo del trabajador
independientes como ocurre en los r--\------==~----f~

Efementos por hilo Elementos por proceso


Contador del prog. Espacio de direccin
Pila Variables globales
Conj. de registros Archivos abiertos
Procesos fijos
Hilos de los hijos
Crohmetros S/ague
Estado Seales ,--;========::::;-_-jC8cli
Semforos
Informacin contable.
~) (~
Figura 4.2 Conceptos por hilo y por proceso Buzn
Uega una solicitud
de trabajo
En los procesos tradicionales (proce- de hilos en un proceso. En la parte (a) r-----==,.........----,
sos con nico hijo) los hilos pueden te- se muestra una primera organizacin en
ner uno de los siguientes estados: en la que un hilo, el servidor, lee las solici-
1, (e)
ejecucin, bloqueado, listo o terminado. tudes de trabajo en el buzn del siste-
Un hilo en ejecucin posee la CPU y se ma. Despus de examinar la solicitud,
I encuentra activo. Un hilo bloqueado es- l elige un hilo trabajador inactivo (blo-
pera que otro elimine el bloqueo (como queado) y le enva la correspondiente
ocurre en un semforo). Un hilo listo est solicitud, lo cual se realiza, con frecuen-
programado para su ejecuCin, la cual cia, al escribir un apuntador el mensaje,
la realizar cuando llegue su debido tur- en una palabra especial asociada a cada
no. y por ltimo, un hilo terminado es
aqul que ha hecho su salida pero que
hilo, dando como resultado que el servi-
dor despierte al trabajador dormido.
L=::::::====:J.. . . -i~N:..=cI= eo
todava no es recogido por su padre. Cuando el trabajador despierta, hace la
En la Figura 4.3 se ilustra un ejemplo correspondiente verificacin por medio
de servidor de archivos, el cual muestra del bloque Cach compartido, el cual
las diferentes formas de organizaciones puede ser accesado por todos los hilos Figura 4-3. Tres organizaciones de hilos en un proceso.

150~::::::::::::::::=:=::::::::: :
=========================~151
ICESI
ICESI
4.2. Modelos de sistemas Estos dos modelos se basan en diferen- co son: su fcil mantenimiento y su fle- ceder a los sistemas de archivos de
Como ya es sabido, los procesos se tes filosofas, en lo que concierne a un xibilidad; por todo esto, la gran mayora otras mquinas, lo cual da como re-
ejecutan en procesadores; en un siste- sistema distribuido. de estas estaciones se encuentra insta- sultado reducir el contacto con el
ma tradicional slo existe un nico lada en universidades y empresas. mundo exterior, generando as poca
procesador, mientras que un sistema
4.2.1. El modelo de estacin carga a la red, pero ocasionara su
Si la estacin de trabajo tiene sus
distribuido, dependiendo del aspecto del
de trabajo principal desventaja, que ser la de
propios discos, podrn ser utilizados de
diseo, puede tener varios proce- El modelo de estacin de trabajo es las siguientes maneras: convertirse en un sistema operativo
sadores. Los procesadores de un siste- un sistema que consta de estaciones de de red y no en un verdadero siste-
1. Paginacin y archivos temporales.
ma distribuido se pueden organizar de trabajo (computadoras personales de ma distribuido.
varias formas. En este pargrafo se ten- alta calidad), dispersas en un edificio o En este modelo los discos locales se
drn en cuenta los principales, como un lugar de trabajo y conectadas entre utilizan exclusivamente para la pa- Ventajas de las estaciones
son: el modelo de estacin de trabajo y s por medio de una LAN de alta veloci- ginacin y los archivos temporales de trabajo
el modelo de pilas de procesadores. dad, como se ilustra en la Figura 4.6. no compartidos, que se puedan eli- 1. Los usuarios tienen una cantidad fija
minar al final de la sesin. de poder de cmputo exclusivo, ga-
SISTEMA BASADO EN EL MODELO 2. Paginacin, archivos temporales y rantizando as su propio tiempo de
DE LA PILA DE PROCESADORES binarios del sistema. respuesta.
Presenta las mismas caractersticas 2. Los programas grficos sofisticados
Servidor que el punto anterior, con la nica pueden ser muy rpidos, ya que pue-
Pila de de archivos variante que los discos locales tam- den tener un rpido acceso a la pan-
procesadores / / bin contienen los programas en talla.
CPU ---- binario (ejecutables), tales como 3'. Cada usuario tiene un alto grado de
compiladores, editores de texto y autonoma y puede asignar sus re-
manejadores de correo electrnico. cursos correspondientes como lo
Cuando se llama a alguno de estos juzgue necesario.
programas, se le busca en el disco
4. Los discos locales hacen posible que
local y no en el servidor de archivos,
los trabajos continen si el servidor
lo cual reduce la carga en la red.
de archivos llega a fallar.
, - -_ _,.y V 3. Paginacin, archivos temporaJes,
binarios del sistema y ocultamiento 4.2.2. El modelo de la pila
Figura 4.6 de archivos. de procesadores
Este mtodo consiste en utilizar, de El mtodo de la pila de procesadores
forma explcita, los discos locales se ilustra en la Figura 4.7. Como se pue-
Las estaciones de trabajo pueden diante uno o varios servidores de archi- como "cachs" (adems de utilizar- de observar en el grfico, en este mo-
estar ubicadas en diferentes partes, vos en la red. Las solicitudes de lectura los para la paginacin, los archivos delo se les proporcionan terminales gr-
como en las oficinas de trabajo, donde o escritura sern enviadas a un servi- temporales y los binarios). Los usua- ficas de alto rendimiento, denotadas en
cada una de ellas se dedica a un nico dor de archivos, el cual realizar el co- rios pueden cargar los archivos des- la figura con la letra X. Esta implemen-
usuario; otras pueden estar en sitios rrespondiente trabajo y enviar de re- de los servidores de archivos hasta tacin se hace debido a que los usua-
pblicos y tener distintos usuarios en el greso las respuestas. sus propios discos; leerlos y escribir rios desean tener una interface grfica,
transcurso del da. Es posible que en en elios, de manera local y despus de alta calidad y un buen desempeo.
La popularidad de las estaciones de
algn instante de tiempo, ambas esta regresar los archivos modificados,
trabajo sin disco se debe a su precio, el La creacin del modelo de la pila de
ciones pueden tener un nico usuario reduciendo la carga en la red, al
cual es mucho ms bajo que si se tu- procesadores surge para complemen-
conectado a ella y tener, entonces, un mantener los archivos modificados
viese una estacin equipada con un pe- tar la idea de las estaciones de trabajo
"poseedor" o no tenerlo (estar inactiva). al final de la sesin.
queo disco, razn por la cual se em- sin disco. Como el sistema de archivos
Existen dos clases de estaciones de plean uno odos servidores de archivos 4. Un sistema local de archivos com- se concentra en un pequeo nmero de
trabajo: estaciones de trabajo sin disco con discos enormes y rpidos, a los cua- pleto. servidores, para economizar la escala,
o estaciones de trabajo con disco. Si las les se tiene acceso mediante la LAN. En este caso cada mquina tiene su se tom la idea de hacer lo mismo para
estaciones carecen de disco, el sistema Otras caractersticas que hacen popu- propio sistema de archivos autocon los servidores de computadoras. Tenien-
de archivos debe ser implantado me lares a las estaciones de trabajo sin dis- tenido, con la gran posibilidad de ac- do como base lo anterior, se colocan

152~=========================
ICESI :
==========================~153 ICESI
todas las CPU en gabinetes de gran ta- radica en poder tener "estaciones de tra- puede llevar a cabo en las estaciones sultar ms complejas y tendran un efec-
mao, dentro del cuarto de mquinas, bajo inactivas", a las que se puede te- de trabajo, garantizando su respuesta. to fun~amental en el diseo del siste-
reduciendo as los costos de energa y ner acceso de manera dinmica. Los Este modelo hace que las estaciones in- ma.
los de empaquetamiento, con lo cual se usuarios podrn obtener las CPU que activas no sean utilizadas, lo cual har El objetivo que tienen los algoritmos
produce un mayor poder de cmputo por sean necesarias, durante perodos cor- ms sencillo el sistema y adems todos de asignacin de procesos, en los
I una misma cantidad de dinero, como tos, y despus regresai'las para que los procesos no interactivos se ejecu- procesadores, es maximizar el uso de
tambin se permite el uso de terminales otros usuarios puedan disponer de ellas. tan en la pila de procesadores, as como la CPU; es decir, maximizar el uso de
'1 ms baratas. Todo el poder de cmputo todo el cmputo pesado en general. ciclos de CPU que se. ejecutan en be-
La gran ventaja de este modelo es neficio de los trabajos del usuario por
I que proporciona una respuesta inter-
activa mucho ms rpida, como tambin
cada hora de tiempo real. Al tratar de
maximizar el uso de la CPU, se trata de
:1
un uso eficiente en los recursos y pre- evitar todo el costo que se tiene por el
senta un diseo sencillo. tiempo inactivo de la CPU. Otro objetivo
importante es la minimizacin del tiem-
4.3. Asignacin de procesadores po promedio de respuesta.
Como ya hemos mencionado ante-
riormente, un sistema distribuido cons- 4.3.2. Aspectos del diseo de
ta de varios procesadores. Estos pue- algoritmos de asignacin
Figura 4.7 Red de estaciones de trabajo personal.
den organizarse como una coleccin de de procesadores
estaciones de trabajo personales, o Las principales decisiones que debe
El poder de cmputo se ha centrali- cuando ste se encuentre ocupado, los como una pila pblica de procesadores tomar un diseador se pueden resumir
zado como una pila de procesadores, usuarios se forman para el servicio y se o de alguna forma hbrida. No importa en los siguientes aspectos:
debido a la teora de colas, donde los procesan de acuerdo con su tumo, como cul utilicemos, necesitaremos un
.I
1. Algoritmos determinsticos vs. Heu-
usuarios generan, en forma aleatoria, se observa en la Figura 4.8. algoritmo para decidir qu proceso se rsticos. Los determinsticos son ade-
l' solicitudes de trabajo a un servidor, y va a ejecutar y en qu mquina. Este cuados cuando se sabe de antema-
I ..' ..
pargrafo tendr como principal objeti- no todo aquello acerca de los pro-
1
Usuarios -fo vo estudiar los algoritmos que sern uti- cesos; se supone que se tiene una
O Cola de entrada lizados, para determinar qu proceso se lista completa de todos los procesos
asigna a un determinado procesador, o necesidades de cmputo, de ar-
0--. L_L..L---l_L...L-l----.J--. Computadora dando como resultado una "asignacin chivos, de comunicacin. Con esta
de procesadores".
~
informacin sera posible hacer una
asignacin perfecta. creando as una
Los usuarios generan 4.3.1. Modelos de asignacin
Trabajo terminado mejor asignacin.
un total de solicitudeslseg. Las estrategias de asignacin de
Los heursticos son aquellos siste-
procesadores se pueden dividir en dos
Figura 4.8. Un sistema bsico con colas. mas en donde la carga es totalmen-
grandes categoras. La primera. llama-
te impredecible. Las solicitudes de
da no migratoria, al crearse un proceso,
Una de las grandes aplicaciones de 4.2.3. Un modelo hlbrldo trabajo dependen de quien las est
toma la decisin de dnde colocarlo.
la pila de procesadores ocurre cuando haciendo, y pueden variar de mane-
Este modelo es una combinacin de Una vez colocado el proc~so en una
varios usuarios se encuentran trabajan- ra drstica cada hora. e incluso cada
los dos modelos anteriormente presen- mquina, permanece all hasta que ter-
do en un gran proyecto de software, los mine; no se puede mover, as exista minuto. La asignacin de proce-
tados, el cual combina las ventajas que
sobrecarga para la mquina o existan sadores, en estos sistemas, utiliza
cuales llevan a cabo grandes simulacio- posee cada uno, con la nica diferen-
cia de que resultara mucho ms costo- otras mquinas inactivas. La segunda tcnicas ad hoc.
nes, ejecutan grandes programas de in-
teligencia artificial, obteniendo un fcil so. es la de los algoritmos migratorios, en 2. Algoritmos centralizados vs. Distri-
manejo y acceso al manejar una pila; El modelo consiste en proporcionar donde un proceso se puede trasladar buidos. La recoleccin de la informa-
mientras que el trabajar en estaciones a cada usuario una estacin de trabajo aunque haya iniciado su ejecucin. Las cin, en un lugar, permite tomar una
de trabajo acarreara enormes dificulta- personal y adems tener una pila de estrategias migratorias permiten tener mejor decisin, pero coloca una m-
des y no sera nada sencillo. procesadores. El trabajo interactivo se un mejor balance de carga, pueden re- quina pesada en la mquina central.

154~=========================
ICES :
=========================~155 ICESI
El hecho de ser centralizado, en vez Iniciados por el receptor. Tambin es se ejecuta o no en la mquina que lo distribuido con un diseo adecuado los
de maximizar el uso de la CPU, bus- llamado poltica de localizacin. Des- genera; si esta mquina est muy ocu- clientes no deben ser conscientes de
ca darle a cada procesador, de una pus de que la poltica de transfe- pada, hay que transferir el nuevo proce- la forma de implantar el sistema de ar-
estacin de trabajo, una parte justa rencia ha decidido deshacerse de un so a otro lugar. Para el caso del algoritmo chivos. En particular, no deben cono-
del poder de cmputo. proceso, la politica de localizacin local, se hace la verificacin en la m- cer el nmero de servidores de archi-
3. Algoritmos ptimos vs. Subptimos. debe decidir dnde enviarlo. Esta quina, para ver si sta se encuentra por vos, su posicin o funcin. Todo lo que
Se pueden obtener soluciones pti- poltica no puede ser local, debido a debajo de su nivel, para poder asignar saben es que, al llamar los procedimien-
mas tanto en los sistemas centrali- que se necesita informacin de la el nuevo proceso; para el algoritmo tos especificados en el servicio de ar-
zados como en los descentralizados, carga, en todas partes, para tener global es mejor recolectar toda la infor- chivos, el trabajo necesario se lleva a
pero, por regla general, son ms una ptima decisin: sin embargo, macin acerca de la carga, antes de cabo de alguna manera y se obtienen
caras que las subptimas, pues hay esta informacin se puede dispersar decidir si la mquina puede o no recibir los resultados solicitados. De hecho, los
que recolectar ms informacin y de dos formas; en la primera, los al proceso. clientes ni siquiera deben darse por en-
procesarla un poco ms. En la vida emisores son quienes inician el in- terados de que el servicio de archivos
Los algoritmos locales son sencillos,
real, la mayora de los sistemas dis- tercambio de informacin y, en la se- es distribuido. Lo ideal es que se vea
pero no ptimos, mientras que los
tribuidos buscan soluciones sub- gunda, es el receptor el que toma la como un sistema de archivos normal,
globales slo dan un resultado mejor
ptimas, heursticas y distribuidas, iniciativa. pero a un costo mayor. de un nico procesador.
debido a la dificultad para obtener A continuacin, en la Figura 4.9, Puesto que un servidor de archivos
las ptimas. mencionaremos un ejemplo sencillo 5. SISTEMAS DISTRIBUIDOS es un proceso del usuario que se eje-
para denotar el anterior caso: DE ARCHIVOS cuta en una mquina, un sistema pue-
4. Algoritmos iniciados por el emisor vs.
El corazn de cualquier sistema dis- de contener varios servidores de archi-
(a) (b) tribuido es el sistema distribuido de ar- vos, cada uno de los cuales ofrece un
chivos. Como en el caso de los siste- servicio de archivos distinto. De esa for-
Seran tan amables Estoy No tengo nada Necesitas
de llevarse cargado. quehacer. ayuda? mas con un nico procesador, la tarea ma es posible que una terminal tenga
un proceso? del sistema de archivos, en los sistemas varias ventanas y que en algunas de
distribuidos, es almacenar los progra- ellas se ejecuten programas en UNIX y
mas y los datos y tenerlos disponibles en otras programas en MS-DOS, sin

OOG cuando sea necesario. En el caso de un


sistema distribuido, es importante dis-
que esto provoque conflictos.
Los diseadores del sistema se en-
1 tinguir entre los conceptos de servicio cargan de que los servidores ofrezcan
000
_L-------'
Estoy aburrido.
de archivos y el servidor de archivos. El
servicio de archivos es la especifica-
los servicios de archivo especficos,
como UNIX o MS-DOS. El tipo y el n-
cin de los servicios que el sistema ofre- mero de servicios de archivo disponi-
La maquina decide que La mquina avisa ce a sus clientes. Describe las primiti- bles puede cambiar con la evolucin del
tiene mucho trabajo. de su disponibilidad. vas disponibles, los parmetros que uti- sistema.
lizan y las acciones que llevan a cabo.
Figura 4.9 (a). Un emisor en bsqueda de una m~quina ina~tiva Para los clientes, el servicio de ar- 5.1. Diseo de los sistemas
(b). Un receptor en bsqueda de trabajo por realIzar chivos define con precisin el servicio distribuidos de archivos
con que pueden contar, pero no dice En esta seccin analizaremos las
1 nada con respecto a su implantacin. De caractersticas de los sistemas distribui-
En la parte (a) se ilustra una mqui- bajo y est preparada para ms. Su prin- hecho el servicio de archivos especifica dos de archivos, desde el punto de vis-
I na sobrecargada, la cual enva una so- cipal objetivo es localizar una mquina la interfaz del sistema de archivos con ta del usuario.
111
licitud de ayuda a las dems mquinas dispuesta a darle trabajo. los clientes.
1 1
Un sistema distribuido tiene dos com-
'1 . ;1'1 para que descarguen el nuevo proceso 5. Algoritmos locales vs. Globales. Por el contrario, un despachador de ponentes razonablemente distintos: el
en otra. En este caso, el emisor es quien
1

Este aspecto se relaciona con lo que archivos es un proceso que se ejecuta verdadero servicio de archivos y el ser-
li toma la iniciativa, para localizar ms ci- se denomina polftica de transferencia. en alguna mquina y ayuda con la im- vicio de directorios. El servicio de ar-
clos de la CPU. Debido a que cuando se est a punto
1
plantacin del servicio de archivos. Un chivos se encarga de las operaciones
1I En la parte (b), una mquina inacti- de generar un proceso, hay que tomar sistema puede tener uno o varios servi- en los archivos individuales, como la
va o sobrecargada que tiene poco tra- una decisin para ver si dicho proceso dores de archivos, pero en un sistema lectura, la escritura y la adicin, en tan-
II
:
1,1
il 156.=========================:
ICEsi
=========================~ ICESI
157
to que el servicio de directorios se en- normal es que si se puedan modificar, 1. Archivo de traslado
carga de crear y manejar directorios, pero en algunos sistemas distribuidos, Cliente al cliente. Servidor
aadir y eliminar archivos de los direc- las nicas operaciones de archivo son Archivo
anterior.
torios, etc. CREATE y READ. Una vez creado un
archivo, ste no podr ser modificado, y
5.1.1. La interfaz del servicio se dice que este archivo es inmutable.
de archivos Archivo
La proteccin en los sistemas distri- nuevo.
En muchos sistemas, como UNIX y buidos utiliza, en esencia, las mismas
MS-OOS, un archivo es una secuencia tcnicas de los sistemas con un nico
de bits sin interpretacin alguna. El sig- procesador: posibilidades y listas para
nificado y la estructura de la informacin control de acceso. En el caso de las
en los archivos queda a cargo de los posibilidades, cada usuario tiene un cier- 2. Los accesos se llevan . 3. Cuando el cliente
programas de aplicacin; esto es irrele- to tipo de boleto, llamado posibilidad, a cabo en el cliente. termina, el archivo
vante para el sistema operativo. para cada objeto al que tiene acceso. regresa al servidor.
Sin embargo, en los "mainframes" La posibilidad determina los tipos de Figura 5.1. El modelo carga/descarga.
existen muchos tipos de archivos, cada acceso permitidos.
uno con distintas propiedades. Por ejem- Todos los esquemas de lista para La ventaja de este modelo es la sen- travs de un archivo, examinar y modifi-
plo, un archivo se puede estructurar control de acceso le asocian a cada cillez del concepto. Los programas de car los atributos de un archivo, etc.
como una serie de registros, con llama- archivo una lista implcita o explcita de aplicacin buscan los archivos que ne- Mientras que en el modelo carga/des-
das al sistema operativo, para leer o los usuarios que pueden tener acceso cesiten y despus los utilizan de mane- carga el servicio de archivos slo pro-
escribir en un registro particular. al archivo y los tipos de acceso permiti- ra local. Los archivos modificados o nue- porciona el almacenamiento fsico y la
Por lo general se puede especificar dos para cada uno de ellos.
vos se escriben, de regreso, al terminar transferencia, en este caso el sistema
el registro mediante su nmero o el va- El esquema de UNIX es una lista para el programa.
lor de cierto campo. En el segundo caso, de archivos se ejecuta en los servido-
control de acceso, simplificada con bits
el sistema operativo mantiene el archi-
El otro tipo de servicio de archivos res y no en los clientes. Su ventaja con-
que controlan la lectura, la escritura y la
vo como un rbol B o alguna otra es- es el modelo de acceso remoto. En siste en quena necesita mucho espa-
ejecucin de cada archivo, en forma in-
tructura de datos adecuada, o bien utili- este modelo, el servicio de archivos pro- cio por parte de los clientes, a la vez que
depen'diente para el propietario, el gru
za tablas de dispersin, para localizar porciona un gran nmero de operacio- elimina la necesidad de transferir archi-
po de propietarios, y todas las dems
con rapidez los registros. nes para abrir y cerrar archivos, leer y vos completos cuando slo se necesita
personas.
escribir partes de archivos, moverse a una parte de ellos.
Debido a que la mayora de los siste- Los servicios de archivos se pueden
mas distribuidos son planeados para dividir en dos tipos: la dosificacin de-
ambientes UNIX o MS-DOS, la mayora pende de si soportan un modelo car- Cliente Servidor
de los servidores de archivos soporta el ga/descarga o un modelo de acceso
concepto de archivo, como una secuen- remoto. En el modelo de carga/descar-
cia de bits, en vez, de una secuencia ga, el servicio de archivo slo propor-
de registros con cierta clave. Los archi-
vos pueden tener atributos, que son
partes de informacin relativas al archi-
ciona dos operaciones principales: la
lectura de un archivo y la escritura en
un archivo.
ITIIJ
vo, pero que no son parte del archivo La operacin de lectura transfiere
propiamente dicho. Los atributos tpicos todo un archivo, de uno de los servido-
son el propietario, el tamao, la fecha res de archivo, al cliente solicitante.
de creacin y el permiso de acceso. Solicitudes del Los archivos
La operacin de escritura transfiere cliente para tener permanecen en
Por lo general, el servicio de archi- todo un archivo, en sentido contrario; del acceso a un el servidor.
vos proporciona primitivas para leer y cliente al servidor. As, el modelo con- archivo remoto.
escribir alguno de los atributos. ceptual es el traslado de archivos com-
Otro aspecto importante del modelo pletos, en alguna de las direcciones. Los
Figura 5.2. El modelo de acceso remoto.
de archivo es si los archivos se pueden archivos se pueden almacenar en la
modificar despus de su creacin. Lo memoria o en un disco local.

158~=============::====::::::::
ICES; :=======::::=::=:::::=::=::=159 ,ICESI
5.1.2. La interfaz del servidor identifica el tipo de ste. Otros sistemas tiene un enlace con el directorio a.
El derecha de cada directorio de la figura,
de directorios utilizan un atributo explcito para este fin, problema aparece cuando se elimina el ~e pue1e determinar si el enlace por eli-

La otra parte del servicio de archivos en vez de utilizar una extensin dentro enlace de A a a. En una jerarqua con minar es el ltimo. Despus de eliminar
es el servicio de directorios, el cual pro- del nombre. estructura de rbol slo se puede elimi- el enlace de A a a, el contador de refe-
porciona las operaciones para crear y Todos los sistemas distribuidos per- nar un enlace con un directorio, si el di- rencias de a se reduce de 2 al, lo cual
eliminar directorios, nombrar o cambiar miten que los directorios contengan rectorio al cual apunta es vaeo. En una est bien sobre el papel. Sin embargo,
el nombre de los archivos y mover s- subdirectorios, para que los usuarios grfica se permite la eliminacin de un ahora no es posible llegar a a desde la
tos de un directorio a otro. puedan agrupar los archivos relaciona- enlace mientras exista al menos otro. raz del sistema de archivos (A). Los tres
dos entre s. De acuerdo con esto, se Mediante un contador de referencias, el directores a, o y Ey todos sus archivos
El servicio de directorios define un se convierten en hurfanos.
dispone de operaciones para la creacin cual se muestra en la esquina superior
alfabeto y una sintaxis para formar los
nombres de archivos y directorios. Lo y eliminacin de directorios, as como
comn es que los nombres de archivos para introducir, eliminar y buscar archi- Contador del nmero
tengan de y hasta cierto nmero mxi- vos en ellos. Tambin, los subdirectorios de directorios que
mo de letras, nmeros y ciertos carac- pueden contener sus propios sub- A apuntan a este
directorios y as sucesivamente, lo que directorio.
teres especiales. Algunos sistemas di-
viden los nombres de archivo en dos conduce a un rbol de directorios, el cual
partes, usualmente separadas median- es conOCido como sistema jerrquico
te un punto. La segunda parte del nom- de archivos. La Figura 5.3 muestra un
bre, llamada la extensin del archivo, rbol de cinco directorios:
2

A
B e

Mquina 1: A, B, C.

Mquina 2: O, E.
D E
B e
Figura 5.4. Una grfica de directorios en dos mquinas.

Este problema tambin existe en los Otro aspecto fundamental, en el di-


sistemas centralizados, pero es ms seo de cualquier sistema distribuido
serio en los distribuidos. Si todo est en de archivos, es si todas las mquinas y
una mquina, es posible descubrir los procesos deben tener la misma visin
D E directorios hurfanos, puesto que toda de la jerarqua de los directorios.
la informacin est en un solo lugar. Se 5. 1.2. 1. Nombres de los archivos
puede detener toda la actividad de los y directorios
Figura 5.3. Un rbol de directorios contenido en una mquina. archivos y recorrer la grfica desde la Existen tres mtodos usuales para
raz, para sealar todos los directorios nombrar los archivos y directorios en
alcanzables. Al final de este proceso, se un sistema distribuido:
En ciertos sistemas es posible c.rear rboles y grficas es de particular im-
sabe que todos los directorios no mar- 1. Nombre de la mquina + ruta de ac-
enlaces o apuntadores hacia un direc- portancia en un sistema distribuido.
cados son inalcanzables. En un siste- ceso, como /mquina/ruta o m-
torio arbitrario. Estos se pueden colo-
La naturaleza de la dificultad se pue- ma distribuido existen varias mquinas quina:ruta.
car en cualquier directorio, lo que per-
mite construir no slo rboles sino grfi- de apreciar ms claramente en la Figu- y no se puede detener toda la actividad, 2. Montaje de sistemas de archivos
ra 5.4. En esta grfica, el directorio O por lo que es supremamente difcil to- remotos en la jerarqua local de ar-
cas arbitrarias de directorios, las cuales
mar una foto instantnea. chivos.
son ms poderosas. La distincin entre

:
160 ~==========================:
ICESt
=========================~161 ICESI
3. Un nico espacio de nombres que trar el nombre binario. El propio enlace exista un servidor de archivos y los clien- de UNIX, excepto por un problema me-
tenga la misma apariencia en tod~ simblico es slo el nombre de una ruta tes no oculten los archivos. Todas las nor: los retrasos en la red pueden hacer
las mquinas. de acceso. instrucciones READ y WRITE pasan en que un READ, ocurrido un micro-
Otra idea ms es utilizar las posibili- forma directa al servidor de archivos, segundo despus de un WRITE, llegue
Los primeros dos son fciles de im-
dades como los nombres binarios. En que los procesa en forma secuencial. primero al servidor y que obtenga el va-
plantar, especialmente como una forma
este mtddo, la bsqueda de un nom- Este mtodo proporciona la semntica lor anterior.
de conectar sistemas ya existentes, que
no estaban diseados para su uso dis- bre en ASCII produce una posibilidad,
tribuido. El tercer mtodo es difcil y re- la cual puede tomar varias formas. Un CLIENTE 1
quiere de un diseo cuidadoso, pero es ltimo mtodo, que a veces est presen-
necesario si se quiere lograr el objetivo te en un sistema distribuido pero casi
de que el sistema distribuido acte como nunca en uno centralizado, es la posibi-
una nica computadora. lidad de buscar un nombre en ASCII y
obtener no uno sino varios nombres UNICO PROCESADOR
5.1.2.2. Nombres de dos niveles binarios. Por lo general, stos represen-
La mayora de los sistemas distribui- tan al archivo original y todos sus res-
dos utiliza cierta forma de nombres con paldos. 1. Escribe 'c'
dos niveles. Los archivos tienen nom- Escribe 'c'
5.1 .3. Semntica de los archivos 1. Se lee 'b'
bres simblicos para el uso de las per-
compartidos
sonas, pero tambin pueden tener nom-
bres binarios internos para uso del pro- Si dos o ms usuarios comparten el
pio sistema. Lo que los directorios ha- mismo archivo, es necesario definir con
cen, en realidad, es proporcionar una precisin la semntica de la lectura y la
asociacin entre estos dos nombres. escritura para evitar problemas.
Para las personas y los programas, es Existen cuatro maneras de compar-
conveniente utilizar nombres simblicos, tir archivos en un sistema distribuido. La Se lee 'abe'
pero para el uso dentro del propio siste- primera que analizaremos es conocida
ma, estos nombres son demasiado gran- como semntica de UNIX y consiste en
des y difciles. As, cuando un usuario que cada operacin en un archivo es (a)
abre un archivo o hace referencia a un visible a todos los procesos de manera
nombre-simblico, el sistema busca de instantnea. En los sistemas con un Figura 5.5 (a). En un solo procesador, cuando una READ va despus de un WRITE.
inmediato el nombre simblico, en el di- el valor regresado por READ es el valor recin escrito.
nico procesador que permiten a los
rectorio apropiado, para obtener el nom- procesos compartir archivos, como (b) En un sistema distribuido con ocultamiento, el valor regresado puede
bre binario, el cual utilizar para locali- ser obsoleto.
UNIX, la semntica establece que si una
zar realmente el archivo. A veces los operacin READ sigue despus de una
nombres binarios son visibles a los usua- operacin WRITE, READ regresa el va- El segundo mtodo se llama se- Un mtodo completamente distinto de
rios y a veces no. lor recin escrito. De manera anloga, mntica de sesin, el cual se caracte- la semntica de los archivos comparti-
Un esquema ms general para los cuando dos WRITE se realizan en serie riza porque ningn cambio es visible a dos, en un sistema distribuido, es que
nombres es que el nombre binario indi- y despus se ejecuta un READ, el valor otros procesos, hasta que el archivo se todos los archivos sean inmutables. As
que el servidor y un archivo especfico que se lee es el almacenado en la lti- cierra; en vez de pedir que un READ no existe forma de abrir un archivo para
en ese servidor. Este mtodo permite ma escritura. De hecho, el sistema im- vea los efectos de todos los WRITE an- escribir en l. En efecto, las nicas ope-
que un directorio en un servidor conten- pone en todas las operaciones un or- teriores, uno puede tener una nueva re- raciones en los archivos son CREATE y
ga un archivo en un servidor distinto. den absoluto con respecto del tiempo y gia que diga: "Los cambios a un archi- READ. No existen actualizaciones; es
siempre regresa el valor ms reciente. vo abierto slo pueden ser vistos en un ms fcil compartir y replicar.
i Otra altemativa, que a veces es pre-
, En un sistema con un nico procesador, principio por el proceso (o la mquina)
ferible, es utilizar un enlace simblico, Una cuarta vfa para enfrentar el uso
el cual es una entrada de directorio aso- esto es muy fcil de comprender y tiene que modific el archivo. Los cambios de los archivos compartidos en un siste-
una implantacin directa. En un siste- sern visibles a los dems procesos (o ma distribuido es usar las transacciones
ciada a una cadena (servidor, nombre
ma distribuido, la semntica de UNIX se mquinas) slo cuando se cierre el ar- atmicas. Para tener acceso a un archi
de archivo), la cual se puede buscar en
puede lograr fcilmente, mientras slo chivo". va o grupo de archivos, un proceso
el servidor correspondiente para encon-

162-:-=====================::::::
ICESI :::========================r: 163
ICESI
dos, de modo que otras mquinas ten- El aspecto estructural final por consi-
ejecuta en primer lugar cierto tipo de pri- un patrn comn es crear un archivo, gan acceso a ellos. En otros sistemas derar es si los servidores de archivos,
mitiva BEGINTRANSACTION, para se- leerlo y despus eliminarlo. el servidor de archivos y el de directo- directorios o de otro tipo deben conte-
alar que lo que sigue debe ejecutarse El hecho que unos cuantos archivos rios slo son programas del usuario,_ por ner la informacin sobre el estado de los
de manera indivisible. Despus vienen se compartan, argumenta en favor del lo que se puede configurar un sistema clientes. Este aspecto tiene una contro-
las llamadas al sistema para leer o es- ocultamiento por parte del cliente. Como para que ejecute o no el software, del versia moderada, donde existen dos
cribir en uno o ms archivos. Al termi- ya se ha visto, el ocultamiento complica cliente o del servidor, en la misma m- escuelas de pensamiento en competen-
nar el trabajo, se ejecuta una primitiva la semntica, pero si es raro el uso de quina, como se desee. Y en el otro ex- cia. Una escuela piensa que los servi-
ENDTRANSACTION. La propiedad fun- los archivos compartidos, podra ser tremo, estn los sistemas donde los dores no deben contener los estados,
damental de este mtodo es que el sis- mejor el ocultamiento por parte del clien- clientes y los servidores son mquinas es decir, "ser sin estado". En otras pala-
tema garantiza que todas las llamadas te y aceptar las consecuencias de la esencialmente distintas, ya sea en tr- bras, cuando un cliente enva una soli-
contenidas dentro de la transaccin se semntica de sesin en favor de un minos de hardware o de software. Los citud a un servidor, ste la lleva a cabo,
llevarn a cabo en orden, sin interferen- mejor desempeo. servidores y clientes pueden ejecutar enva la respuesta y elimina de sus ta-
cias de otras transacciones concurren- incluso versiones diferentes del sistema blas internas toda la informacin relati-
Para terminar, la existencia de distin-
tes. Si dos o ms transacciones se rea- operativo. Aunque la separacin de fun- va a dicha solicitud. El servidor no guar-
tas clases de archivos sugiere que, tal
lizan al mismo tiempo, el sistema garan- ciones es un poco ms transparente, no da informacin alguna relativa a los
vez, se deberan utilizar mecanismos
tiza que el resultado final es el mismo existe una razn fundamental para pre- clientes entre las solicitudes. La otra
diferentes para el manejo de las distin-
que si se ~jecutasen en cierto orden tas clases. Los binarios del sistema ne-
ferir un mtodo por encima de los de- escuela de pensamiento sostiene que
secuencial (indeterminado). ms. es correcto que los servidores conser-
cesitan estar presentes en diferentes
Un segundo aspecto de la implanta- ven la informacin de estado de los clien-
partes, pero es raro que se modifiquen,
5:2. Implantacin de un sistema cin, en donde difieren los sistemas, es t~s entre las solicitudes.
por lo que tal vez se podran duplicar en
distribuido de archivos la forma de estructurar el servicio a ar- En el caso de un servidor sin estado,
varias partes, aun cuando esto implica
En la seccin anterior describimos una actualizacin ocasional compleja. chivos y directorios. Una forma de orga- cada solicitud debe estar autocontenida.
varios aspectos de los sistemas distri- nizacin consiste en combinar ambos en Debe contener todo el nombre del ar-
Los compiladores y los archivos tem-
buidos de archivos desde el punto de un nico servidor, que maneje todas las chivo y el ajuste dentro de ste, para
porales son cortos, no compartidos y
vista del usuario. En esta seccin vere- llamadas a directorios y archivos. Sin que el servidor pueda realizar el traba-
desaparecen con rapidez, por lo que
mos la forma en que se implantan di- embargo, la otra posibilidad es separar- jo. Esta informacin aumenta la longi-
deben mantener su carcter local mien-
chos sistemas. los. En este caso, la apertura de un ar- . tud del mensaje.
tras sea posible. Los buzones electrni-
cos se actualizan con frecuencia, pero chivo exige ir hasta el servidor de direc- Otra forma de ver la informacin de
5.2.1. Uso de archivos
es raro que se compartan, por lo que su torios, para asociar su nombre simbli- estado es considerar lo que ocurre si un
Satyanarayanan (1981) hizo un am- co con el nombre binario, y despus ir servidor falla y todas sus tablas se pier-
duplicacin no sirve de mucho.
plio estudio sobre los patrones de uso hasta el servidor de archivos, con el den de manera irremediable. Al volver
de los archivos. Vamos a presentar, a 5.2.2. Estructura del sistema nombre en binario y llevar a cabo la lec- a arrancar el servidor, ste ya no tiene
continuacin, las principales conclusio- tura o escritura real del archivo. idea de la relacin entre los clientes y
nes de este estudio. Para comenzar, la En esta seccin analizaremos algu-
nas de las formas de organizacin in- El argumento en favor de la separa- los archivos abiertos por stos. Fraca-
mayora de los archivos est por debajo
terna de los servidores de archivos y cin es que las dos funciones no tienen sarn entonces los intentos posteriores
de los 10K; esta observacin sugiere la
directorios, con atencin especial a los una relacin real entre s, por lo que es por leer y escribir en archivos abiertos y
factibilidad de la transferencia de archi-
mtodos alternativos. Comenzaremos ms flexible mantenerlas separadas. Por la recuperacin, entonces, queda a car-
vos completos, en vez de bloques de
con una sencilla pregunta:"Son distin- ejemplo, se puede implantar un servi- go totalmente de los clientes. En conse-
disco, entre el servidor y el cliente. Pues-
tos los clientes y los servidores?" dor de directorios en MS-DOS y otro cuencia, los servidores sin estado tien-
to que la transferencia de archivos com-
servidor de directorios en UNIX, donde den a ser ms tolerantes a los fallos que
pletos es ms sencilla y eficiente, esta En ciertos sistemas no existe distin-
ambos utilicen el mismo servidor de ar- los que mantienen los estados, lo cual
idea debe tomarse en cuenta. Por su- cin alguna entre un cliente y un servi-
chivos para el almacenamiento fsico. es un argumento a favor de los prime-
puesto, algunos archivos son de gran dor. Todas las mquinas ejecutan el mis-
tamao, por lo que tambin se deben mo software bsico, de manera que una Tambin es probable que la separacin ros.
tomar medidas preventivas con respec- mquina que desee dar servicio de ar- de funciones produzca un software ms En general, las ventajas de los servi-
to a stos. chivos al pblico en general es libre de sencillo. Un contraargumento es que el dores sin estado son: tolerancia a las
Una observacin interesante es que hacerlo. Este ofrecimiento del servicio hecho de contar con dos servidores re- fallas; no necesita llamadas openlclose;
la mayora de los archivos tiene tiem- de archivos consiste slo en exportar los quiere de una mayor comunicacin. no se desperdicia el espacio del servi-
pos de vida cortos. En otras palabras, nombres de los directorios selecciona-

:::========================~165
164~===============::::=======
ICESI
ICES,
dor en las tablas; no existe Irmite para cliente o la memoria principal del clien- El segundo es que el algoritmo debe 3. Repartir la carga de trabajo entre
el nmero de archivos abiertos y no hay te, como se muestra en la Figura 5.6. . , decidir qu hacer si se utiliza toda la
! varios servidores. Al crecer el tama-
problemas si un cliente falla. Las venta- El lugar ms directo para almacenar capacidad del cach y hay que eliminar o del sistema, el hecho de tener
jas de los servidores con estado con- todos los archivos es el disco del servi- a alguien. Aqu se puede utilizar cual- todos los archivos en un nico
sisten en un mejor desempeo, los men- dor. Ah existe mucho espacio y los ar- quiera de los algoritmos comunes de procesador se puede convertir en un
sajes de solicitud ms cortos, es posi- chivos seran accesibles a todos los ocultamiento, pero como las referencias cuello de botella. Con varios archi-
ble la lectura adelantada, es ms fcil la clientes. Adems, con slo una copia de al cach son poco frecuentes, compa- vos duplicados en dos o ms servi-
idempotencia y es posible la cerradura cada archivo no surgen problemas de radas con las referencias a la memoria, dores, se puede utilizar el que tenga
de archivos. consistencia. por lo general es factible una implanta- menos carga.
El problema con el uso del disco del cin exacta de LRU mediante listas li- Las dos primeras se relacionan con
5.2.3. Ocultamiento servidor es el desempeo. Antes de que gadas: Cuando hay que eliminar a al- el mejoramiento de la confiabilidad y la
En un sistema cliente-servidor, cada un cliente pueda leer un archivo, ste guien de la memoria, se elige al ms disponibilidad; la tercera se refiere al
uno con su memoria principal, y un dis- debe ser transferido primero del disco antiguo. Si existe una copia actualiza- desempeo.
co, existen cuatro lugares donde se pue- del servidor a la memoria principal del da en el disco, simplemente se descar- Existen tres formas de llevar a cabo
den almacenar los archivos o partes de servidor y luego, a travs de la red, a la ta la copia del cach. En caso contra- la rplica: la rplica explcita de archi-
archivos: el disco del servidor, la memo- memoria principal del cliente. Ambas rio, primero se actualiza el disco. vos, la rplica retrasada de archivos y
,, ..
ria principal del servidor, el disco del transferencias tardan cierto tiempo. l El mantenimiento de un cach en la la rplica de archivos mediante un gru-

memoria principal del servidor es fcil po.

Memoria Disco del Memoria Disco del de lograr y es totalmente transparente CONCLUSIONES
principal cliente principal servidor a los clientes. Puesto que el servidor
del cliente (oP9ional) del servidor puede mantener sincronizadas sus co- - los Sistemas Distribudos son la tec-
nologa que se va a imponer en el
pias en memoria y en disco, desde el
......1........ punto de vista de los clientes slo exis-
te una copia de cada archivo, por lo que
mundo, debido a ta economa que
se alcanza con su implantacin en
las grandes organizaciones.
no hay problemas de consistencia.
3 4 2 1 No existen todava aplicaciones dis-
5.2.4. Rplica tribuidas para los pocos sistemas
-
........................... ......
Con frecuencia Jos sistemas distribui- operativos que tratan de manejar la
distribucin, como Windows NT.
dos de archivos proporcionan la rplica
de archivos como servicio a sus clien- La diferencia ms importante entre
tes. En otras palabras, se dispone de un Sistema Distribuido y un sistema
RED
Figura 5.6. Cuatro lugares para guardar archivos o partes de ellos.
f
. ~.
varias copias de algunos archivos, don-
de cada copia est en un servidor de
archivos independiente. Las principales
de un nico procesador es la comu-
nicacin entre procesos.
Para la organizacin de los pro-
razones para la existencia de tal servi- cesadores se pueden tener en cuen-
Se puede lograr un desempeo mu- Este algoritmo debe resolver dos pro-
cio son: ta dos modelos bsicos: el modelo
cho mejor si se ocultan (es decir, se con blemas. El primero es el de la unidad
1. Aumentar la confiabilidad al dispo- de estacin de trabajo yel de la pila
servan) los archivos de ms reciente uso que maneja el cach. Puede manejar
de procesadores. Las ventajas que
en la memoria principal del servidor. Un archivos completos o bloques del dis- ner de respaldos independientes de
presenta cada uno son muy impor
cliente que lea un archivo ya presente co. Si se ocultan los archivos comple- cada archivo. Si un servidor lalla o
tantes, ya que le permiten tener a
en el cach del servidor elimina la trans- tos, stos se pueden almacenar en for- se pierde en forma permanente, no
cada usuario su propia estacin de
ferencia del disco, aunque se deba rea ma adyacente en el disco, lo cual per- se pierden los datos.
trabajo y aprovechar las estaciones
lizar la transferencia a la red. mite transferencias a alta velocidad en- 2. Permitir el acceso a un archivo, aun de trabajo inactivas para ejecutar
Puesto que la memoria principal tre la memoria y el disco, as como un cuando falle un servidor de archivos. procesos; en las pilas de pro-
siempre es menor que el disco, se ne- buen desempeo en general. Sin em- El fallo de un servidor no debe ha- cesadores, todas las instalaciones
cesita un algoritmo para determinar los bargo, el ocultamiento de bloques de cer que todo el sistema se detenga son un recurso compartido que pue-
archivos o partes de archivos que de- disco utiliza el cach y el espacio en dis- hasta cuando aqul se pueda vol- de ser usado dependiendo de las
ben permanecer en el c~ch. co en forma ms eficiente. ver a arrancar. necesidades de cada usuario.

166~=========================:
/CESJ :
========================~167 ICESI
Cuando se tiene una coleccin de trativa se lleva a cabo por medio de
procesadores para que stos sean comunicaciones orales o escritas, en
asignados a los procesos, se debe muchos casos entre interlocutores
tener la ayuda de los algoritmos de que se encuentran a grandes distan-
asignacin de procesadores. cias, se hace necesario contar con
El sistema distribuido de archivos es redes de terminales inteligentes que LA ULTIMA LECCIN*
el corazn de cualquier Sistema Dis- permitan a dichos interlocutores co-
tribuido y su tarea consiste en alma- municarse en forma confiable y po-
cenar los programas y los datos y der compartir la informacin de ma-
DISCURSO DE GRADO
tenerlos disponibles cuando sea ne- nera transparente.
Promocin Decimosegunda
cesario. Cali, 11 de febrero de 1995
BIBLIOGRAFIA
La implantacin de un sistema dis- Sistemas operativos modernos, Andrew S.
tribuido de archivos implica la toma Tanembaum. Editorial Prentice-Hall Hispa- ALFONSO aCAMPO LONDOO
de varias decisiones: ver si el siste- noamericana S.A.; Mxico, 1992. Rector del ICESI
ma es con estado o sin l, si se debe - Intemet-Working With TCPIIP. Volumen 111.
hacer el ocultamiento y la forma de Client-Server Programming and Appli-
manejar la rplica de archivos. cations.
Definitivamente nos encontramos en Douglas E. Comer and David L. Stevens.
Department 01 Computer Sciences. Purdue
la era de las comunicaciones y, de-
University. Volvemos hoy con gran alegra, pero
bido a que toda actividad adminis- llegar a esta importante etapa de sus
Prentice-Halllntemacional,lnc.
al mismo tiempo con nostalgia, a gra- vidas. Esta deuda la deben pagar crean-
duar a 154 de nuestros alumnos, 95 en do riqueza en Colombia y participando
Pregrado en Administracin de Empre- en la mejora de sus condiciones de
sas e Ingeniera de Sistemas e Infor- competitividad en un mundo que se ha
mtica y 59 de Postgrado, y entre stos globalizado o intemacionalizado y en el
la primera promocin de la especializa- cual la competencia no va a ser slo en
cin en Ingeniera del Software. Con productos, sino en la calidad del talento
ellos ya conformamos un cuerpo de humano que se tiene y que es nuestra
cerca de 3.000 egresados que hemos tarea. Por ello, en este acto, en un pun-
entregado a la sociedad, a las empre- to especial y muy emotivo, los gra-
sas, a sus compaas familiares y las duandos le hacen un homenaje de gra-
propias. titud a sus padres, cnyuges y amigos,
Hemos, desde que ustedes iniciaron que los han ayudado.
sus estudios, recalcado que es un gran En el mundo de hoy, lo que se consi-
privilegio llegar a una Universidad, ya dera la mayor riqueza es el conocimien-
que slo dos de cada cien que inician to y la informacin y por lo tanto la for-
la primaria lo logran y es an mayor pri- macin del ser humano, es la tarea ms
! vilegio el de hacer formacin avanzada importante para hacer. Las riquezas
o de postgrado. Se tiene, pues, una naturales contribuyen al bienestar, so-
deuda social que tiene que pagarse, a lamente si hay un equipo humano que
I1 sus padres, familiares, amigos, patro- las sepa aprovechar, para que sus be-
nes, empresas, a quienes les han ser- neficios se extiendan a todos y no slo
1! vido, y en general a la sociedad y al a unos pocos. Lo que debe importar es
Estado que les han dado las condicio- el beneficio para la totalidad de la co-
nes o infraestructura social para poder munidad y no el aprovechar todo, slo
I
Este discurso contina una tradicin universitaria en que el rector da la primera y la ltima
Iecdn.

168~===============::::::::::::
ICES, :=:::=====::=:=:::==:=====~169
ICESI

Das könnte Ihnen auch gefallen