Sistemas operativos modernos
un cuarto de máquinas. Ambos se usan para resolver problemas computacionalmente intensi vos, mientras que un sistema distribuido que conecta computadoras por Internet suele ocupar se mucho más de comunicación que de cómputo, y se emplea de diferente manera. En cierto sentido, el acoplamiento débil de las computadoras en un sistema distribuido es tanto una ventaja como una desventaja. Es una ventaja porque las computadoras pueden utili zarse para una gran variedad de aplicaciones, pero es una desventaja porque la programación de esas aplicaciones se dificulta por la falta de un modelo subyacente común. Entre las aplicaciones de Internet típicas están el acceso a computadoras remotas (em pleando telnet y rlogin), el acceso a información remota (ufifizando World Wide Web y FTP, el protocolo de transferencia de archivos), la comunicación de persona a persona (mediante co rreo electrónico y programas de conversación) y muchas aplicaciones que están surgiendo (por ejemplo, comercio electrónico, telemedicina y aprendizaje a distancia). El problema con todas estas aplicaciones es que cada una fiene que volver a inventar la rueda. Por ejemplo, la función básica tanto del correo electrónico como de FTP y World Wide Web es transferir archivos del punto A al punto B, pero cada uno tiene su propia forma de hacerlo, con sus propias conven ciones para asignar nombres, sus propios protocolos de transferencia, sus propias técnicas de replicación, etc. Aunque muchos navegadores Web ocultan estas diferencias para que el usua rio común no las perciba, los mecanismos subyacentes son disfintos por completo. Ocultarlos en el nivel de la interfaz de usuario es como si una persona que visita el sifio Web de un agente de viajes de servicio completo ordenara un viaje de Nueva York a San Francisco, y no se entera ra sino hasta después de si había adquirido un pasaje de avión, tren o autobús. Lo que los sistemas distribuidos añaden a la red subyacente es un paradigma (modelo) co mún que ofrece una manera uniforme de ver todo el sistema. La intención del sistema distri buido es convertir un grupo de máquinas débilmente conectadas en un sistema coherente basado en un solo concepto. A veces el paradigma es sencillo, pero otras veces es más compli cado. En todos los casos, la idea es siempre proporcionar algo que unifique el sistema. Encontramos un ejemplo sencillo de paradigma unificador en un contexto un poco diferente en UNIX, donde se hace que todos los dispositivos de E/S parezcan archivos. Si se opera con teclados, impresoras y líneas en serie de la misma manera, con las mismas primitivas, es más fá cil manejarlos que si todos fueran distintos desde el punto de vista conceptual. Una forma en que un sistema distribuido puede lograr cierto grado de uniformidad, pese al hecho de que el hardware y los sistemas operativos subyacentes sean distintos, es añadiendo una capa de software por arriba del sistema operativo. Esta capa, llamada middleware, se ilustra en la figura 8-28. La capa proporciona ciertas estructuras de datos y operaciones que permiten a procesos y usuarios de máquinas muy dispersas interoperar de forma consistente. En cierto senfido, el middleware es algo así como el sistema operativo de un sistema distri buido. Es por ello que lo estamos tratando en un libro sobre sistemas operativos. Sin embargo, no es un sistema operativo, por lo que no entraremos en demasiados detalles. Si el lector desea un libro dedicado a los sistemas distribuidos, puede consultar Distributed Systems (Tanenbaum y van Steen, 2002). En el resto de este capítulo primero daremos un vistazo al hardware que se usa en los sistemas distribuidos (es decir, la red de computadoras subyacente), luego veremos su software de comunicación (los protocolos de red) y, por último, consideraremos diversos para digmas que se emplean en estos sistemas.
RkJQdWJsaXNoZXIy MjI4NDcx