Este documento describe los sistemas operativos distribuidos. Explica que estos sistemas permiten a los usuarios acceder de forma transparente a recursos como hardware, software, impresoras y almacenamiento que están distribuidos en varios sistemas computacionales conectados a través de una red. También clasifica los sistemas operativos en función de su estructura, los servicios que ofrecen y la forma en que proveen acceso a los recursos.
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.
Criterios de la primera y segunda derivadaYoverOlivares
Criterios de la primera derivada.
Criterios de la segunda derivada.
Función creciente y decreciente.
Puntos máximos y mínimos.
Puntos de inflexión.
3 Ejemplos para graficar funciones utilizando los criterios de la primera y segunda derivada.
libro conabilidad financiera, 5ta edicion.pdfMiriamAquino27
LIBRO DE CONTABILIDAD FINANCIERA, ESTE TE AYUDARA PARA EL AVANCE DE TU CARRERA EN LA CONTABILIDAD FINANCIERA.
SI ERES INGENIERO EN GESTION ESTE LIBRO TE AYUDARA A COMPRENDER MEJOR EL FUNCIONAMIENTO DE LA CONTABLIDAD FINANCIERA, EN AREAS ADMINISTRATIVAS ENLA CARREARA DE INGENERIA EN GESTION EMPRESARIAL, ESTE LIBRO FUE UTILIZADO PARA ALUMNOS DE SEGUNDO SEMESTRE
Convocatoria de becas de Caja Ingenieros 2024 para cursar el Máster oficial de Ingeniería de Telecomunicacion o el Máster oficial de Ingeniería Informática de la UOC
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Sistema operativo distribuido
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
SEDE BARCELONA
INGENIERÍA DE SISTEMAS
SISTEMAS OPERATIVO II
Sistema Operativo distribuido
Autor: Ramón Rodríguez
C.I: 5.880.348
Barcelona, Octube 2017
Profesor: Ing. Ramón Aray
2. Introducción
Desde el inicio de la era de la computadora moderna (1945), hasta cerca de
1985, solo se conocía la computación centralizada.
A partir de la mitad de la década de los ochentas aparecen dos avances
tecnológicos fundamentales.
Desarrollo de microprocesadores poderosos y económicos con arquitecturas
de 8, 16, 32 y 64 bits.
Desarrollo de redes de área local (LAN) de alta velocidad, con posibilidad de conectar
cientos de máquinas a velocidades de transferencia de millones de bits por segundo
(mb/seg).
Aparecen los sistemas distribuidos, en contraste con los sistemas centralizados.
Los sistemas distribuidos necesitan un software distinto al de los sistemas centralizados.
3. Introducción
Los S. O. para sistemas distribuidos han tenido importantes desarrollos pero
todavía existe un largo camino por recorrer.
Los usuarios pueden acceder a una gran variedad de recursos computacionales:
De hardware y de software.
Distribuidos entre un gran número de sistemas computacionales conectados.
Un importante antecedente de las redes de computadoras lo constituye Arpanet, iniciada
en 1968 en los EE. UU.
4. Sistema Operativo Distribuido
Es aquel que consiste en facilitar el acceso y la gestión de los recursos
distribuidos en la red. Es donde los usuarios pueden acceder a recursos remotos de la
misma manera en que lo hacen para los recursos locales Permitiendo distribuir trabajos,
tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de
procesadores esté en un equipo o en diferentes, lo cual es transparente para el usuario.
Los sistemas operativos distribuidos 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 accede 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 simplemente los usa como si todos ellos
fuesen locales a su lugar de trabajo habitual.
5. Sistema Operativo Distribuido
Todo lo anterior es el marco teórico de lo que se desearía tener como sistema
operativo distribuido, pero en la realidad no se ha conseguido crear uno del todo, por la
complejidad que suponen: distribuir los procesos en las varias unidades de
procesamiento, reintegrar sub-resultados, resolver problemas de concurrencia y
paralelismo, recuperarse de fallas de algunos recursos distribuidos y consolidar la
protección y seguridad entre los diferentes componentes del sistema y los usuarios.
Tipos de Sistemas Operativo Distribuido.
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 adecuado al
uso al que se le quiere destinar.
6. • 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
7. 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.
8. 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. Se puede pensar también en estos sistemas
como si fueran `multicapa'. Multics y Unix caen en esa categoría.
9. Sistemas Operativos por Servicios
Esta clasificación es la más comúnmente usada y conocida desde el punto de vista
del usuario final
10. 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.
11. 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.
12. 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
13. 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 cualesquiera de los procesadores disponibles,
teniendo, teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este
esquema.
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 accede a los servicios. Bajo esta clasificación se pueden
detectar dos tipos principales: sistemas operativos de red y sistemas operativos
distribuidos.
14. 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 acceder. Por ejemplo, si un usuario en la computadora hidalgo
necesita el archivo Matriz. Para que se localiza en el directorio /software/código en la
computadora modelos bajo el sistema operativo UNIX, dicho usuario podría copiarlo a
través de la red con los comandos siguientes: hidalgo% hidalgo% rcp
modelos:/software/código/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 acceder y compartir muchos recursos.
15. Las características principales de un Sistema Distribuido son:
• 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.
• 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 sub-sistemas o aplicaciones que bien
pudieran no estar al tanto de la existencia de otras entidades en el sistema.
• Confiabilidad. Es la preservación a largo plazo y respaldo (espejeo) en diferentes
lugares estratégicamente localizados.
• Escalabilidad. La posibilidad de agregar más recursos para incrementar el desempeño
(performance) y la disponibilidad.
• Economía. El compartir recursos entre muchas entidades ayuda a reducir el costo de
propiedad.
16. Las características principales de un Sistema Distribuido son:
• 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. Está 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.
• Micro 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 más 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 más lento, garantiza una estabilidad mayor
y un aumento de la flexibilidad del sistema
17. Redes e interconexión
Paquete: tipo de mensaje que se intercambian entre dos dispositivos de comunicación.
Tamaño limitado por el hardware.
Mensaje: objeto lógico que se intercambian entre dos o más procesos.
Su tamaño puede ser bastante grande.
Un mensaje se descompone en paquetes.
Subsistema de Comunicación: conjunto de componentes HW y SW que proporcionan
servicios de comunicación en un sistema distribuido.
Protocolo: conjunto de reglas e instrucciones que gobiernan el intercambio de paquetes y
mensajes
18.
19. Protocolo de Comunicación
• Protocolo: conjunto de reglas y formatos que periten la comunicación entre procesos.
• La definición de un protocolo se define en dos partes:
Especificación de la secuencia de mensajes que deben intercambiarse.
Especificación de formato de mensajes.
• El software de red se organiza en niveles.
20. Gestión de memoria en sistemas distribuidos
Una de las principales características de un sistema distribuido es la ausencia de
una memoria común. Esto hace que la comunicación y sincronización en este tipo de sistemas
tenga que hacerse mediante el intercambio de mensajes. La mayoría de los sistemas
distribuidos actuales siguen este modelo, con cada computadora gestionando su memoria
virtual. Sin embargo, hay propuestas que intentan mejorar este esquema. Estas propuestas
son:
• Utilización de paginadores externos.
• Memoria compartida distribuida.
La utilización de paginadores externos se basa en almacenar el espacio de
intercambio (swap) en servidores de archivos distribuidos y en el empleo de paginadores
externos, que son procesos que se encargan de tratar los fallos de página que ocurren en una
computadora. El empleo de paginadores externos permite disponer de un sistema con una
gran cantidad de espacio para paginación, liberando a las computadoras de reservar espacio
para la paginación.
21.
22. La memoria compartida distribuida es una abstracción que permite que los procesos
que ejecutan en un sistema distribuido puedan comunicarse utilizando memoria compartida.
Esta abstracción se construye utilizando: el paso de mensajes disponible. El empleo de
memoria compartida como mecanismo de comunicación': facilita el desarrollo de aplicaciones,
ya que el modelo de programación es más sencillo y lá sincronización puede realizarse
utilizando construcciones tradicionales, cómo pueden ser los semáforos.
La memoria compartida. Distribuida se implementa utilizando paso de mensajes
para distribuir los datos a las memorias de las distintas computadoras. No hay que olvidar que
para poder ejecutar un programa es necesario que éste, junto con sus datos, resida en
memoria principal. La distribución de los datos, normalmente páginas, se puede hacer
replicando páginas en distintas computadoras o migrando páginas de una computadora a otra.
En el primer caso, cada computadora que utiliza una página almacena una copia
local de ella en su memoria principal,. pudiéndose incluso paginar a su propia área de
intercambio.
23.
24. El empleo de replicación conlleva a la existencia de múltiples copias de una página,
con los posibles problemas de coherencia que ello puede plantear. La migración, en cambio,
se basa en no permitir la existencia de múltiples copias. Cuando un proceso requiere acceso a
una página (se habrá producido un fallo de página en la computadora en la que ejecuta), el
sistema' de memoria compartida distribuida se encargará de transferir la página del lugar en el
que se encuentre (en esta computadora la página se marcará como no presente) hasta lá
computadora que provocó el fallo. Este enfoque elimina los posibles problemas de coherencia
en el acceso a datos compartidos, pero el rendimiento del sistema puede degradarse en caso
de accesos muy frecuentes por parte de diferentes procesos a una misma página,-puesto que
ésta estará transfiriéndose constantemente de una máquina a otra
25. Ventajas y Desventajas de los Sistemas Operativos Distribuidos
Ventajas
· Un sistema distribuido es tolerante a fallos dado que la redundancia posibilita a que los procesos que se
estén ejecutando se transfiera a otra máquina si este llega a fallar generando mayor fiabilidad.
· La escalabilidad que genera la capacidad de crecer mediante la adición de mas sistemas de computo
independientes.
· Menores costos dado que los sistemas independientes son mas económicos que los servidores.
· La compartición de recursos e información al momento de interconectarse puede ser muy útil dado que con
ellos podemos aumentar el rendimiento a los equipos del sistema, y facilitar el intercambio de información
entre usuarios.
· La eficiencia y flexibilidad con esto podemos tener una ejecución concurrente de procesos, respuesta
rápida y empleo de técnicas de procesamiento.
26. Ventajas y Desventajas de los Sistemas Operativos Distribuidos
Desventajas
· Mayor dificultad para mantener la privacidad de la información ya que en este sistema muchos usuarios
pueden tener acceso a los datos que se almacenan.
· La programación de estos sistemas operativos es más compleja.
· Fallos independientes elevados, al ser el sistema más robusto se tienen más posibilidades estadísticas
para fallos de cada equipo o nodo.
27. Sistema Operativo en Red.
Un ejemplo simple de sistema distribuido lo constituyen las redes de computadores: conjunto de
computadores interconectados mediante una red de comunicación que posibilita la compartición y acceso a
recursos remotos por parte de sus usuarios. Estos recursos compartidos pueden ser tanto físicos
(impresoras, procesadores, etc.) como lógicos (bases de datos, programas, etc.).
28. Sistema Operativo en Red.
Además, las arquitecturas hardware de los diferentes computadores que conforman la red
pueden ser diferentes, así como también sus respectivos sistemas operativos. En pocas palabras, se trata
de un conjunto de máquinas cada una ellas con su sistema operativo local, el cual incorpora determinados
módulos hardware y software que implementan algunos de los protocolos descritos que posibilitan el acceso
a recursos físicamente reemplazados en otras máquinas. Evidentemente los usuarios de este tipo de
sistemas conocen la existencia de múltiples computadores y deben trabajar con ellos de forma explícita, no
existiendo en este sentido transparencia en el acceso a los recursos. A este tipo de sistemas se suele hacer
referencia con el nombre de sistemas operativos de red.
Algunos ejemplos de servicios proporcionados en este tipo de sistemas son TELNET SSH
(escritorio remoto), FTP (Transferencia remota de archivos) Y SMTP (Protocolo simple de transferencia de
correo).
29. Sistemas Operativo Distribuido
Cuando se utiliza un sistema operativo distribuido, cada procesador en el sistema ejecuta una
copia del mismo sistema operativo. El gran objetivo de un sistema operativo distribuido es hacer creer a los
usuarios que utilizan el sistema distribuido de que se trata de un gran sistema centralizado, es decir, ofrecer
una visión única del sistema. Un sistema operativo distribuido pretende, por tanto, esconder el carácter
distribuido del sistema.
Los objetivos que debe cumplir un Sistema Operativo distribuido:
• Transparencia
• Fiabilidad
• Rendimiento
• Capacidad de crecimiento
• Flexibilidad
30. Acceso a archivos Remotos
Compartir archivos con una PC a distancia
Uso compartido de archivos
Propósito:
Cargar o descargar archivos a la PC de la oficina / casa de forma remota.
Problema a resolver:
La mayoría de PCs para el hogar u oficina están detrás de routers. No se puede acceder directamente
desde Internet. Además, en la mayoría de casas u oficinas se asignan direcciones IP dinámicas. Esto
significa que las direcciones IP no son necesariamente las mismas.
¿Cómo ayuda a VNN?
Mediante la ejecución de VNN en el ordenador de casa u oficina y la PC a distancia, se establece un túnel
de red virtual segura entre
31. estos equipos. Los archivos transferidos a través del túnel VNN se cifran de forma transparente.
Esto evita que el contenido de los archivos sea expuesto en Internet. Con la función de VNN para control de
acceso, sólo los ordenadores autorizados puedan transferir datos entre su propio túnel.
Hay muchas maneras de compartir archivos con otras computadoras en VNN.
- Uso de red de Windows
- El uso de FTP o Servidor Web
- Compartir archivos en el NAS (Network Attached Storage)
- Uso de VNN incorporado en la carpeta Web
- Uso de VNN-FileExpress
Atomicidad
La atomicidad es la propiedad que asegura que una operación se ha realizado o no, y por lo
tanto ante un fallo del sistema no puede quedar a medias. Se dice que una operación es atómica cuando es
imposible para otra parte de un sistema encontrar pasos intermedios. Si esta operación consiste en una
serie de pasos, todos ellos ocurren o ninguno. Por ejemplo, en el caso de una transacción bancaria o se
ejecuta tanto el depósito y la deducción o ninguna acción es realizada. Es una característica de los sistemas
transaccionales.
32. Método de accesos remotos
Con el tema de la crisis muchas empresas están tomando medidas más o menos populares, y
una de ellas es la de abaratar costes hasta el punto de mandar a los trabajadores a trabajar desde casa.
Ahora que tenemos velocidades de internet moderadamente elevadas, estas soluciones son
muy asequibles y versátiles. Se pueden controlar sistemas operativos distintos al que estés manejando
remotamente, incluso desde tablets o móviles.
Abro este tema con el fin de tratar, con un lenguaje muy mundano, y sin entrar demasiado en
detalles, el tema del control o acceso remoto al equipo desde casa u otro lugar. Es necesario mencionar que
normalmente hace falta que el equipo a controlar esté bajo una ip fija, digamos que para saber "a donde hay
que llamar", y que tiene que tener el router configurado para que redirija la conexión al equipo adecuado,
por lo que suele hacer falta intervención técnica (aunque no en todos los casos, como mencionaremos más
adelante):
33. Escritorio remoto / Remote desktop / Terminal Server Client / RDC
Puertos redirigidos en router: 3389
Mediante este software preinstalado en Windows, un equipo puede ser controlado mediante
LAN o WAN usando un cliente de escritorio remoto de Windows (también disponible en Mac). Si se conecta
usando una cuenta de usuario que está siendo usada en el equipo destino, se cierra la sesión para dar paso
al cliente remoto.
Vnc
Puertos redirigidos en router: 5900
Esta solución requiere de una instalación servidor en la máquina destino, y otra instalación
cliente en la máquina desde la que se va a controlar. Hay múltiples programas que sirven a este fin, y la
mayoría tienen un cliente gratuito, mientras que el servidor es de pago.
Nota: En macos X, el servidor viene preinstalado en el sistema, aunque no tiene un soft cliente (los hay
gratuítos, como el Chicken of the VNC).
34. Teamviewer / Log me In
Puertos redirigidos en router: ninguno.
Estas soluciones se han popularizado muchísimo a raíz de ser multiplataforma y gratuitas
(aunque existen versiones de pago). Mediante la instalación de un software en ambas máquinas, y pasando
mediante el servidor del fabricante del software, el equipo remoto puede ser controlado mientras la sesión
está abierta. Es una solución muy empleada hoy en día por las empresas para ofrecer fácilmente asistencia
remota para ayudar a configurar programas, etc. al cliente sin que este tenga que hacer mucho más que
instalarse una utilidad. En estos casos no hace falta ninguna ip fija ni redirección de puertos, así que resulta
ideal para el cliente puntual.
35. Control de Concurrencia
Muchos sistemas de bases de datos son capaces de manejar de forma concurrente a múltiples
usuarios. En algunas situaciones cada usuario puede estar interactuando con una base de datos diferente,
mientras que en otras pueden ser muchos los usuarios que interactúen con la misma base de datos.
Las bases de datos muy grandes, como, por ejemplo, las asociadas con los sistemas de reserva de billetes
para líneas aéreas, pueden ser consultadas por millares de usuarios simultáneamente. Incluso en casos
extremos como éste, cada usuario individual no suele ser consciente de estar compartiendo los mismos
datos con otras personas. La responsabilidad del correcto intercambio de mensajes entre los usuarios y las
bases de datos apropiadas es compartida por el sistema operativo y por el SGBD. En este contexto, un
usuario podría referirse tanto a una persona sentada a un terminal, como a un programa por lotes que
interactúa con una base de datos.
Cuando varios usuarios acceden concurrentemente a una misma base de datos, existen varios
tipos de potenciales conflictos relativos al uso de los datos. Estos conflictos podrían ocurrir, por ejemplo, si
un usuario estuviese intentando modificar una información que otros usuarios están intentando leer. Otra
posibilidad sería el que dos usuarios pudiesen intentar actualizar simultáneamente el mismo registro; o, peor
aún, que un usuario pudiese intentar leer un registro mientras otro está intentando borrarlo. El sistema de
bases de datos debe asegurarse de que los conflictos de este tipo se resuelvan de forma que satisfagan las
necesidades de los diferentes usuarios, sin crear ninguna confusión durante el proceso. Este tipo de tarea
del SGBD se denomina control de concurrencia.
36. Conclusiones
Los sistemas distribuidos abarcan una cantidad de aspectos considerables, por lo cual su
desarrollo implica mucha complejidad.
Existen ciertos aspectos que requieren extremo cuidado al desarrollarse e implantarse como el
manejo de fallos, el control de la concurrencia, etc.
Existen muchos temas de investigación relacionados con los sistemas distribuidos, por ejemplo
los planteados en el apartado de Desafíos.
Se nota también que muchas tecnologías están en constante desarrollo y maduración, lo cual
implica un minucioso estudio previo de muchos factores antes de apostar por alguna tecnología en especial.
37. Referencias Electrónica
Roger S. Presuman. Ingeniería de Software. Quinta Edición. McGraw-Hill Interamericana. Madrid. 2002.
George Coulouris. Sistemas Distribuidos. Tercera Edición. Addison Wesley. Madrid. 2001.
Guía Rápida de Internet, David Zurdo Saiz, Alejandro Sicilia Burgoa, Fernando Acevedo Quero, Paraninfo.
Madrid. 1997.
http://fmc.axarnet.es/redes/tema_04.htm (Sistemas Operativos).
http://www.fortunecity.es/sopa/chinchulines/812/informacion/noscs.htm (Sistemas Operativos).
http://dmi.uib.es/~bbuades/sistdistr/sld007.htm (Sistemas Distribuidos).
http://members.fortunecity.es/lrmdl/SO7.htm#VSDRC (Sistemas Distribuidos).
http://sacbeob.8m.com/tutoriales/bddistribuidas/ (Base de Datos Distribuidas).
http://pdf.rincondelvago.com/bases-de-datos-distribuidas.html (Base de Datos Distribuidas)
http://www-lt.ls.fi.upm.es/sistemas_dist/Introduccion.pdf (Sistemas Distribuidos).
http://www.dia.eui.upm.es/cgi-bin/asigfram.pl?cual=sis_dis&nombre=Sistemas-Distribu%EDdos (Sistemas
Distribuidos: Aplicaciones).
http://www.fisica.uson.mx/carlos/WebServices/WSOverview.htm (Objetos Distribuidos).
http://di002.edv.uniovi.es/~lourdes/publicaciones/bt99.pdf (Objetos Distribuidos).
http://www.iespana.es/darkstar/secciones/informatica/redes/tcpip/capas.html (Protocolos).