Este documento trata sobre los sistemas distribuidos. Explica que un sistema distribuido es la unión lógica de sistemas operativos en nodos independientes conectados en red. Cada nodo contiene un subconjunto específico de programas que componen el sistema operativo distribuido. También describe diferentes tipos de sistemas distribuidos como sistemas de computación distribuida, sistemas de información distribuida y sistemas distribuidos empotrados. Además, explica conceptos como transparencia, eficiencia, flexibilidad y escal
Instituto Universitario Politécnico Santiago Mariño Sede Barcelona Cátedra: Sistemas Operativos II Prof.: Amélia Vázquez Alumno: Enrique Cabello C.I.: 26.071.451
Instituto Universitario Politécnico Santiago Mariño Sede Barcelona Cátedra: Sistemas Operativos II Prof.: Amélia Vázquez Alumno: Enrique Cabello C.I.: 26.071.451
Existen muchas definiciones y no siempre coincidentes. Nosotros diremos que un sistema distribuido es un conjunto de computadores independientes que se presenta a los usuarios como un sistema único. En esta definición cabe destacar dos aspectos. Uno, el hardware. La definición habla de máquinas autónomas, es decir, que pueden operar sin la supervisión de ninguna otra. Dos, el software, que debe conseguir que los usuarios del sistema lo vean como una máquina central convencional única.
El diseño e investigación de herramientas para los sistemas operativos centralizados convencionales, los cuales corren en sistemas de uno o varios procesadores, está muy bien entendido. Sin embargo la proliferación de estaciones de trabajo personales y redes de área local ha llevado al desarrollo de nuevos conceptos del sistema operativo, a saber sobre, sistemas operativos en red y sistemas operativos distribuidos.
Antes de empezar no hay que confundir un Sistema Operativo de Red con un Sistema Operativo Distribuido. En un Sistema Operativo de Red las computadoras están interconectadas por medios de comunicación: software y hardware. En este tipo de red los usuarios saben dónde están ejecutando su trabajo y guardando su información. En cambio en los Sistemas Operativos Distribuidos existe un software que distribuye las tareas de los usuarios sobre una red de computadoras y para los usuarios es transparente donde realizan sus tareas y guardan su información.
Existen dos esquemas básicos de éstos sistemas. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
Existen muchas definiciones y no siempre coincidentes. Nosotros diremos que un sistema distribuido es un conjunto de computadores independientes que se presenta a los usuarios como un sistema único. En esta definición cabe destacar dos aspectos. Uno, el hardware. La definición habla de máquinas autónomas, es decir, que pueden operar sin la supervisión de ninguna otra. Dos, el software, que debe conseguir que los usuarios del sistema lo vean como una máquina central convencional única.
El diseño e investigación de herramientas para los sistemas operativos centralizados convencionales, los cuales corren en sistemas de uno o varios procesadores, está muy bien entendido. Sin embargo la proliferación de estaciones de trabajo personales y redes de área local ha llevado al desarrollo de nuevos conceptos del sistema operativo, a saber sobre, sistemas operativos en red y sistemas operativos distribuidos.
Antes de empezar no hay que confundir un Sistema Operativo de Red con un Sistema Operativo Distribuido. En un Sistema Operativo de Red las computadoras están interconectadas por medios de comunicación: software y hardware. En este tipo de red los usuarios saben dónde están ejecutando su trabajo y guardando su información. En cambio en los Sistemas Operativos Distribuidos existe un software que distribuye las tareas de los usuarios sobre una red de computadoras y para los usuarios es transparente donde realizan sus tareas y guardan su información.
Existen dos esquemas básicos de éstos sistemas. Un sistema fuertemente acoplado es a es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.
Instrucciones del procedimiento para la oferta y la gestión conjunta del proceso de admisión a los centros públicos de primer ciclo de educación infantil de Pamplona para el curso 2024-2025.
El Liberalismo económico en la sociedad y en el mundo
Sistemas distribuidos
1. REPUBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITECNICO «SANTIAGO MARIÑO»
SEDE BARCELONA
INGENERIA SISTEMAS
SISTEMAS OPERATIVOS II
SISTEMAS DISTRIBUIDOS
Bachiller :
Davinson García C.I: 19.184.885
Profesor :
Ramón Aray
2. INTRODUCCION
Los sistemas Distribuidos son importantes ya que gozan hoy de fundamental
importancia entre los sistemas de información, debido a sus potenciales capacidades
de tolerancia a fallos y escalabilidad, que permiten su adecuación a las aplicaciones
actuales, crecientemente exigentes. Por otra parte, el desarrollo de aplicaciones
distribuidas presenta también dificultades específicas, precisamente para poder
ofrecer la escalabilidad, tolerancia a fallos y alta disponibilidad que constituyen sus
ventajas.
En este trabajo se presentan sus tipos, modos de acceso remoto ,ventajas y
desventajas ,gestión de memoria ,sistemas operativos en red y se diferencian estos
frente a los sistemas distribuidos.
3. DESARROLLO
Son conocidos como la unión lógica de un grupo de sistemas
operativos sobre una colección de nodos computacionales
independientes, conectados en red, que se comunican y estan
físicamente separados. Cada nodo contiene de forma individual un
subconjunto específico de los programas que componen el sistema
operativo distribuido. Cada subconjunto es una combinación de dos
proveedores de servicios distintos.
El primero es un núcleo ubicuo(que esta presente en varias partes al
mismo tiempo) mínimo o micro núcleo, que controla el hardware del
nodo. El segundo es una colección de componente de administración
del sistema de alto nivel que coordinan las actividades individuales y
colaborativas del nodo. Estos componentes son una abstracción de las
funciones del micro núcleo y dan soporte a las aplicaciones de usuario.
Sistemas Distribuidos
4. • Un sistema operativo distribuido provee las funcionalidades
esenciales requeridas por un sistema distribuido,
agregando atributos y configuraciones para dar soporte a
los requerimientos adicionales, tales como aumento de
escala y disponibilidad. Desde el punto de vista del usuario
el SO funciona de forma similar a un sistema Operativo
monolítico de un solo nodo. O sea que, aunque está
compuesto por múltiples nodos, para los usuarios y
aplicaciones luce como un solo nodo.
5. Tipos de Sistemas Distribuidos
• Sistemas de computación distribuidas
– Cluster
– Grid
• Sistemas de información distribuida
– Procesamiento de transacciones
– Integración de aplicaciones de la empresa
• Sistema distribuidos empotrados u obicuos
– Sistemas hogareños
– Sistemas electrónicos para el cuidado de la salud
– Redes de sensores
– Redes ad-hoc móviles
• Otros:
• Red de pares o Peer to peer (P2P)
• Email
• Internet (Navegación).
6. Sistema Distribuido peer to peer
Características:(P2P, por sus siglas en inglés) es una red de
computadoras en la que todos o algunos aspectos
funcionan sin clientes ni servidores fijos, sino una
serie de nodos que se comportan como iguales
entre sí. Es decir, actúan simultáneamente como clientes
y servidores respecto a los demás nodos de la red.
• Usos:
Las redes P2P permiten el intercambio directo de
información, en cualquier formato, entre los
ordenadores interconectados.
7. Sistema Distribuido email
Características: Es un servicio de red que permite a los
usuarios enviar y recibir mensajes y archivos rápidamente
(también denominados mensajes electrónicos o cartas
electrónicas) mediante sistemas de comunicación
electrónicos.
Principalmente se usa este nombre para denominar al sistema
que provee este servicio en Internet, mediante el
protocolo SMTP, aunque por extensión también puede verse
aplicado a sistemas análogos que usen otras tecnologías.
• Usos:
Por medio de mensajes de correo electrónico se puede enviar,
no solamente texto, sino todo tipo de documentos digitales.
Su eficiencia, conveniencia y bajo coste están logrando que el
correo electrónico desplace al correo ordinario para muchos
usos habituales
8. Sistema Distribuido internet
Caracteristicas:(P2P, por sus siglas en inglés) es una red de
computadoras en la que todos o algunos aspectos
funcionan sin clientes ni servidores fijos, sino una
serie de nodos que se comportan como iguales
entre sí. Es decir, actúan simultáneamente como clientes
y servidores respecto a los demás nodos de la red.
• Usos.
Las redes P2P permiten el intercambio directo de
información, en cualquier formato, entre los
ordenadores interconectados.
9. Características de un sistema
distribuido
Los sistemas operativos distribuidos están
basados en las ideas básicas:
• Transparencia
• Eficiencia
• Flexibilidad
• Escalabilidad
10. Transparencia
El concepto de transparencia de un Sistema operativo
distribuido va ligado a la idea de que todo el sistema funcione
de forma similar en todos los puntos de la red, debido a esto
queda como labor del sistema operativo coordinar el
mecanismo que logre la unificación de todos los sistemas y
recursos totalmente transparente para el usuario o aplicación.
El que el sistema disponga de varios procesadores debe lograr
un mayor rendimiento del sistema, pero el sistema operativo
debe controlar que tanto los usuarios como los
programadores vean el núcleo del sistema distribuido como
un único procesador, Es decir que la programación y la
ejecución de los programas y tareas sean exactamente iguales
que las de los sistemas operativos normales en aspectos
visuales y de programación, pero mas rápidos y eficientes por
la distribución de la tareas.
11. Eficiencia
La idea base de los sistemas operativos distribuido es la
de obtener sistemas mucho mas rápidos que los
utilizados de procesador único, Y para lograr esto
tenemos que olvidar la idea antigua de ejecutar los
programas en estos procesadores y pensar en distribuir
las tareas a los procesadores libres mas rápidos en cada
momento.
El concepto global de que un procesador haga todas las
tareas y la desarrolle rápido depende de muchos factores
concretos: Velocidad, Memoria y tipo de procesamiento,
Pero para un sistema operativo distribuido esto es mucho
mas fácil y eficiente, solo buscara un procesador mas
rápido y mas libre para que desarrolle las tareas y hará un
display de los resultados obtenidos.
12. Flexibilidad
La Flexibilidad dentro de sistema operativo
distribuido, describe su capacidad para soportar
cambios, actualizaciones y mejoras que le permitan
irse desarrollando al mismo ritmo de la evolución
tecnológica.
Dicha capacidad es una virtud y un conflicto. Una
Virtud debido a las grandes necesidades de los
sistemas operativos de mejorar después de las
primeras versiones y un conflicto que surge entre
los sistemas de con Núcleo Monolítico y los
sistemas con Micro núcleo las cuales son dos
arquitecturas distintas del núcleo del sistema
operativo.
13. Núcleo Monolítico
Como ejemplo de sistema operativo de núcleo monolítico esta
UNIX, estos sistemas tienen en núcleo grande y complejo, que
engloba todos los servicios del sistema. Esta programado de
forma no modular, y tiene un rendimiento mayor que un micro
núcleo. Sin embargo, cualquier cambio a realzar en cualquiera de
los servicios, requiere de hacer un STOP a todos los servicios y la
recopilación del núcleo.
La arquitectura 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 mas rápidos y sencillos. Además, la actualización de los servicios
es más sencilla y ágil. Ya que solo es necesario la recopilación del servicio y no
de todo el núcleo. Como desventaja, El rendimiento se ve afectado
negativamente.En la actualidad la mayoría de los sistemas operativos
distribuidos en desarrollo tienden a un diseño de micro núcleo el cual aun
siendo un poco mas lento, garantiza una estabilidad mayor y un aumento de
la flexibilidad del sistema.
Micro Núcleo
14. Escalabilidad
Un sistema operativo distribuido debería funcionar tanto para una
docena de computadoras como para mil en una sola red, el tipo de red
utilizada no debe de ser un problema ni su topología (LAN o WAN)
(TOKEN RING o ETHERNET) y mucho menos la distancia entre los
equipos. Sin embargo todo esto influye, Aunque estos puntos serian
muy deseables, pude que la solución valida para unas cuantas
computadoras no sean aplicables como para mil. Del mismo modo el
tipo de red condiciona grandemente el rendimiento del sistema y
puede que lo funcione para un tipo de red requiera modificaciones
para otro.
Los sistemas operativos distribuidos necesitan de grandes estándares
para trabajar y sobre todo de ajustes a las necesidades principales de
cada red y sus usuarios. Este concepto propone que cualquier
computador debe funcionar perfectamente como un sistema operativo
distribuido, pero de la misma forma debe de formar parte y trabajar
como más equipos no importan la cantidad o los recursos que estos le
puedan proporcionar.
15. Gestión de Memoria
• Memoria Compartida Distribuida (DSM)
En un sistema operativo distribuido, la memoria
pasa a ser físicamente privada pero lógicamente
compartida. Es decir, un computador ejecuta los
programas en su memoria propia, pero en caso de
necesitar mas memoria utilizara los recursos
disponibles de otra computadora que este
capacitada y preparada dentro de la red para
compartir su memoria.
La Memoria compartida distribuida ayuda a que no
se formen los famosos cuellos de botella, debido
que busca los recursos necesarios para lograr
cumplir todas las tareas asignadas.
16. Ventajas de los Sistemas Operativos
Distribuidos
• Procesadores más poderosos y a menos costos.
• Desarrollo de estaciones con más capacidades.
• Las estaciones satisfacen las necesidades de los usuarios.
• El trabajo en conjunto. Por ejemplo: en una fábrica de ensamblado, los
robots tienen sus CPUs diferentes y realizan acciones en conjunto,
dirigidos por un sistema distribuido.
• Tienen una mayor confiabilidad. Al estar distribuida la carga de trabajo en
muchas máquinas la falla de una de ellas no afecta a las demás, el sistema
sobrevive como un todo.
• Capacidad de crecimiento incrementa. Se puede añadir procesadores al
sistema, incrementando su potencia en forma gradual según sus
necesidades con respecto a PCs Independientes.
• Se pueden compartir recursos, como programas y periféricos, muy
costosos. Ejemplo: Impresora Láser, dispositivos de almacenamiento
masivo, etc.
• Al compartir recursos, satisfacen las necesidades de muchos usuarios a la
vez.
17. Desventajas de los Sistemas
Operativos Distribuidos
• El principal problema es el software, es el diseño,
implantación y uso del software distribuido, pues presenta
numerosos inconvenientes.
• Requerimientos de mayores controles de procesamiento.
• Velocidad de propagación de información (muy lentas en
algunos casos).
• Servicios de replicación de datos y servicios con
posibilidades de fallos.
• al sistema desde varias computadoras diferentes, y el
trafico en la red, puede estar sujeto a escuchas indeseadas .
• los sistemas distribuidos tienen un sistema impredecible.
Como todos ellos pueden cambiar rápidamente, el tiempo
requerido para responder a una petición de usuario puede
variar dramáticamente, de una petición a otra
18. 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 conjunto de comandos o
llamadas al sistema para ejecutar estas operaciones,
además de la ubicación de los recursos que desee
accesar.
• Los Sistemas Operativos de red mas ampliamente
usados son: Novell Netware, Personal Netware, LAN
Manager, Windows NT Server, UNIX, LANtastic.
19. Características de Sistemas Operativos
de Red
• Cada máquina tiene su propio SO local
• Conexión Remota (telnet)
• Transferencia de Ficheros Remota (ftp)
• Sistema de Ficheros Global (NFS Sun
Microsystem)
• Acceso a los ficheros desde cualquier máquina
• Sigue un modelo Cliente-Servidor
• No necesita que todas las máquinas ejecuten el
mismo SO (deben coincidir en el formato y
significado de los mensajes a intercambiar).
20. Sistema Operativo de Red vs Sistema
Distribuido
S. Operativo en Red S. Distribuido
Uni-procesador virtual Si No
Se ejecuta el mismo
sistema operativo
No Si
Copias del sistema
operativo
(N copias)Muchas (N copias)Muchas
Medios de comunicación Archivos compartidos Mensajes
Acuerdos entre los
protocolos de red
Si Si
Una simple cola de
ejecución
No Si
Compartición de archivos
bien definida
Normalmente no Si
21. Acceso Remoto
Un acceso remoto es poder acceder desde una computadora a un
recurso ubicado físicamente en otra computadora que se
encuentra geográficamente en otro lugar, a través de una red local o
externa (como Internet).
En el acceso remoto se ven implicados protocolos (En informática, un
protocolo es un conjunto de reglas usadas por computadoras para
comunicarse unas con otras a través de una red por medio de
intercambio de mensajes), y programas en ambas computadoras que
permitan recibir/enviar los datos necesarios. Además deben contar
con un fuerte sistema de seguridad (tanto la red, como los protocolos
y los programas).
22. Metodos de Acceso Remoto
Existen varias formas de acceder al entorno de la CLI. Los
métodos más comunes son:
• Consola
• Telnet o SSH
• Puerto auxiliar
23. Consola
Se puede tener acceso a la CLI a través de una sesión de consola,
también denominada línea CTI. La consola usa una conexión serial de
baja velocidad para conectar directamente un equipo o un terminal al
puerto de consola en el router o switch.
El puerto de consola es un puerto de administración que provee
acceso al router fuera de banda. Es posible acceder al puerto de
consola aunque no se hayan configurado servicios de networking en el
dispositivo. El puerto de consola se suele utilizar para tener acceso a
un dispositivo cuando no se han iniciado o han fallado los servicios de
networking.
Ejemplos del uso de la consola son:
• La configuración de inicio del dispositivo de
red.
• Procedimientos de recuperación de
desastres y resolución de problemas donde no
es posible el acceso remoto.
• Procedimientos de recuperación de
contraseña.
24. Telnet
Un método que sirve para acceder en forma remota a la sesión CLI es hacer
telnet al router. A diferencia de la conexión de consola, las sesiones de Telnet
requieren servicios de networking activos en el dispositivo. El dispositivo de
red debe tener configurada por lo menos una interfaz activa con una
dirección de Capa 3, como por ejemplo una dirección Ipv4.
Los dispositivos Cisco IOS incluyen un proceso de servidor Telnet que se activa
cuando se inicia el dispositivo. El IOS también contiene un cliente Telnet.
Un host con un cliente Telnet puede acceder a las sesiones vty que se
ejecutan en el dispositivo Cisco. Por razones de seguridad, el IOS requiere que
la sesión Telnet use una contraseña, como método mínimo de autenticación.
Los métodos para establecer las conexiones y contraseñas se analizarán en
una sección posterior.
25. Auxiliar
Otra manera de establecer una sesión CLI en forma remota es a través
de una conexión de marcado telefónico mediante un módem
conectado al puerto auxiliar del router. De manera similar a la
conexión de consola, este método no requiere ningún servicio de
networking para configurarlo o activarlo en el dispositivo.
El puerto auxiliar también puede usarse en forma local, como el puerto
de consola, con una conexión directa a un equipo que ejecute un
programa de emulación de terminal. El puerto de consola es necesario
para la configuración del router, pero no todos los routers tienen un
puerto auxiliar.
26. Atomicidad
La mayoría de los sistemas de comunicación en grupo están diseñados para
que los mensajes enviados al grupo lleguen correctamente a todos los
miembros o a ninguno de ellos:
• Esta propiedad de “todo o nada” en la entrega se llama atomicidad o
transmisión atómica.
• Facilita la programación de los sistemas distribuidos.
• Es de gran importancia para garantizar la consistencia de las bases de
datos y de los archivos distribuidos y duplicados.
La única forma de garantizar que cada destino recibe todos sus mensajes es
pedirle que envíe de regreso un reconocimiento después de recibir el mensaje:
Esto funciona si las máquinas no fallan.Si fallan:
• Algunos miembros del grupo habrán recibido el mensaje y otros no;
esto es inaceptable.
• Los miembros que no recibieron el mensaje ni siquiera saben que les
falta algo, por lo que no pedirán una retransmisión; además, si
pudieran detectar el faltante pero fallara el emisor, no podrán recibir
el mensaje.
27. Control de Concurrencia
El control de concurrencia es necesario para mantener los recursos
compartidos de varias transacciones lejos una de la otra. Como siempre, se
puede considerar análogo el término de transacción con el de proceso,
siempre y cuando su trabajo sea transaccional.
Existen 3 mecanismos de control de concurrencia:
1. Locks:
La granularidad del lock afecta el nivel de concurrencia (archivo, registro,
pagina, renglón, etc)
Antes de usar eun archivo se aplica un lock de escritura o lectura.
Los locks de lectura no son exclusivos, se pueden tener más de uno en un
mismo archivo.
Los locks de escritura no permiten ningún otro tipo de lock mientras este se
encuentre activo.
28. 2. Control de concurrencia optimista:
Se asume que las transacciones van a completar sin afectarse entre si, y de esta
manera continuar sin lockear los recursos que afectan.
Cada transacción mantiene un registro de los archivos escritors y los leidos. En el
momento de hacer commit, se verifica con todas las demás transacciones para ver si
alguno de los archivos fue modificado desde el inicio de la transacción. Si fue asi, hace
ABORT. Sino, COMMIT.
Las validaciones de todas las transacciones tiene lugar durante la primer fase del
protocolo 2 phase commit.
Por este esquema, no existen los deadlocks.
Brinda paralelismo máximo ya que no hay que esperar nada.
Funciona bien en la practica.
Su única desventaja es que a veces falla (la probablididad de fallas crece al crecer la
carga de las operaciones) y la transacción debe ejecutarse de nuevo.
3. Timestamping (TM):
Se le asocia a cada transacción una marca de tiempo en el momento que se hace el
BEGIN TRANSACTION (la manera de identificar inequívocamente en un sistema
distribuido es usando PID + TM)
Mediante el algoritmo de Lamport podemos garantizar que los TM son únicas.
Cada archivo del sistema tiene asociado marcas de tiempo para la lectura
29. CONCLUSION
He terminado este trabajo con la finalidad de que los sistemas distribuidos
no son mas que sistemas cuyos componentes son el hardware y software,
que están en ordenadores conectados en red, se comunican y coordinan
sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se
establece la comunicación mediante un protocolo prefijado por un
esquema "cliente-servidor". Existen muchas variantes que permiten el uso
de los sistemas distribuidos como el acceso remoto por los cual se puede
acceder por medio de consola ,telnet, o puerto auxiliar ,permitiendo el
acceso a internet, email ,redes aoc ya sea para uso empresarial u hogareño.