Sistemas Operativos Centralizados y Distribuidos
Sistemas Operativos
Centralizado: aquel que utiliza los recursos de una sola computadora, es decir, su memoria, CPU, disco y periféricos. Respecto al hardware podemos decir que se suele tratar de un computador caro y de gran potencia, con terminales alfanuméricos directamente conectados. Suele tratarse de una computadora de tipo desktop, en las cuales es común encontrar un monitor grande con un teclado y un mouse; además de un case para albergar la unidad de procesamiento y los demás componentes. Podemos encontrar este tipo de sistemas operativos en un entorno de empresa, en el cual puede haber un soporte multiusuario. Las empresas, en especial las antiguas, utilizan una mainframe potente para dar capacidad de cómputo a muchos terminales, o también se puede encontrar empresas con abundantes minicomputadores para los empleados que las necesiten en sus actividades. Uno de los primeros modelos de ordenadores interconectados fue el centralizado,
donde todo el procesamiento de la organización se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales. Los problemas de este modelo son que cuando la carga de procesamiento aumentaba se tenía que cambiar el hardware del Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades. El otro problema que surgió son las modernas interfases gráficas de usuario, las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar. Otro entorno donde se encuentran sistemas operativos de arquitectura centralizada es en los entornos científicos. En ellos se busca la ejecución eficiente de aplicaciones y el uso de supercomputadores, que son computadoras con capacidades de cálculo muy superiores a las comúnmente disponibles de las máquinas de escritorio. Se suele usar este tipo de máquinas para cálculos en los que intervienen una gran cantidad de operaciones complejas y muchos factores. En un entorno familiar se puede encontrar una computadora. Estas tienen un sistema operativo centralizado porque el ordenador es único y no necesita trabajar en paralelo con ninguna otra computadora, ya que no se encuentra conectado a ninguna. Normalmente estos ordenadores tienen uno o dos procesadores potentes y caros que satisfacen las necesidades de cómputo del usuario. En estos sistemas hay un uso ocasional de la red, como para transferir ficheros o logins remotos. Actualmente prácticamente todos (por no decir todos) los sistemas operativos permiten la transferencia de ficheros. Uno puede conectarse con una máquina en la misma red y acceder a los documentos que ésta esté dispuesta a compartir por orden del usuario o viceversa. Pero no se trata de una transferencia realmente transparente pues el usuario está consciente de que está accediendo a archivos almacenados en un disco diferente al que le pertenece, al que forma parte de su computadora. Asimismo es posible conectarse de forma remota a otra computadora como en el caso de la asistencia remota, pero son más que nada utilidades o funciones agregadas que permite realizar el sistema operativo centralizado, sin llegar a ser lo que buscaba como objetivo principal el sistema al ser diseñado. Son muy conocidos los sistemas centralizados con los que contamos en la actualidad, basta con empezar por los que tenemos instalados en nuestras propias computadoras como Windows, Linux, Mac OS, Unix, etc.
Distribuido: Según Tanenbaum, un sistema distribuido es "una colección de computadoras independientes que aparecen ante los usuarios del sistema como una única computadora. De eso podemos entender que las máquinas son autónomas y los usuarios siempre piensan que el sistema es como una única computadora. Un sistema distribuido se caracteriza por comportarse frente al usuario como una sola máquina; el usuario desconoce sobre qué procesador se está ejecutando sus procesos y dónde residen sus ficheros. Vamos a dar un ejemplo. Primero consideremos una red de estaciones de trabajo en un departamento de una compañía. Además de cada estación de trabajo podría existir una pila de procesadores en el cuarto de máquinas que no estén asignados a usuarios específicos sino que se utilicen de manera dinámica conforme sea necesario. Tal vez el sistema podría tener un sistema de archivos único con todos los archivos accesibles desde todas las máquinas de la misma forma y con el mismo nombre de ruta de acceso. Además, cuando el usuario escriba un comando el sistema podría buscar el mejor lugar para ejecutarlo, tal vez en la propia estación de trabajo de usuario o en una estación de trabajo inactiva que pertenezca a otra persona o en uno de los procesadores no
asignados en el cuarto de máquinas. Si el sistema se ve como un todo y actúa como un sistema de tiempo compartido clásico con un único procesador pondría considerarse como un sistema distribuido. Otro ejemplo es el de un enorme banco con cientos de sucursales por todo el mundo. Cada oficina tiene una computadora maestra para guardar las cuentas locales y el manejo de las transacciones locales. Además cada computadora tiene la capacidad de comunicarse con las otras sucursales y con una computadora central en las oficinas centrales. Si las transacciones se pueden realizar sin importar dónde se encuentre el cliente o la cuenta y los usuarios no observan diferencia alguna entre este sistema y el antiguo centralizado que ha reemplazado también se podría considerar como un sistema distribuido. Los sistemas operativos de red están formados por un software débilmente acoplado en un hardware débilmente acoplado. De no ser por el sistema compartido de archivos a los usuarios les parecería que el sistema consta de varias computadoras. Puede ejecutar su propio sistema operativo y hacer lo que quiera. El siguiente paso en la evolución es el del software fuertemente acoplado en hardware débilmente acoplado, esta es la aparición de los sistemas distribuidos. El objetivo es crear la ilusión en las mentes de los usuarios que toda la red de computadoras es un sistema de tiempo compartido, en vez de máquinas diversas. Debe haber un mecanismo de comunicación global entre los procesos, de forma que cualquier proceso pueda comunicarse con cualquier otro. También un sistema global de protección. La administración de procesos debe ser la misma en todas partes. La forma en que se crean, destruyen y detienen los procesos no debe variar de una máquina a otra. También el sistema de archivos debe tener la misma apariencia en todas partes. Como consecuencia lógica de hecho de tener una misma interfaz de llamadas al sistema en todas partes, es normal que se ejecuten núcleos idénticos en todos los CPU de sistema. Eso facilita la coordinación de las actividades globales. Por ejemplo, cuando se inicie un proceso, todos los núcleos deben cooperar en la búsqueda del mejor lugar para ejecutarlo. Los sistemas distribuidos se basan en la utilización de sistemas de transmisión fiables, eficaces, rápidos que permitan integrar sistemas de distintos fabricantes.