jueves, 20 de agosto de 2009

Seguridad informática

La seguridad informática consiste en asegurar que los recursos del sistema de información (material informático o programas) de una organización sean utilizados de la manera que se decidió y que el acceso a la información allí contenida así como su modificación sólo sea posible a las personas que se encuentren acreditadas y dentro de los límites de su autorización.

Introducción

Podemos entender como seguridad un estado de cualquier tipo de información (informático o no) que nos indica que ese sistema está libre de peligro, daño o riesgo. Se entiende como peligro o daño todo aquello que pueda afectar su funcionamiento directo o los resultados que se obtienen del mismo. Para la mayoría de los expertos el concepto de seguridad en la informática es utópico porque no existe un sistema 100% seguro. Para que un sistema se pueda definir como seguro debe tener estas cuatro características:
Integridad: La información sólo puede ser modificada por quien está autorizado y de manera controlada.
Confidencialidad: La información sólo debe ser legible para los autorizados.
Disponibilidad: Debe estar disponible cuando se necesita.
Irrefutabilidad (No repudio): El uso y/o modificación de la información por parte de un usuario debe ser irrefutable, es decir, que el usuario no puede negar dicha acción.
Dependiendo de las fuentes de amenaza, la seguridad puede dividirse en tres partes: seguridad física, seguridad ambiental y seguridad lógica.
En estos momentos la seguridad informática es un tema de dominio obligado por cualquier usuario de la Internet, para no permitir que su información sea comprometida.

Fundamentos Tecnicos

¿Qué es Internet?
Una primera versión de este artículo se escribirió originalmente en 1996 - hace ya casi diez años. Iba a formar parte de un libro que en realidad nunca se terminó, ni publicó. Se puede acceder a la
versión completa original mediante la Wayback Machine, de Archive.org que (lógicamente) está muy desactualizada. Este es un resumen de aquel artículo, con alguna pequeña actualización y enlaces a las definiciones más importantes - a modo de guía rápida para novatos.

Internet es una gigantesca redInternet es un conjunto de redes: redes de ordenadores y equipos físicamente unidos mediante cables que conectan puntos de todo el mundo. Estos cables se presentan en muchas formas, desde cables de red local (varias máquinas conectadas en una oficina o campus) a cables telefónicos convencionales, digitales y canales de fibra óptica que forman las «carreteras» principales. Esta gigantesca Red se difumina en ocasiones porque los datos pueden transmitirse vía satélite, o a través de servicios como la telefonía celular, o porque a veces no se sabe muy bien a dónde está conectada.
En cierto modo, no hay mucha diferencia entre Internet y la red telefónica que todos conocemos, dado que sus fundamentos son parecidos. Basta saber que cualquier sistema al que se pueda acceder a través de algún tipo de «conexión», como un ordenador personal, una base de datos en una universidad, un servicio electrónico de pago (como AOL), un fax, un teléfono o la máquina expendedora de tickets del cine, pueden ser, y de hecho forman, parte de Internet.
El acceso a los diferentes ordenadores y equipos que están conectados a Internet puede ser público o estar limitado. Una red de cajeros automáticos o terminales de banco, por ejemplo, pueden estar integrados en Internet pero no ser de acceso público, aunque formen parte teórica de la Red. Lo interesante es que cada vez más de estos recursos están disponibles a través de Internet: fax, teléfono, radio, televisión, imágenes de satélites o cámaras de tráfico son algunos ejemplos.
En cuanto a organización, Internet no tiene en realidad una cabeza central, ni un único organismo que la regule o al que pedirle cuentas si funciona mal. Gran parte de la infraestructura es pública, de los gobiernos mundiales, organismos y universidades. Muchos grupos de trabajo trabajan para que funcione correctamente y continúe evolucionando. Otra gran parte de Internet es privada, y la gestionan empresas de servicios de Internet (que dan acceso a los clientes) o simplemente publican contenidos. Como Internet está formada por muchas redes independientes, que hablan el mismo lenguaje, ni siquiera están claros sus límites.
Para complicar un poco más el asunto, el acceso a Internet suele ser libre y gratuito para estudiantes y profesores (debido a su filosofía de origen) y también lo es el uso de la infraestructura para todo el mundo, aunque los particulares y los proveedores de acceso generlamente han de pagar para tener acceso y realizar actividades comerciales o privadas.

¿Cómo funciona Internet?En Internet, las comunicaciones concretas se establecen entre dos puntos: uno es el ordenador personal desde el que uno accede y el otro es cualquiera de los servidores que hay en la Red y facilitan información.
Uno de los fundamentos de Internet es el TCP/IP, un protocolo de transmisión que asigna a cada máquina que se conecta un número específico, llamado «número IP» (que actúa a modo de «número teléfono único») como por ejemplo 80.123.234.111.
El protocolo
TCP/IP sirve para establecer una comunicación entre dos puntos remotos mediante el envío de información en paquetes. Al transmitir un mensaje o una página con imágenes, por ejemplo, el bloque completo de datos se divide en pequeños bloques que viajan de un punto a otro de la red, entre dos números IP determinados, siguiendo cualquiera de las posibles rutas. La información viaja por muchos ordenadores intermedios a modo de repetidores hasta alcanzar su destino, lugar en el que todos los paquetes se reunen, reordenan y convierten en la información original. Millones de comunicaciones se establecen entre puntos distintos cada día, pasando por cientos de ordenadores intermedios.
La gran ventaja del TCP/IP es que es inteligente. Como cada intercambio de datos está marcado con números IP determinados, las comunicaciones no tienen por qué cruzarse. Y si los paquetes no encuentran una ruta directa, los ordenadores intermedios prueban vías alternativas. Se realizan comprobaciones en cada bloque para que la información llegue intacta, y en caso de que se pierda alguno, el protocolo lo solicita de nuevo hasta que se obtiene la información completa.
TCP/IP es la base de todas las máquinas y software sobre el que funciona Internet: los programas de
correo electrónico, transferencia de archivos y transmisión de páginas con texto e imágenes y enlaces de hipertexto. Cuando es necesario, un servicio automático llamado DNS convierte automáticamente esos crípticos números IP a palabras más inteligibles (como www.universidad.edu) para que sean fáciles de recordar.
Toda Internet funciona a través de TCP/IP, y razones históricas hacen que está muy ligado al sistema operativo
Unix (y sus variantes). Por fortuna, los usuarios actuales no necesitan tener ningún conocimiento de los crípticos comandos Unix para poder navegar por la Red: todo lo que necesitan es un ratón.


Historia de InternetInternet se inició en los Estados Unidos. A finales de los años 60, la ARPA (Agencia de Proyectos de Investigación Avanzados) del Departamento de Defensa definió el protocolo TCP/IP con intención de facilitar la conexión de diversos tipos de ordenadores, principalmente para temas de investigación. Ahora el TCP/IP sirve para garantizar la transmisión de los paquetes de información entre lugares remotos, siguiendo cualquier ruta disponible.
En 1975,
ARPAnet comenzó a funcionar como red, sirviendo como base para unir centros de investigación militares y universidades, y se trabajó en desarrollar protocolos más avanzados para diferentes tipos de ordenadores y cuestiones específicas. En 1983 se adoptó el TCP/IP como estándar principal para todas las comunicaciones, y en 1990 desapareció ARPAnet para dar paso junto a otras redes TCP/IP a Internet. Por aquel entonces también comenzaron a operar organizaciones privadas en la Red.


Poco a poco, todos los fabricantes de ordenadores personales y redes incorporaron el TCP/IP en sus sistemas operativos, de modo que en la actualidad cualquier equipo está listo para conectarse a Internet.
Internet une muchas redes, incluyendo como más importantes la que proporciona acceso a los grupos de noticias (
Usenet), que data de 1979 y (conceptualmente) la todavía más conocida World Wide Web, desde principios de los 90.
En España, Internet comenzó a implantarse a finales de los 80, a través del programa IRIS. En 1990 nació como tal
RedIRIS, entidad que obtuvo la condición de red oficial de cara a los estándares internacionales de Internet, y que fue adoptando poco a poco cada uno de los servicios existentes. En 1991 surgió Goya, el primer proveedor de acceso privado a Internet, y entre 1992 y 1994 se produjo su implantación de Internet en la mayor parte de las universidades y la llegada de más servicios globales y proveedores de acceso. 1995 fue el año definitivo para la popularización de Internet en España, el «boom» de los proveedores de Internet y también la fecha de nacimiento de InfoVía, la «Internet Española» de Telefónica.

En Conclusion Y Por Tanto... ¿Qué es Internet?El lector puede leer muchísimo sobre los conceptos básicos de Internet, su funcionamiento interno y su historia... descubir cómo se llaman los servicios concretos que ofrece a los usuarios y para qué sirve cada uno de ellos. Pero, ¿se puede resumir en una frase dado todo lo que engloba Internet?
Si hubiera que hacerlo, tal vez bastaría con decir que Internet es el mayor conjunto que existe de información, personas, ordenadores y software funcionando de forma cooperativa, publicando y organizando información, e interactuando a nivel global.


Sistemas Operativos - Fundamntos
A finales de los 40's el uso de computadoras estaba restringido a aquellas empresas o instituciones que podían
pagar su alto precio, y no existían los sistemas operativos. En su lugar, el programador debía tener un
conocimiento y contacto profundo con el hardware, y en el infortunado caso de que su programa fallara, debía
examinar los valores de los registros y paneles de luces indicadoras del estado de la computadora para
determinar la causa del fallo y poder corregir su programa, además de enfrentarse nuevamente a los
procedimientos de apartar tiempo del sistema y poner a punto los compiladores, ligadores, etc; para volver a
correr su programa, es decir, enfrentaba el problema del procesamiento serial ( serial processing ) [Stal92].
La importancia de los sistemas operativos nace históricamente desde los 50's, cuando se hizo evidente que el
operar una computadora por medio de tableros enchufables en la primera generación y luego por medio del
trabajo en lote en la segunda generación se podía mejorar notoriamente, pues el operador realizaba siempre
una secuencia de pasos repetitivos, lo cual es una de las características contempladas en la definición de lo que
es un programa. Es decir, se comenzó a ver que las tareas mismas del operador podían plasmarse en un
programa, el cual a través del tiempo y por su enorme complejidad se le llamó "Sistema Operativo". Así,
tenemos entre los primeros sistemas operativos al Fortran Monitor System ( FMS ) e IBSYS [Tan92].
Posteriormente, en la tercera generación de computadoras nace uno de los primeros sistemas operativos con la
filosofía de administrar una familia de computadoras: el OS/360 de IBM. Fue este un proyecto tan novedoso y
ambicioso que enfrentó por primera vez una serie de problemas conflictivos debido a que anteriormente las
computadoras eran creadas para dos propósitos en general: el comercial y el científico. Así, al tratar de crear un
solo sistema operativo para computadoras que podían dedicarse a un propósito, al otro o ambos, puso en
evidencia la problemática del trabajo en equipos de análisis, diseño e implantación de sistemas grandes. El
resultado fue un sistema del cual uno de sus mismos diseñadores patentizó su opinión en la portada de un libro:
una horda de bestias prehistóricas atascadas en un foso de brea.
Surge también en la tercera generación de computadoras el concepto de la multiprogramación, porque debido
al alto costo de las computadoras era necesario idear un esquema de trabajo que mantuviese a la unidad
central de procesamiento más tiempo ocupada, así como el encolado (spooling ) de trabajos para su lectura
hacia los lugares libres de memoria o la escritura de resultados. Sin embargo, se puede afirmar que los
sistemas durante la tercera generación siguieron siendo básicamente sistemas de lote.
En la cuarta generación la electrónica avanza hacia la integración a gran escala, pudiendo crear circuitos con
miles de transistores en un centímetro cuadrado de silicón y ya es posible hablar de las computadoras
personales y las estaciones de trabajo. Surgen los conceptos de interfaces amigables intentando así atraer al
público en general al uso de las computadoras como herramientas cotidianas. Se hacen populares el MS-DOS y
UNIX en estas máquinas. También es común encontrar clones de computadoras personales y una multitud de
empresas pequeñas ensamblándolas por todo el mundo.
Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad de sistemas
operativos en red y sistemas operativos distribuidos. La red mundial Internet se va haciendo accesible a toda
clase de instituciones y se comienzan a dar muchas soluciones ( y problemas ) al querer hacer convivir recursos
residentes en computadoras con sistemas operativos diferentes. Para los 90's el paradigma de la programación
orientada a objetos cobra auge, así como el manejo de objetos desde los sistemas operativos. Las aplicaciones
intentan crearse para ser ejecutadas en una plataforma específica y poder ver sus resultados en la pantalla o
monitor de otra diferente (por ejemplo, ejecutar una simulación en una máquina con UNIX y ver los resultados
en otra con DOS ). Los niveles de interacción se van haciendo cada vez más profundos.












TIPOS DE SISTEMAS OPERATIVOS
En esta sección se describirán las características que clasifican a los sistemas operativos, básicamente se
cubrirán tres clasificaciones: sistemas operativos por su estructura (visión interna), sistemas operativos por los
servicios que ofrecen y, finalmente, sistemas operativos por la forma en que ofrecen sus servicios (visión
externa).
2.1 Sistemas Operativos por su Estructura
Según [Alcal92], se deben observar dos tipos de requisitos cuando se construye un sistema operativo, los
cuales son:
Requisitos de usuario: Sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le quiere
destinar.
Requisitos del software: Donde se engloban aspectos como el mantenimiento, forma de operación, restricciones
de uso, eficiencia, tolerancia frente a los errores y flexibilidad.
A continuación se describen las distintas estructuras que presentan los actuales sistemas operativos para
satisfacer las necesidades que de ellos se quieren obtener.


Estructura monolítica.
Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo programa
compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a cualquier otra (Ver
Fig. 2). Las características fundamentales de este tipo de estructura son:
Construcción del programa final a base de módulos compilados separadamente que se unen a través del
ligador.
Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar mucho
acoplamiento.
Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes aspectos de los recursos de la
computadora, como memoria, disco, etc.
Generalmente están hechos a medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo
mismo carecen de flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.


Estructura jerárquica.
A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se hizo
necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema contenía
subpartes y esto organizado en forma de niveles.
Se dividió el sistema operativo en pequeñas partes, de tal forma que cada una de ellas estuviera perfectamente
definida y con un claro interface con el resto de elementos.
Se constituyó una estructura jerárquica o de niveles en los sistemas operativos, el primero de los cuales fue
denominado THE (Technische Hogeschool, Eindhoven), de Dijkstra, que se utilizó con fines didácticos (Ver Fig.



Se puede pensar también en estos sistemas como si fueran `multicapa'. Multics y Unix caen en esa
categoría.

En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos actuales. Otra forma de
ver este tipo de sistema es la denominada de anillos concéntricos o "rings" (Ver Fig. 4).
En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden
entrar las llamadas de las capas inferiores. De esta forma, las zonas más internas del sistema operativo o
núcleo del sistema estarán más protegidas de accesos indeseados desde las capas más externas. Las capas
más internas serán, por tanto, más privilegiadas que las externas.


Máquina Virtual.
Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina
que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que
suelen estar unidos en el resto de sistemas: la multiprogramación y la máquina extendida. El objetivo de los
sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser
varias máquinas diferentes.
El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la
multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. Estas
máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada
una de ellas se pueda ejecutar un sistema operativo diferente, que será el que ofrezca la máquina extendida al
usuario

Cliente-servidor ( Microkernel)
El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser ejecutado en la
mayoría de las computadoras, ya sean grandes o pequeñas.
Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con las mismas
actividades que los sistemas operativos convencionales.
El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los procesos
pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un cliente que
llama al servidor correspondiente para acceder a un archivo o realizar una operación de entrada/salida sobre un
dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para otro." [Alcal92]. Este
paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el núcleo provee
solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos, dejando a los servidores
proveer la mayoría que el usuario final o programador puede usar. Estos servidores deben tener mecanismos
de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware. Actualmente se
está trabajando en una versión de UNIX que contempla en su diseño este paradigma.


Sistemas Operativos por Servicios
Esta clasificación es la más comúnmente usada y conocida desde el punto de vista del usuario final.


Monousuarios
Los sistemas operativos monousuarios son aquéllos que soportan a un usuario a la vez, sin importar el número
de procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en
un mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón.


Multiusuarios
Los sistemas operativos multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por
medio de varias terminales conectadas a la computadora o por medio de sesiones remotas en una red de
comunicaciones. No importa el número de procesadores en la máquina ni el número de procesos que cada
usuario puede ejecutar simultáneamente.


Monotareas
Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso de
un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de
ellos puede estar haciendo solo una tarea a la vez.


Multitareas
Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores al mismo
tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su depuración mientras
compila otro programa, a la vez que está recibiendo correo electrónico en un proceso en background. Es común
encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo cual permite un rápido
intercambio entre las tareas para el usuario, mejorando su productividad.


Uniproceso
Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la
computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este
tipo de sistemas es el DOS y MacOS.


Multiproceso
Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y éste
es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos
formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativo selecciona
a uno de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la
carga a los demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica,
los procesos o partes de ellos (threads) son enviados indistintamente a cualesquira de los procesadores
disponibles, teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este
esquema.
Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual puede consistir de un
área de memoria, un conjunto de registros con valores específicos, la pila y otros valores de contexto. Us
aspecto importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios
procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman
ninguna ventaja a menos que el sistema operativo o el compilador detecte secciones de código paralelizable,
los cuales son ejecutados al mismo tiempo en procesadores diferentes. Por otro lado, el programador puede
modificar sus algoritmos y aprovechar por sí mismo esta facilidad, pero esta última opción las más de las veces
es costosa en horas hombre y muy tediosa, obligando al programador a ocupar tanto o más tiempo a la
paralelización que a elaborar el algoritmo inicial.


Sistemas Operativos por la Forma de Ofrecer sus Servicios
Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario, el cómo
accesa los servicios. Bajo esta clasificación se pueden detectar dos tipos principales: sistemas operativos de
red y sistemas operativos distribuídos.


Sistemas Operativos de Red
Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas
operativos en otras computadoras por medio de un medio de transmisión con el objeto de intercambiar
información, transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de
estos sistemas es que el usuario debe saber la sintaxis de un cinjunto de comandos o llamadas al sistema para
ejecutar estas operaciones, además de la ubicación de los recursos que desee accesar. Por ejemplo, si un
usuario en la computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio
/software/codigo en la computadora morelos bajo el sistema operativo UNIX, dicho usuario podría copiarlo a
través de la red con los comandos siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas .
hidalgo% En este caso, el comando rcp que significa "remote copy" trae el archivo indicado de la computadora
morelos y lo coloca en el directorio donde se ejecutó el mencionado comando. Lo importante es hacer ver que
el usuario puede accesar y compartir muchos recursos.

Sistemas Operativos Distribuídos
Los sistemas operativos distribuídos abarcan los servicios de los de red, logrando integrar recursos (
impresoras, unidades de respaldo, memoria, procesos, unidades centrales de proceso ) en una sola máquina
virtual que el usuario accesa en forma transparente. Es decir, ahora el usuario ya no necesita saber la ubicación
de los recursos, sino que los conoce por nombre y simplementa los usa como si todos ellos fuesen locales a su
lugar de trabajo habitual. Todo lo anterior es el marco teórico de lo que se desearía tener como sistema
operativo distribuído, pero en la realidad no se ha conseguido crear uno del todo, por la complejidad que
suponen: distribuír los procesos en las varias unidades de procesamiento, reintegrar sub-resultados, resolver
problemas de concurrencia y paralelismo, recuperarse de fallas de algunos recursos distribuídos y consolidar la
protección y seguridad entre los diferentes componentes del sistema y los usuarios. [Tan92]. Los avances
tecnológicos en las redes de área local y la creación de microprocesadores de 32 y 64 bits lograron que
computadoras mas o menos baratas tuvieran el suficiente poder en forma autónoma para desafiar en cierto
grado a los mainframes, y a la vez se dio la posibilidad de intercomunicarlas, sugiriendo la oportunidad de partir
procesos muy pesados en cálculo en unidades más pequeñas y distribuirlas en los varios microprocesadores
para luego reunir los sub-resultados, creando así una máquina virtual en la red que exceda en poder a un
mainframe. El sistema integrador de los microprocesadores que hacer ver a las varias memorias, procesadores,
y todos los demás recursos como una sola entidad en forma transparente se le llama sistema operativo
distribuído. Las razones para crear o adoptar sistemas distribuídos se dan por dos razones principales: por
necesidad ( debido a que los problemas a resolver son inherentemente distribuídos ) o porque se desea tener
más confiabilidad y disponibilidad de recursos. En el primer caso tenemos, por ejemplo, el control de los cajeros
automáticos en diferentes estados de la república. Ahí no es posible ni eficiente mantener un control
centralizado, es más, no existe capacidad de cómputo y de entrada/salida para dar servicio a los millones de
operaciones por minuto. En el segundo caso, supóngase que se tienen en una gran empresa varios grupos de
trabajo, cada uno necesita almacenar grandes cantidades de información en disco duro con una alta
confiabilidad y disponibilidad. La solución puede ser que para cada grupo de trabajo se asigne una partición de
disco duro en servidores diferentes, de manera que si uno de los servidores falla, no se deje dar el servicio a
todos, sino sólo a unos cuantos y, más aún, se podría tener un sistema con discos en espejo ( mirror ) a través
de la red,de manera que si un servidor se cae, el servidor en espejo continúa trabajando y el usuario ni cuenta
se da de estas fallas, es decir, obtiene acceso a recursos en forma transparente.

Ventajas de los Sistemas Distribuídos
En general, los sistemas distribuídos (no solamente los sistemas operativos) exhiben algunas ventajas sobre los
sistemas centralizados que se describen enseguida.
Economía: El cociente precio/desempeño de la suma del poder de los procesadores separados contra
el poder de uno solo centralizado es mejor cuando están distribuídos.
Velocidad: Relacionado con el punto anterior, la velocidad sumada es muy superior.
Confiabilidad: Si una sola máquina falla, el sistema total sigue funcionando.
Crecimiento: El poder total del sistema puede irse incrementando al añadir pequeños sistemas, lo cual
es mucho más difícil en un sistema centralizado y caro.
Distribución: Algunas aplicaciones requieren de por sí una distribución física.
Por otro lado, los sistemas distribuídos también exhiben algunas ventajas sobre sistemas aislados. Estas
ventajas son:
Compartir datos: Un sistema distribuído permite compartir datos más fácilmente que los sistemas
aislados, que tendrian que duplicarlos en cada nodo para lograrlo.
Compartir dispositivos: Un sistema distribuído permite accesar dispositivos desde cualquier nodo en
forma transparente, lo cual es imposible con los sistemas aislados. El sistema distribuído logra un
efecto sinergético.