Está en la página 1de 13

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

EL MODELO CLIENTE/SERVIDOR
1. El papel de la Informtica en los 90s
La tecnologa informtica juega un papel cada vez ms importante en la empresa moderna, pues permite no slo disminuir el papeleo y en general agilizar las operaciones, sino tambin lanzar ms rpidamente productos al mercado y en general aumentar la competitividad de la empresa. En los ltimos tiempos se ha venido haciendo un nfasis cada vez mayor en este aspecto, lo cual ha modificado substancialmente el papel que juega la informtica en la empresa, pues adems de ser un elemento de apoyo a las operaciones bsicas se ha constituido en un medio de obtener ventajas competitivas. Adems de lo anterior, los tiempos actuales han modificado substancialmente la forma de operar de las organizaciones, y esto, de pasada, ha inducido modificaciones en el quehacer de la tecnologa computacional dentro de ellas. Algunos de los aspectos que han cambiado son los siguientes [19]: Las aplicaciones deben ser desarrolladas ms rpidamente pues los requerimientos del negocio cambian rpidamente y las primeras deben adaptarse a ellos. Actualmente se dice, por ejemplo, que una aplicacin debe ser desarrollada en un tiempo no mayor de cuatro meses, lo cual contrasta con los dilatados tiempos de desarrollo que usualmente se requeran. Ultimamente se ha hecho mucho nfasis en la importancia de contar con una buena informacin lo cual ha conducido a destacar el importante papel que juegan los sistemas de informacin ejecutivos y los sistemas de soporte a las decisiones. Esto contrasta con el nfasis que antiguamente se le daba al procesamiento de datos. Cada vez es ms importante el poder hacer que la informacin est disponible en donde se necesita. Para lograr esto, tanto la informacin como los sistemas para procesarla deben ser distribuidos a una larga audiencia. A medida que crece la competencia, las organizaciones tienen cada vez menos recursos disponibles para los proyectos internos, incluyendo los sistemas de informacin. Por esta razn las nuevas aplicaciones deben basarse en tecnologas que disminuyan los costos de desarrollo y mantenimiento, en aspectos relacionados con el hardware, el software, la operacin, el entrenamiento, el personal y el mantenimiento. Adems se requiere que las nuevas aplicaciones se puedan comunicar con las existentes. Con el fin de aumentar la productividad y de facilitar el uso de las aplicaciones por parte de los usuarios, se requieren interfaces simples e intuitivas, y que proporcionen un acceso transparente a la informacin. Cada vez es mayor la tendencia hacia la integracin de los sistemas. Lo usual hoy en da es encontrar "islas de informacin" en las diferentes dependencias de una empresa, pero en el futuro se tiende hacia la integracin de ellas y tambin hacia la comunicacin entre las aplicaciones de las diferentes empresas. Esto conduce a la necesidad de la

1 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

interoperabilidad, la cual debe existir entre computadores de diferentes clases y marcas. Las aplicaciones deben adaptarse al ritmo vertiginoso de desarrollo de la tecnologa, para que puedan aprovechar sus potencialidades. Las tecnologas computacionales modernas buscan responder a las necesidades de las empresas de los 90s y para ello plantean nuevas formas de hacer las cosas. Entre ellas una de las ms importantes es el llamado esquema Cliente /Servidor, cuyos principios ms importantes se definen a continuacin.

En qu consiste el esquema cliente-servidor


El esquema cliente-servidor "es un modelo de computacin en el que el procesamiento requerido para ejecutar una aplicacin o conjunto de aplicaciones relacionadas se divide entre dos o ms procesos que cooperan entre s " [21]. Usualmente la mayora del trabajo pesado se hace en el proceso llamado servidor y el (los) proceso(s) cliente(s) slo se ocupa de la interaccin con el usuario (aunque esto puede variar). Los principales componentes del esquema cliente-servidor son entonces los Clientes, los Servidores y la infraestructura de comunicaciones. Los Clientes interactan con el usuario, usualmente en forma grfica. Frecuentemente se comunican con procesos auxiliares que se encargan de establecer conexin con el servidor, enviar el pedido, recibir la respuesta, manejar las fallas y realizar actividades de sincronizacin y de seguridad. Los Servidores proporcionan un servicio al cliente y devuelven los resultados. En algunos casos existen procesos auxiliares que se encargan de recibir las solicitudes del cliente, verificar la proteccin, activar un proceso servidor para satisfacer el pedido, recibir su respuesta y enviarla al cliente. Adems deben manejar los interbloqueos, la recuperacin ante fallas, y otros aspectos afines. Por las razones anteriores la plataforma computacional asociada con los servidores es ms poderosa que la de los clientes. Por esta razn se utilizan PCs poderosos, estaciones de trabajo, minicomputadores o sistemas grandes. Adems deben manejar servicios como administracin de la red, mensajes, control y administracin de la entrada al sistema ("login"), auditora y recuperacin y contabilidad. Usualmente en los servidores existe algn tipo de servicio de bases de datos. Para que los clientes y los servidores puedan comunicarse se requiere una infraestructura de comunicaciones, la cual proporciona los mecanismos bsicos de direccionamiento y transporte. La mayora de los sistemas Cliente/Servidor actuales se basan en redes locales y por lo tanto utilizan protocolos no orientados a conexin, lo cual implica que las aplicaciones deben hacer las verificaciones. La red debe tener caractersticas adecuadas de desempeo, confiabilidad, transparencia y administracin. Como ejemplos de clientes pueden citarse interfaces de usuario para enviar comandos a un servidor, APIs para el desarrollo de aplicaciones distribuidas, herramientas en el cliente para hacer acceso a servidores remotos (por ejemplos servidores de SQL) o aplicaciones que solicitan acceso a servidores para algunos servicios.

2 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

Como ejemplos de servidores pueden citarse servidores de ventanas como X-windows, servidores de archivos como NFS, servidores para el manejo de bases de datos, como los servidores de SQL, servidores de diseo y manufactura asistidos por computador, etc.

Ventajas e inconvenientes del esquema Cliente/Servidor


Se mencionan a continuacin algunas de las ventajas de la utilizacin del esquema Cliente/Servidor. Uno de los aspectos que ms ha promovido el uso de sistemas Cliente/Servidor es la existencia de plataformas de hardware cada vez ms baratas. Esta constituye a su vez una de las ms palpables ventajas de este esquema, la posibilidad de utilizar mquinas considerablemente ms baratas que las requeridas por una solucin centralizada, basada en sistemas grandes. Adems de lo anterior, se pueden utilizar componentes, tanto de hardware como de software, de varios fabricantes, lo cual contribuye considerablemente a la reduccin de costos y favorece la flexibilidad en la implantacin y actualizacin de soluciones. Adems de lo anterior, el esquema Cliente/Servidor facilita la integracin entre sistemas diferentes y compartir informacin, permitiendo, por ejemplo que las mquinas ya existentes puedan ser utilizadas pero utilizando interfaces ms amigables al usuario. De esta manera podemos, por ejemplo, integrar PCs con sistemas medianos y grandes, sin que todas las mquinas tengan que utilizar el mismo sistema operacional. Al favorecer el uso de interfaces grficas interactivas, los sistemas construidos con este esquema tienen una interaccin ms intuitiva con el usuario. Si se utilizan interfaces grficas para interactuar con el usuario, el esquema Cliente/Servidor presenta la ventaja, con respecto a uno centralizado, de que no es siempre necesario transmitir informacin grfica por la red pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho de banda de la red. Una ventaja adicional del uso del esquema Cliente / Servidor es que es ms rpido el mantenimiento y el desarrollo de aplicaciones pues se pueden emplear las herramientas existentes (por ejemplo los servidores de SQL o las herramientas de ms bajo nivel como los sockets o el RPC ). La estructura inherentemente modular facilita adems la integracin de nuevas tecnologas y el crecimiento de la infraestructura computacional, favoreciendo as la escalabilidad de las soluciones. El esquema Cliente/Servidor contribuye adems a proporcionar a los diferentes departamentos de una empresa soluciones locales, pero permitiendo adems la integracin de la informacin relevante a nivel global. El esquema cliente/servidor tiene algunos inconvenientes que se mencionan a continuacin. Por una parte, el mantenimiento de los sistemas es ms difcil pues implica la interaccin de diferentes partes de hardware y de software, distribuidas por distintos proveedores, lo cual dificulta el diagnstico de fallas. Adems de lo anterior, se cuenta con muy escasas herramientas para la administracin y ajuste
3 de 13 29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

del desempeo de los sistemas. En el desarrollo de aplicaciones Cliente/Servidor se deben tener en cuenta diferentes aspectos, que se mencionan a continuacin. Por un lado, es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en diferentes plataformas. Adems hay que tener estrategias para el manejo de errores y para mantener la consistencia de los datos. La seguridad de un esquema Cliente/Servidor es otra preocupacin importante. En este caso los mecanismos son distintos que en el caso de los sistemas centralizados. Por ejemplo, se deben hacer verificaciones en el cliente y en el servidor. Tambin se puede recurrir a otras tcnicas como el encriptamiento. El desempeo es otro de los aspectos que se deben tener en cuenta en el esquema Cliente/Servidor. Problemas de este estilo pueden presentarse por congestin en la red, dificultad de predecir el trfico, etc. Un aspecto directamente relacionado con el anterior es el de cmo distribuir los datos en la red. En el caso de una empresa, por ejemplo, este puede ser hecho por departamentos, geogrficamente, o de otras maneras. Adems hay que tener en cuenta que en algunos casos, por razones de confiabilidad o eficiencia se pueden tener datos replicados, y que puede haber actualizaciones simultneas. A otro nivel, una de las decisiones que deben tomar las organizaciones es la de si compran o desarrollar los diferentes componentes.

Qu ventajas puede aportar el esquema cliente servidor a las empresas.


En una seccin anterior presentamos las ventajas del esquema Cliente/Servidor haciendo nfasis en los aspectos tcnicos. En esta veremos cmo estas pueden beneficiar a la empresa. Como una primera ventaja podemos mencionar que con el uso de este esquema se reducen los costos de produccin de software y se disminuyen los tiempos requeridos. Esto es as pues, para la construccin de una nueva aplicacin pueden usarse los servidores que haya disponibles reducindose el desarrollo a la elaboracin de los procesos del cliente, segn los requerimientos deseados. Lo anterior disminuye los costos internos del rea de sistemas. Adems, se pueden obtener ventajas importantes al reducir el costo del hardware requerido, llevando las aplicaciones a plataformas ms baratas, aprovechando el poder de cmputo de los diferentes elementos de la red, y facilitando la interaccin entre las distintas aplicaciones de la empresa. El esquema Cliente/Servidor tambin contribuye a una disminucin de los costos de entrenamiento de personal pues favorecen la construccin de interfaces grficas interactivas, las cuales son ms intuitivas y fciles de usar por el usuario final. Otra de las ventajas del esquema Cliente/Servidor es que facilita el suministro de informacin a los usuarios. Esto es as porque, por un lado proporciona una mayor consistencia a la informacin de la empresa al contar con un control centralizado de los elementos compartidos, y por otro,

4 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

porque facilita la construccin de interfaces grficas interactivas, las cuales pueden hacer que los "datos" se conviertan en "informacin". Adems de lo anterior, el esquema Cliente/Servidor permite llevar ms fcilmente la informacin a donde se necesita, adems de que contribuye a aumentar su precisin pues se puede obtener de su fuente (el servidor) y no de una copia en papel o en medio magntico. La habilidad de integrar sistemas heterogneos es inherente al modelo Cliente/Servidor, pues los clientes y los servidores pueden existir en mltiples plataformas y hacer acceso a datos de cualquier sitio de la red. Adems un cliente puede integrar datos de diferentes sitios para presentarlos, a su manera, al usuario final. Al favorecer la construccin de interfaces grficas interactivas y el acceso transparente a diferentes nodos de la red se facilita el uso de las aplicaciones por parte de los usuarios, lo cual aumenta su productividad. El esquema Cliente/Servidor tambin favorece la adaptacin a cambios en la tecnologa pues facilita la migracin de las aplicaciones a otras plataformas y, al aislar claramente las diferentes funciones de una aplicacin hace ms fcil incorporar nuevas tecnologas en esta. Al igual que el esquema cliente/servidor, hoy en da es muy importante los conceptos de sistemas abiertos e interoperabilidad, los cuales estn intimamente ligados con el concepto de cliente/servidor. Hace algunos aos cuando una empresa decida comprar un equipo no poda evitar quedar casada con la compaa vendedora, pues esta era la nica que poda prestar servicios de mantenimiento y actualizacin. Dado que los equipos de diferentes vendedores no tenan nada en comn, cualquier desarrollo posterior a la primera compra implicaba compras al mismo vendedor, por factores de compatibilidad. Por esta razn se reduca la competencia, pues las grandes compaas acaparaban el mercado y los clientes no podan cambiar de proveedor. Con este panorama surgi la idea de la implantacin de estndares, porque ellos posibilitan el intercambio de informacin de manera coherente entre productos de diferentes vendedores. Esto permite a nuevos proveedores la oportunidad de entrar al mercado y a los clientes la oportunidad de cambiar de proveedor. Con el establecimiento de estndares aparecieron los sistemas abiertos. Un sistema abierto es un medio en el cual se pueden intercambiar componentes de software y hardware, dando a un usuario mayor posibilidad de escoger productos de acuerdo a sus necesidades y fomentando la competencia entre proveedores, que deben mejorar sus servicios para ganar clientes. Un sistema abierto cuenta con las siguientes propiedades : Interoperabilidad : Componentes de mltiples proveedores pueden intercambiar informacin, por medio de interfaces bien definidas, reduciendo el costo de interconexin e integracin. Portabilidad : Permite a un sistema instalado en un medio, ser instalado en otro, minimizando el costo de la migracin.

5 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

Integracin : Permite compartir e intercambiar informacin, mostrando consistencia de comportamiento y presentacin. Los sistemas abiertos son la plataforma adecuada para desarrollo de aplicaciones distribuidas, porque se pueden combinar las ventajas de diferentes mquinas y sistemas operacionales. Para implementar el intercambio de informacin el modelo de comunicacin ms popular es el modelo cliente-servidor, el cual permite que el usuario invoque servicios de forma transparente. Con este marco a continuacin sern expuestos algunos sistemas cliente/servidor ofrecidos comercialmente, tales como : Arquitecturas abiertas propuestas por la Open Software Foundation (OSF), y sistemas operacionales abiertos propuestos por Digital y Microsoft basados en el estndar de la OSF.

2. Marco general
2.1 Fundacin para la promocin de Software abierto : Open Software Foundation (OSF)
La OSF fue conformada en mayo de 1988 especficamente para desarrollar tecnologas de software y proveerlas a la industria en trminos razonables. Para ello OSF est usando tecnologa establecida por UNIX como base para el desarrollo inicial. No obstante, su objetivo no es desarrollar una versin definitiva del sistema operacional UNIX. El objetivo de la OSF es ampliar la definicin de 'abierto' en computacin. Esto no significa la eliminacin de los sistemas operativos propietarios. Lo que trata realmente es de evitar que cualquier usuario de software deba quedar casado con un vendedor, para ello cada vendedor debe proveer una interface adecuada, compatible con ms aplicaciones.

2.2 Arquitectura abierta propuesta por la OSF "Ambiente para computacin distribuida" ( DCE-Distributed Computing Environment ) :
OSF se concentr especialmente en la interoperabilidad entre productos de mltiples vendedores, donde el principal objetivo es el procesamiento cooperativo distribuido. Para ello se busca establecer estndares que permitan la conexin a mltiples niveles. Este conjunto de estndares conforman un ambiente de computacin distribuida DCE [1][2] (figura1). DCE ofrece un conjunto de servicios organizados en dos categoras: servicios fundamentales y servicios para compartir datos. Los primeros incluyen herramientas para el desarrollo de software tales como RPC, servicios de nombres, seguridad, tiempo y threads. Los segundos proveen al usuario final manejo de archivos distribuidos y soporte sin disco. Estos servicios son portables a muchos computadores, porque estn escritos en cdigo C y son soportados por los servidores DCE en una red. Servicio de threads : Permite mltiples secuencias o flujos de control, lo cual en particular permite ejecutar varios servicios simultneamente. Cada thread es esencialmente un camino independiente entre un cliente y un servidor, permitiendo a un cliente interactuar con muchos

6 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

servidores y viceversa (en el contexto de sistemas distribuidos). El servicio de threads incluye operaciones para crear y controlar mltiples threads en un slo proceso y para sincronizar el acceso a datos globales. Llamado a procedimientos remotos RPC : Maneja las diferentes representaciones de datos en los hosts que integran el sistema. Esto permite la interaccin tanto de computadores homogneos como de computadores heterogneos. El RPC de OSF provee un compilador que convierte la descripcin de interfaces de alto nivel de los procedimientos remotos en cdigo fuente C. Servicio de nombres y directorio distribuido : Permite a los usuarios de nombres tales como servidores de archivos, discos, colas de impresoras, obtener acceso a los recursos sin conocer donde estn localizados en la red. Servicio de tiempo : Soporta sincronizacin de relojes, tolerando las cadas.

Servicio de seguridad : Provee autenticacin, autorizacin y manejo de cuentas de usuarios. La autenticacin bsica y autorizacin son provistas por la facilidad RPC de OSF para detectar mensajes daados. Para la autenticacin es utilizado el sistema Kerberos. Sistema de archivos distribuidos DFS (Distributed File System) : DFS de OSF facilita el acceso a archivos globales, dando interfaces consistentes a los sistemas de archivos y a los computadores individuales (de manera similar a NFS). Soporte sin disco : Este servicio es provisto para que las estaciones de trabajo sin disco (de bajo costo) tengan acceso a discos localizados en servidores. Administracin: Un conjunto de utilidades de manejo son incluidas como parte de DCE.

2.3 Sistemas Operacionales Abiertos propuestos por Digital y Microsoft basados en el estndar de la OSF
Un punto clave para el desarrollo de sistemas distribuidos es la existencia de sistemas operacionales abiertos. Dichos sistemas operacionales permiten el intercambio coherente de datos entre componentes de software de diferentes desarrolladores. A continuacin se muestran dos de estos sistemas operacionales: OSF/1 y WINDOWS NT desarrollados por Digital y Microsoft respectivamente.

2.3.1 OSF/1 (Overview) Varios de los mayores manufacturadores de computadores fundaron la OSF en 1988, para desarrollar y entregar software para sistemas abiertos [1][2]. El sistema operacional OSF/1 es clave en la estrategia de desarrollo de los sistemas abiertos. Los objetivos para el diseo de OSF/1 son : soporte multiprocesador, portabilidad a diferentes arquitecturas, compatibilidad con el estndar POSIX, compatibilidad con el sistema V de UNIX, soporte para certificacin de seguridad, comandos y libreras internacionalizadas, una estrategia para el desarrollo del sistema operacional a largo plazo.

7 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

Con estos requerimientos la OSF escogi Mach como el kernel de OSF/1 y se continuo el desarrollo remplazando y adicionando subsistemas. Objetivos de diseo de Mach : el sistema operacional debera ser multiusuario y multitarea, compatible con una red, un buen ambiente para desarrollo de programas, bien recibido en las comunidades universitarias, investigativas y de negocios, extensible, robusto y fcil de ampliar. Mach fue creado con la idea de crear un kernel lo ms pequeo posible que contenga slo lo necesario para que los programadores construyan objetos ms complejos. Mach est basado en el modelo cliente/servidor, y la idea principal es dividir el S.O. en varios procesos, cada uno de los cuales implementa un conjunto simple de servicios (asignacin de memoria, creacin de procesos, asignacin del procesador). El cliente que puede ser otro componente del sistema operacional o una aplicacin enva un mensaje al servidor, ste ejecuta la operacin y devuelve la respuesta. Los mensajes enviados del cliente al servidor y en el sentido contrario (request y reply) son reconocidos y manejados por el ncleo. De esta implementacin resulta un sistema operacional con componentes pequeas y autosuficientes. Si un servidor del sistema falla y dado que cada uno de ellos corre como un proceso independiente, no pasa nada con el resto del sistema. Adicionalemente, los servidores pueden correr en computadores o en procesadores separados, posibilitando el sistema para arquitecturas multiprocesador y/o distribuidas. Mach presenta cinco abstracciones bsicas para la comprensin del sistema [10]: Task : El primer componente es un task, el cual contiene todos los recursos asignados para la ejecucin de un proceso. Thread : Cada task puede tener uno o ms threads, que son la unidad mnima de ejecucin de un programa. Los threads comparten los recursos asignados al task al que pertenecen. Port : Son los canales a travs de los cuales los threads se comunican. Un puerto es un recurso que es propiedad de un task. Message : Un mecanismo de comunicacin para threads en diferentes tasks es el intercambio de mensajes. Un mensaje es una coleccin de datos. Memory Object : Mach soporta polticas de paginacin de memoria virtual en un programa a nivel de usuario; esto es, Mach permite al usuario el manejo de la memoria virtual. Los "memory object" son una abstraccin para soportar esta capacidad.

OSF/1 permite cambiar las polticas de asignacin del procesador a nivel de usuario, mediante el cambio del servidor del procesador. Para realizar estos cambios es necesario reconfigurar el sistema operativo. Mach distingue claramente entre los aspectos del sistema operacional los que son dependientes e independientes del hardware. Portar Mach a otro computador es simple, porque son
8 de 13 29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

relativamente pequeos los componentes del sistema que deben ser reescritos para que corra sobre un hardware diferente. Muchos de los servicios del ncleo de OSF/1 derivan de Mach. Sin embargo OSF/1 presenta otras caractersticas: Las caractersticas UNIX de OSF/1 se originan en los sistemas operacionales 4.3 BSD y 4.4 BSD pero el cdigo usado ha sido paralelizado para tomar ventaja del procesamiento paralelo que hace Mach. OSF/1 adems soporta los sistemas de archivos de sistemaV, el sistema UFS de BSD y el sistema NFS de Sun Microsystems. OSF/1 incluye el paquete de STREAMS (paralelizado) para compatibilidad con sistemaV release3. El cargador extensible permite adicionar drivers, mdulos de STREAMS, sistemas de archivos y protocolos de comunicacin a un sistema que este corriendo. En el rea de redes, OSF/1 incluye versiones paralelizadas de los protocolos Internet TCP/IP, la interface de sockets de BSD, soporte a STREAMS, compatibilidad con NFS, X/Open Transport Interface (XTI) paralelizado, y Transport Layer Interface (TLI) de AT&T.

2.3.2 Windows NT (Overview) Los objetivos para el diseo del software de NT fueron: extensibilidad, portabilidad, confiabilidad, robustez, compatibilidad y eficiencia [4]. Para el diseo de Windows NT se siguieron tres modelos [4][8] : CLIENTE/SERVIDOR para proveer a los usuarios ambientes para mltiples sistemas operativos, OBJETO para manejar uniformemente los recursos del sistema y MULTIPROCESAMIENTO SIMTRICO que permite a NT obtener la mayor eficiencia de un computador multiprocesador. Modelo CLIENTE/SERVIDOR La idea es dividir el S.O. en varios procesos, cada uno de los cuales implementa un conjunto simple de servicios (asignacin de memoria, creacin de procesos, asignacin del procesador). NT usa el modelo cliente/servidor principalmente para proveer APIs, los servidores se comunican con las aplicaciones por paso de mensajes. Beneficios del modelo cliente/servidor Simplifica la base del sistema operacional Teniendo cada API en un servidor separado se evitan conflictos y permite que nuevos APIs sean adicionados fcilmente Aumenta la disponibilidad, porque cada servidor corre en un proceso separado Como los servidores corren en modo usuario, no pueden accesar directamente el hardware
9 de 13 29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

o modificar la memoria en la cual el ncleo del sistema est almacenado Modelo OBJETO Aunque no es un sistema estrictamente orientado por objetos, NT usa objetos para representar los recursos del sistema. De esta forma, los objetos se pueden manejar uniformemente, pueden ser compartidos, la seguridad se simplifica (por el uso de manijas) y se minimiza el impacto de los cambios sobre el sistema durante el tiempo (que es uno de los principales objetivos de los sistemas O.O.). Beneficios del modelo El sistema operacional accesa y maneja sus recursos de manera uniforme por medio de manijas. Este crea, borra y se refiere a un objeto evento de la misma manera que se refiere a un objeto proceso. La seguridad se simplifica dado que los objetos slo pueden ser cambiados va sus mtodos y a ellos slo se tienen acceso a travs de la manija. Los objetos proveen un paradigma simple para compartir recursos entre dos o ms procesos. Dos procesos comparten un objeto, cuando ambos tienen su manija, adems el sistema operacional puede saber cuantas manijas hay que referencian un objeto y eliminar el que no est siendo usado. MULTIPROCESAMIENTO SIMETRICO El multiprocesamiento asimtrico selecciona el mismo procesador para ejecutar cdigo del S.O., mientras los otros procesadores corren slo trabajos del usuario. Los S.O. diseados bajo este modelo no son portables. El multiprocesamiento simtrico permite a un S.O. correr sobre cualquier procesador o sobre varios simultneamente balanceando la carga del sistema, adems hacen que el S.O. sea ms portable, porque no requiere recursos especiales de hardware. El ncleo de WINDOWS NT provee un conjunto abundante de mecanismos que posibilitan su crecimiento y cambio. Estructura de WINDOWS NT NT puede ser dividido en dos partes : la parte que corre en modo usuario, formada por los servidores llamados subsistemas protegidos (cada uno corre como un proceso independiente cuya memoria es protegida por el ejecutivo) y la parte que corre en modo ncleo (el ejecutivo) [4] (figura 4). Responsabilidades de los componentes del ejecutivo : Llamada a procedimientos locales LPC, y paso de mensajes entre un cliente y un servidor en el mismo computador. Manejador de Objetos : Crea, maneja y borra objetos del ejecutivo que son usados para

10 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

representar recursos del sistema operacional. Monitor de referencias de seguridad : Administra las polticas locales de seguridad y protege los recursos del sistema operacional. Manejador de procesos : Administras los procesos y threads. Manejador de memoria virtual : Implementa un esquema que provee un gran espacio de direcciones privado para cada proceso. Ncleo : Responde a interrupciones y excepciones, asigna threads para ejecucin, sincroniza las actividades de mltiples procesadores y proporciona objetos e interfaces elementales para que el resto del ejecutivo pueda implementar objetos de alto nivel. Sistema de I/O : Grupo de componentes responsable de procesar entradas/salidas. Manejador de I/O: implementa entradas/salidas independientes del dispositivo Sistema de archivos: manejadores de NT que aceptan pedidos de entrada/salida orientados a archivos y los trasladan a pedidos para un dispositivo particular Redireccionador y servidor de red: transmite pedidos remotos de entrada/salida Manejadores de dispositivos de bajo nivel Manejador de zona intermedias escondidas (cache): mantiene lo ms recientemente ledo de disco en memoria

Nivel de Abstraccin de Hardware (Hardware Abstraction Layer) HAL : Coloca un nivel de cdigo entre el ejecutivo y el hardware, escondiendo los detalles dependientes del ltimo. Un punto importante para la eficiencia de sistemas multiprocesador es el manejo de procesos y threads o procesos livianos. En NT un proceso comprende un programa ejecutable, espacio de direcciones privado, recursos del sistema y al menos un thread de ejecucin. Los procesos de NT tienen varias caractersticas que los distinguen de los procesos en otros sistemas operacionales: Son implementados como objetos y son accesados usando mtodos de objetos Un proceso puede tener mltiples threads ejecutndose en su espacio de direcciones Procesos y threads son creados con capacidades de sincronizacin El manejador de procesos no mantiene relaciones entre los procesos que crea

11 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

Los componentes esenciales de un thread en NT son : identificador nico, registros de estado, dos pilas (una para ejecucin en modo ncleo y la otra en modo usuario) y rea de almacenamiento privado para uso de los subsistemas, libreras "runtime" y de encadenamiento dinmico. Un thread tiene dos tipos especiales de puertos : el de depuracin y el de excepcin. Estos son canales de comunicacin entre el sistema operativo y el thread.

3. Bibliografa
[1] Open Software Foundation. Introduction to OSF DCE. Prentice Hall. 1992 [2] Tony Mason. Open Software Foundation's Distributed Computing Environment. UNIX Review enero 92 vol.10 no. 1 [3] Amjad Umar. Distributed Computing, A practical synthesis of networks, client/server systems, distributed applications and open systems. Prentice Hall 1993 [4] Helen Custer. Windows NT. Microsoft Press. 1993 [5] Joseph Boykin, David Kirschen, Alan Langerman, Susan LoVerso Programming under Mach. Unix and Open Systems Series, Addison-Wesley 1993. [6] Richard Stevens. Unix Network programming. Prentice Hall. 1990. [7] Martin Hall, Mark Towfiq, Geoff Arnold, David Treadwell, Henry Sanders. Windows Sockets, An open interface for Network Programming under Microsoft Windows. [8] Ward Rosenberry, Jim Teague. DCE and Windows NT. O'Reilly & Associates, Inc. 1993. [9] John D. Ruley. Networking Windows NT. John Wiley & Sons, Inc. 1994. [10] A. Goscinski. Distributed Operating Systems. Addison-Wesley, 1991. [11] Andrew Tanenbaum. Computer Networks. Prentice-Hall, 1989. [12] Manuales de SUN. Network Programming Guide. Sun microsystems. 1990. [13] Guide to OSF/1 A technical synopsis. O'Reilly & Associates, Inc. 1991. [14] Patrick Smith. Client/Server Computing. Sams Publishing, 1992. [15] NCR. Client/Server Computing. [16] Datapro Client/Server analyst. Why Client Server computing. 1994

12 de 13

29/01/2009 12:17 p.m.

EL MODELO CLIENTE/SERVIDOR

http://agamenon.uniandes.edu.co/~revista/articulos/cliser.html

[17] Datapro Client/Server analyst. Using Client / Server computing to support or enable entreprise strategy. 1994 [18] Inmon W. H.. Client / Server applications in an architected environment, QED, Technical publishing group. [19] NCR. Client/Server computing, Open cooperative computing, the strategy for managing change. [20] Wenig Raymond P. , Pardoe Terry D., Fox Richard K.. Client / Server computing, Internacional Management Services Inc. [21] Datapro Client/Server Analyst, cliente server computing : emerging trends, solutions and strategies, 1994. Volver a.... Artculos Portada de la Revista Contenido de la Revista

13 de 13

29/01/2009 12:17 p.m.

También podría gustarte