1. REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA,
CIENCIA Y TECNOLOGÍA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
EXTENSIÓN COL-SEDE CIUDAD OJEDA
SISTEMAS OPERATIVOS
DISTRIBUIDOS
Realizado por : Saul Ramos Lugo; Cédula 27139099;
Cód. Carrera: 47
2. INTRODUCCION
Los sistemas distribuidos están basados en las ideas básicas de
transparencia, eficiencia, flexibilidad, escalabilidad y fiabilidad entre otras
propiedades que lo complementan tal es el caso que se lleva a la
elaboración de un breve informe acerca de los sistemas operativos y sus
componentes que le proporcionan distintas funcionalidades según los
casos expuestos a continuación
3. Sistemas Operativos Distribuidos
Los sistemas distribuidos están basados en las ideas básicas de transparencia,
eficiencia, flexibilidad, escalabilidad y fiabilidad. Sin embargo estos aspectos son en
parte contrarios, y por lo tanto los sistemas distribuidos han de cumplir en su diseño
el compromiso de que todos los puntos anteriores sean solucionados de manera
aceptable
Transparencia
El concepto de transparencia de un sistema distribuido va ligado a la idea de que
todo el sistema funcione de forma similar en todos los puntos de la red,
independientemente de la posición del usuario. Queda como labor del sistema
operativo el establecer los mecanismos que oculten la naturaleza distribuida del
sistema y que permitan trabajar a los usuarios como si de un único equipo se
tratara.
En un sistema transparente, las diferentes copias de un archivo deben aparecer al
usuario como un único archivo. Queda como labor del sistema
operativo el controlar las copias, actualizarlas en caso de modificación y en general,
la unicidad de los recursos y el control de la concurrencia.
El que el sistema disponga de varios procesadores debe lograr un mayor
rendimiento del sistema, pero el sistema operativo debe controlar que tanto los
usuario como los programadores vean el núcleo del sistema distribuido como un
único procesador. El paralelismo es otro punto clave que debe controlar el sistema
operativo, que debe distribuir las tareas entre los distintos procesadores como en
un sistema multiprocesador, pero con la dificultad añadida de que ésta tarea hay
que realizarla a través de varios ordenadores.
4. Heterogeneidad: Las diferentes entidades en el Sistema deben ser capaces de
interoperar entre sí, sin importar las diferencias en sus arquitecturas, Sistemas
Operativos, Protocolos de Comunicación, Lenguajes de Programación, interfaces de
software, modelos de seguridad y formatos de medios.
Escalabilidad: El sistema debería trabajar eficientemente al incrementarse el
número de usuarios simultáneos y la
agregación de un nuevo recurso deberá incrementar el desempeño en general del
sistema.
Concurrencia: Los recursos deben ser accesibles a varias entidades
simultáneamente en ambiente compartido. Apertura y Extensibilidad: Las interfaces
deben estar limpiamente separadas y públicamente disponibles para permitir una
fácil conectividad y extensión de los componentes actuales y de otros nuevos.
Estrategia Migratoria y Balance de la carga de trabajo: Éstas permitirán el
movimiento de tareas dentro de un sistema sin afectar la operación de usuarios y
aplicaciones, y la distribución de la carga en todos los recursos
disponibles para mejorar el desempeño.
Seguridad: el acceso a los recursos deberá tener un mecanismo de seguridad para
asegurar que todos los usuarios tengan acceso a todas las formas de las
operaciones.
CONCEPTOS CLAVE EN SISTEMAS OPERATIVOS DISTRIBUIDOS
5. Eficiencia: La idea base de los sistemas distribuidos es la de obtener sistemas mucho más
rápidos que los supercomputadores
actuales. La propuesta es sencilla, el paralelismo. Para lograr un sistema eficiente hay que
descartar la idea de ejecutar un programa en un único procesador de todo el sistema, y
pensar en ejecutarlo en la granja de procesadores, aquellos libres más rápidos. Este es el
mismo problema de la administración del Procesador, donde restamos complejidad por
economía.
Flexibilidad: Un proyecto en desarrollo como el diseño de un sistema operativo distribuido
debe estar abierto a cambios y actualizaciones para mejorarlo. Esta especificación ha sido
abordada
Arquitecturas de núcleo: el núcleo monolítico y el micro núcleo. Las diferencias entre
ambos son los servicios que ofrece. Mientras el núcleo monolítico ofrece todas las
funciones básicas del Sistema integradas, el micro núcleo incorpora solamente las
fundamentales, el control de los procesos y su comunicación con la memoria. El resto de
servicios son compilables y se cargan dinámicamente a partir de servidores en el nivel de
usuario.
Núcleo monolítico: Como ejemplo de sistema operativo de núcleo monolítico está UNIX.
Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del
sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un
micro núcleo. Sin embargo, cualquier cambio a realizar requiere detener todo el sistema y
la recopilación del núcleo.
Micro núcleo: La arquitectura de micro núcleo ofrece la alternativa al núcleo monolítico. Se
basa en una programación altamente modular, y tiene un tamaño mucho menor que el
núcleo monolítico. Como consecuencia, el refinamiento y el control de errores son más
rápidos y sencillos. Además, la actualización de los servicios es más sencilla y ágil, ya que
sólo es necesaria la recopilación del servicio y no de todo el núcleo. Como
contraprestación, el rendimiento se ve afectado negativamente. En la actualidad la mayoría
de sistemas operativos distribuidos en desarrollo tienden a un diseño de micro núcleo.
6. Las características principales de un Sistema Distribuido son:
1. Separación Funcional. esto significa que las fronteras del software y del hardware para la
funcionalidad y servicios proporcionados, dependen de la capacidad y el propósito de cada entidad
del sistema.
2. Distribución Inherente: Las entidades como la información, personas y sistemas están distribuidos de
forma natural o implícita. Por ejemplo si diferente información es creada y mantenida por personas
diferentes. Esta información podría ser generada, almacenada, analizada y usada por distintos
subsistemas o aplicaciones que bien pudieran no estar al tanto de la existencia de otras entidades en el
sistema.
3. Confiabilidad. Es la preservación a largo plazo y respaldo (espejeo) en diferentes lugares
estratégicamente
localizados.
4. Escalabilidad. La posibilidad de agregar más recursos para incrementar el desempeño
(performance) y la disponibilidad.
5. Economía. El compartir recursos entre muchas entidades ayuda a reducir el costo de propiedad.
Como consecuencia de estas características, un sistema distribuido puede operar de manera
concurrente y posiblemente autónoma. Las tareas pueden ser ejecutadas de manera independiente y
las acciones son coordinadas en etapas bien definidas mediante el intercambio de mensajes.
7. Protocolos de comunicación
Fallos del sistema
Que el sistema de archivos sea tolerante a fallos implica que el sistema debe guardar varias copias del
mismo archivo en distintos ordenadores para garantizar la disponibilidad en caso de fallo del servidor
original. Además, se ha de aplicar un algoritmo que nos permita mantener todas las copias actualizadas
de forma consistente, o un método alternativo que sólo nos permita acceder al archivo actualizado,
como invalidar el resto de copias cuando en cualquiera de ellas se vaya a realizar una operación de
escritura. El uso de memorias cache para agilizar el acceso a los archivos también es recomendable, pero
este caso requiere analizar con especial atención la consistencia del sistema.
Modelos de acceso
Debido a la complejidad del acceso a los archivos a través de todo el sistema distribuido, surgen dos
modelos para el acceso a los archivos: el modelo carga/descarga, y el modelo de acceso remoto. El
primer modelo simplifica el acceso permitiendo únicamente las operaciones de cargar y descargar un
archivo. El acceso a cualquier parte del archivo implica solicitar y guardar una copia local del archivo
completo, y sólo se puede escribir de forma remota el archivo completo. Este método sería
especialmente ineficaz a la hora de realizar pequeñas modificaciones en archivos muy grandes, como
podrían ser bases de datos. El modelo de acceso remoto es mucho más complejo, y permite todas las
operaciones típicas de un sistema de archivos local.
8. Memoria compartida basada en páginas
El esquema de DSM propone un espacio de direcciones de memoria virtual que integre la
memoria de todas las computadoras del sistema, y su uso mediante paginación. Las páginas
quedan restringidas a estar necesariamente en un único ordenador. Cuando un programa
intenta acceder a una posición virtual de memoria, se comprueba si esa página se encuentra de
forma local. Si no se encuentra, se provoca un fallo de página, y el sistema operativo solicita la
página al resto de computadoras. El sistema funciona de forma análoga al sistema de memoria
virtual tradicional, pero en este caso los fallos de página se propagan al resto de ordenadores,
hasta que la petición llega al ordenador que tiene la página virtual solicitada en su memoria local.
A primera vista este sistema parece más eficiente que el acceso a la memoria virtual en disco,
pero en la realidad ha mostrado ser un sistema demasiado lento en ciertas aplicaciones, ya que
provoca un tráfico de páginas excesivo.
Memoria compartida basada en objetos
Una alternativa al uso de páginas es tomar el objeto como base de la transferencia de memoria.
Aunque el control de la memoria resulta más complejo, el resultado es al mismo tiempo modular
y flexible, y la sincronización y el acceso se pueden integrar limpiamente. Otra de las
restricciones de este modelo es que todos los accesos a los objetos compartidos han de
realizarse mediante llamadas a los métodos de los objetos, con lo que no se admiten programas
no modulares y se consideran incompatibles
9. Modelos de consistencia
La duplicidad de los bloques compartidos aumenta el rendimiento, pero produce un
problema de consistencia entre las diferentes copias de la página en caso de una escritura. Si
con cada escritura es necesario actualizar todas las copias, el envío de las páginas por la red
provoca que el tiempo de espera aumente demasiado, convirtiendo este método en
impracticable. Para solucionar este problema se proponen diferentes modelos de
consistencia, que establezcan un nivel aceptable de acercamiento tanto a la consistencia
como al rendimiento. Nombramos algunos modelos de consistencia, del más fuerte al más
débil: consistencia estricta, secuencial, causal, PRAM, del procesador, débil, de liberación y de
entrada.
10. Sistemas operativos de red
Un sistema operativo de red, también llamado N.O.S, es un software
que permite la interconexión de ordenadores para tener el poder de
acceder a los servicios y recursos, hardware y software, creando redes
de computadoras. Al igual que un equipo no puede trabajar sin un
sistema operativo, una red de equipos no puede funcionar sin un
sistema operativo de red. Consiste en un software que posibilita la
comunicación de un sistema informático con otros equipos en el
ámbito de una red.
11. Características de los sistemas operativos de red
Las características genéricas de un sistema operativo de red son:
Conecta todos los equipos y recursos de la red.
Gestión de usuarios centralizada.
Proporciona seguridad, controlando el acceso a los datos y recursos. Debe validar
los accesos (claves, certificados, sistemas biométricos, etc.) y aplicar las políticas de
seguridad.
Coordina las funciones de red, incluso con las propias del equipo.
Comparte recursos (lleva a cabo la coordinación y los privilegios a la hora de
compartir). Por tanto, mejora notablemente la utilización de los recursos.
Permite monitorizar y gestionar la red y sus componentes.
12. Entorno de los sistemas operativos en red
Servidores: Son equipos con sistemas operativos en red que
proporcionan recursos a los clientes, haciéndolos accesibles a los
equipos de la red, sea a otros servidores o, habitualmente, a clientes.
Clientes: Son equipos con un sistema operativo mono puesto
conectados para empezar a trabajar en red. A diferencia de los
servidores, no comparten sus recursos.
Dominios: Es una agrupación lógica de equipos, que permite realizar una
gestión centralizada, es decir, desde una ubicación se controla los
servicios administrativos del dominio. Los recursos los gestiona el
servidor principal. Uno de los protocolos habituales para la formación de
dominios es LDAP.
13. Archivos Remotos
El acceso a archivos remotos es exactamente a lo que suena: un sistema que permite acceder
a archivos en cualquier sitio, en cualquier momento y con el dispositivo que tú elijas, siempre
que tengas una conexión a Internet. Para esto se creo Internet en primer lugar, para
conseguir y compartir información siempre que se quiera aprovechando la cantidad de
usuarios usando la red. Antes de que Internet nos permitiera compartir archivos de la forma
en la que lo hacemos, las cosas eran más complicadas para hacer muchos trabajos. Si
teníamos que traer trabajo a casa o llevarlo a reuniones y conferencias, teníamos que llevar
todo guardado en discos.
Más tarde, los ordenadores portátiles, teléfonos inteligentes y otros dispositivos móviles
mejoraron mucho en el sentido de portabilidad para llevar todos los datos necesarios. Ya era
mucho más fácil llevar prácticamente todo con nosotros, desde fotos, presentaciones,
videos, archivos de texto o de cálculo, bases de datos, etc. Sin embargo, todavía había que
manejar discos, flash, y otras cosas para poder mostrar y manejar los datos que se tenían.
Internet parecía la solución idea, aunque al principio las velocidades no era las de hoy. Enviar
y recibir archivos grandes era problemático, y el uso de unidades de almacenamiento seguía
siendo necesario.
14. Escritorio Remoto
Un escritorio remoto es una tecnología que permite a un usuario trabajar en
una computadora a través de su escritorio gráfico desde otro dispositivo
terminal ubicado en otro lugar.
La tecnología de escritorio remoto permite la centralización de aquellas
aplicaciones que generalmente se ejecutan en entorno de usuario (por ejemplo,
procesador de textos o navegador). De esta manera, dicho entorno de usuario
se transforma en meros terminales de entrada/salida. Los eventos de pulsación
de teclas y movimientos de ratón se transmiten a un servidor central donde la
aplicación los procesa como si se tratase de eventos locales. La imagen en
pantalla de dicha aplicación es retornada al terminal cliente cada cierto tiempo.
15. El desarrollo de las redes de telecomunicaciones permitió que poco a poco fueran desapareciendo estas
terminales de texto, siendo sustituidos por otras computadoras (generalmente más pequeñas) capaces
de emular la misma funcionalidad a través de una aplicación, denominada emulador de terminal, siendo,
por lo tanto, las primeras tecnologías de acceso remoto a computadoras , como telnet y ssh,
popularizadas inicialmente en entornos Unix. Cerca de la década de los noventa, las interfaces de usuario
sufren una revolución, abandonando la interacción textual en favor de una interacción más gráfica.
Debido a esta revolución surgen dos tecnologías nuevas: Los terminales específicos, llamados clientes
buenos o good client. Son los actuales utilizados por la mayoría de servidores de tipo PAP y CHAP que son
hoy en día los más importantes para las empresas. Esto se basa en el
protocólo TCP por el puerto 8565.Los terminales gráficos, también denominados clientes ligeros o
thinclient. Evolución de los viejos terminales de texto unidos por cables. Los escritorios gráficos. Dos
escritorios gráficos muy populares son los creados para Apple Macintosh y MSDOS (Microsoft Windows).
Nótese que estos escritorios gráficos solamente podían ser utilizados directamente en la computadora,
por tanto, aún no son escritorios remotos. El primer entorno operativo de escritorio remoto es el sistema
de ventanas X, originalmente desarrollado por el Massachusetts Institute of Technology (MIT) con el
nombre de proyecto Athena en 1984. El objetivo inicial era lograr la compatibilidad en materia de
terminales gráficos de los diversos fabricantes. Este objetivo resultó ampliamente logrado con su
aceptación por parte de dichos fabricantes.
16. Tiempo y estados globales
En un sistema distribuido el estado global se encuentra distribuido entre los nodos,
dichos nodos tienen un reloj estándar y puede haber retardos en las comunicaciones
lo cual puede provocar que cada nodo tenga una visión subjetiva del estado global.
Para dar una solución a este problema podríamos disponer de un reloj centralizado y
preciso, pero esto no es viable por lo que la solución pasa por el tiempo distribuido. El
tiempo distribuido se basa en el tiempo físico local y el tiempo lógico definido por la
causalidad de los eventos.
El tiempo físico puede ser sincronizado mediante sincronización externa (se ajusta el
valor a un tiempo de referencia) o interna (se realiza una sincronización dentro del
sistema) que permite ordenar eventos. Existen varios algoritmos de sincronización
interna:
Centralizados como el algoritmo de Cristian.
Distribuidos como el algoritmo de Berkeley.
17. ROBUSTEZ
Un sistema robusto es un sistema fuerte, sin debilidades ni vacíos de seguridad. La
robustez en un programa informático hace referencia a su capacidad para hacer frente
a errores mientras se está ejecutando. Ahora bien, cuando buscamos la robustez del
dato o del conjunto de datos de una organización, lo que nos interesa es la seguridad
de la información y que no existan vacíos de seguridad que pongan en peligro el bien
más preciado de toda empresa, sus datos. Da lo mismo que tu base de datos sea
pequeña o grande, que la tengas almacenada en sql, mysql o en una hoja de cálculo. Si
quieres que tu información sea robusta debes implantar procedimientos de seguridad
para evitar pérdidas o accesos no deseados.
La información que almacenas de tus contactos, clientes, proveedores, empleados,
son esenciales para el funcionamiento de tu negocio. Son tu mayor activo. Diariamente
accedes a esos datos para crear, consultar, modificar y eliminar lo que necesitas.
Donde y como almacenas esos datos determina como de protegidos están.
18. ¿COMO CONSEGUIR LA ROBUSTEZ DEL SISTEMA OPERATIVO
DISTRIBUIDO?
Implantar el acceso restringido a los datos de la empresa. La información importante de tu organización
debe estar protegida con medidas de seguridad como identificación de usuarios, controles biométricos
o mediante la firma electrónica de los usuarios.
Los códigos de acceso deben ser únicos e intransferibles. Si dos usuarios tienen que acceder a la misma
información cada uno debe tener su propio usuario y contraseña. No pueden compartir el mismo
código para acceder a la información. Además las claves de acceso solo las debe conocer el propio
usuario.
Control de acceso desde la aplicación informática o desde el sistema operativo. Si la aplicación desde la
que se accede a los datos no tiene un control de acceso, será necesario que el propio sistema operativo
sobre el que se ejecuta la aplicación impida que un usuario no autorizado pueda acceder a los datos.
Controlar e impedir los accesos fraudulentos. Es necesario limitar el máximo de intentos fallidos al
sistema. Siempre que sea posible conviene guardar en un fichero auxiliar la fecha, hora, código de
acceso y clave errónea del intento de acceso fraudulento. Y aquellos datos que sirvan para poder
descubrir quién intentó el acceso.
Limitación de los ficheros temporales. Si es imprescindible hacer copias temporales de datos personales
en un archivo temporal se deberán almacenar siempre en el mismo directorio para conocer donde se
encuentran y evitar que queden copias dispersas por todo el ordenador. Además la copia se deberá
eliminar una vez terminada la finalidad para la que se copiaron los datos.
Registro de incidencias. Para aprender de los errores y evitar que estos se repitan es necesario llevar un
registro de incidencias. En él se anotará cualquier evento que pueda poner en peligro la seguridad de la
información almacenada. El registro de incidencias es imprescindible para poder aplicar medidas
correctoras y prevenir futuros ataques de seguridad. En el registro de incidencias se debe guardar el
tipo de incidencia, la fecha y hora de la incidencia, persona que registra la incidencia y a quien se le
comunica que ha ocurrido una incidencia, el detalle de lo ocurrido, qué efectos pueden producir y
cuales son la medidas correctoras que se deben aplicar.
19. El tiempo lógico permite ordenar los eventos de los diferentes nodos
cuando la precisión de los relojes no nos permite usar el tiempo físico.
Esto se apoya en la relación de causalidad entre dos eventos. Dos
posibles aproximaciones:
Relojes de Lamport: permite establecer una relación de ordenación
causal total mediante el uso de un simple contador que se incrementa
monótonamente en cada proceso.
Relojes vectoriales: añaden a cada proceso información acerca de los
relojes lógicos del resto de procesos mediante la incorporación de un
vector de N entradas para cada uno de los N procesos. Permite resolver
la causalidad o concurrencia de dos eventos cualesquiera permitiendo
la ordenación parcial entre ellos.
20. Conclusión
En con conclusión los sistemas operativos distribuidos han de cumplir en su
diseño el compromiso de que todos los puntos anteriores sean solucionados
de manera aceptable en lo que también se pudo conocer acerca del escritorio
remoto que no es mas que La tecnología de escritorio remoto permite la
centralización de aquellas aplicaciones que generalmente se ejecutan en
entorno de usuario así como los sistemas operativos de red que es un es un
software que permite la interconexión de ordenadores para tener el poder de
acceder a los servicios y recursos entre otros puntos que se logro enteder un
poco acerca de cada uno de ellas y como aplican en cada ambito de los
sistemas operativos distribuidos .