Download Introducción a los Sistemas Industriales

Document related concepts

Middleware wikipedia , lookup

Servidor wikipedia , lookup

Clúster (informática) wikipedia , lookup

Plan 9 from Bell Labs wikipedia , lookup

Máquina virtual wikipedia , lookup

Transcript
PAC- Performance-centered Adaptive Curriculum for Employment Needs
Programa ERASMUS: Acción Multilateral - 517742-LLP-1-2011-1-BG-ERASMUS-ECUE
MASTER DEGREE:
Industrial Systems Engineering
ASIGNATURA ISE1:
Introducción a los Sistemas Industriales
MÓDULO 4:
Redes de ordenadores y sistemas distribuidos
TAREA 4-3:
ARQUITECTURAS DE SISTEMAS DISTRIBUIDOS Y CONCEPTOS DE
SOFTWARE
Héctor Lanzarote Toledo
Introducción a los Sistemas Industriales
Contenido
TAREA 2.1: MICROPROCESADORES Y SISTEMAS MP.
PARALELISMO EN MP
1.- Introducción.
2.- Objetivos.
3.- Desarrollo.
4.- Conclusiones.
5.- Bibliografía y/o referencias.
6.- Enlaces de interés.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
2
Introducción a los Sistemas Industriales
TAREA
4-3:
ARQUITECTURA
DE
SISTEMAS
DISTRIBUIDOS Y CONCEPTOS DE SOFTWARE
1.- INTRODUCCIÓN
Los sistemas distribuidos suponen un paso más en la evolución de los
sistemas informáticos, entendidos desde el punto de vista de las
necesidades que las aplicaciones plantean y las posibilidades que la
tecnología ofrece. Antes de proporcionar una definición de sistema
distribuido resultará interesante presentar, a través de la evolución
histórica, los conceptos que han desembocado en los sistemas distribuidos
actuales, caracterizados por la distribución física de los recursos en
máquinas interconectadas.
Utilizaremos aquí el término recurso con carácter general para referirnos a
cualquier dispositivo o servicio, hardware o software, susceptible de ser
compartido.
2.- OBJETIVOS
1. Definir el concepto de sistemas distribuidos (Distributed Systems),
mire los tipos DS y sus características.
2. Explicar los conceptos de escalabilidad y transparencia en el DS
3. Describa brevemente las arquitecturas utilizadas en los Sistemas
Distribuidos y sus características.
3.- DESARROLLO
1.Los sistemas distribuidos son aquellos en los que dos o más máquinas
colaboran para la obtención de un resultado y están basados en las
características de transparencia, eficiencia, flexibilidad, escalabilidad y
fiabilidad. El objetivo principal de los Sistemas Distribuidos es el mejor
desempeño, mayor fiabilidad y disponibilidad, compartición de recursos e
información, además del mejoramiento de la comunicación, mayor
adaptabilidad (más natural, distribución de carga, etc.). La importancia del
desarrollo de los Sistemas Distribuidos es debido a las necesidades de los
usuarios que requieren de aplicaciones más sofisticadas así como también
de las funciones administrativas y económicas.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
3
Introducción a los Sistemas Industriales
A continuación se dan unas definiciones de Sistemas Distribuidos:
“Sistema en el cual múltiples procesadores autónomos, posiblemente de
diferente tipo, están interconectados por una subred de comunicación para
interactuar de una manera cooperativa en el logro de un objetivo global”
[Lelann, 1981]
“Sistema en el cual componentes de hardware y software, localizadas en
computadores de red, se comunican y coordinan sus acciones sólo por
pasos de mensajes” [Coulouris, 2002]
“Conjunto de computadores independientes que se muestran al usuario
como un sistema único coherente” [Tanenbaum, 2001]
TIPOS DE SISTEMAS DISTRIBUIDOS
En primer lugar se nombrarán y posteriormente se explicarán cada uno de
ellos:
• Sistemas de computación distribuida:
+ Gluster
+ GLid
• Sistemas de información distribuida:
+ Procesamiento de transacciones
+ Integración de aplicaciones de la empresa
• Sistemas distribuidos empotrados o ubicuos:
+ Sistemas hogareños
+ Sistemas electrónicos para cuidados de la salud
+ Redes de sensores
+ Redes ad-hoc móviles
Sistemas de computación distribuida
• Computación de alto rendimiento (High
Computing (HPC)):
– usa supercomputadoras y clusters de computadoras
para resolver problemas computacionales de avanzada.
–operan en la región de los teraflops (Tflops = 1012
flops) y petaflops (Pflops= 1015 flops).
– es comúnmente asociado con la computación usada
para la investigación científica.
–usado para procesamiento paralelo
–sinónimo de supercomputación
• High-Performance Technical Computing (HPTC):
–Aplicaciones de ingeniería de computación basada en
clusters, tales como:
Perfomance
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
4
Introducción a los Sistemas Industriales
• Dinámica computacional de fluidos
• Construcción y verificación de prototipos virtuales.
• Simulación y modelos
• Tomografía sísmica para aplicaciones de petroquímica.
– Recientemente, se aplica a los negocios para:
• Data warehouses,
• Aplicaciones line-of-business (LOB) y
• Procesamiento de transacciones.
• High Productivity Computing:
–refleja el propósito y uso de las nuevas arquitecturas y
software, middleware, almacenamiento, redes y herramientas
que existen en la nueva generación de aplicaciones.
–TOP500 list: lista de las computadoras HPC más poderosas
medidas por el HPL benchmark. (
• HPL benchmark (High Performance Computing Linpack
Benchmark):
– HPL es un paquete de software que resuelve un sistema lineal
denso (al azar) en aritmética de doble precisión (64 bits) sobre
computadoras con memoria distribuida.
• 1º puesto del TOP500 HPL list (junio/2008):
IBM RoadRunner:
– Es una supercomputadora hibrida diseñada para un rendimiento máximo
de 1,7 Pflops (logró 1,026 Pflops en mayo 2008) y es un cluster.
– Está construida con partes comerciales.
– Operador: National Nuclear Security Administration en el laboratorio de
Los Alamos, EE.UU
Cluster de computadoras
Un cluster de computadoras es un grupo de computadoras interconectadas,
en general, por una red local de alta velocidad, que se comportan como si
fuesen una única computadora.
Ejemplo: Beowulf Distributed Computer Cluster (Linux) deCarnegie
Mellon University - Department of Chemical
Se usan para mejorar el rendimiento y/o disponibilidad que puede ofrecer
una sola computadora. Son más económicos que una computadora
individual de velocidad y disponibilidad comparable.
Sistemas de computación GRID
•Es una infraestructura que lógicamente agrupa recursos distribuidos.
•Alcance mundial
Grid Computing permite que organizaciones virtuales compartan recursos
geográficamente distribuidos para un objetivo común, sin una locación
central, ni control central, ni omnisciencia, en una relación de mutua
confianza.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
5
Introducción a los Sistemas Industriales
Sistema de Procesamiento de Transacciones
• Corresponden a aplicaciones de bases de datos:
– Las operaciones sobre una base de datos se llevan a cabo por
transacciones, que requieren primitivas provistas por el sistema distribuido
o por el ambiente de programación.
Primitiva Descripción
BEGIN_TRANSACTION Marca el comienzo de la transacción
END_TRANSACTION Termina la transacción y comienza el commit
ABORT_TRANSACTION Destruye la transacción y restaura los valores
anteriores
READ Lee datos de un archivo, tabla, etc.
WRITE Graba datos en un archivo, tabla, etc.
•Una de las características relevantes del procesamiento de transacciones es
que:
–Se ejecutan todas las operaciones o ninguna.
– Se suelen definir sus propiedades como ACID:
• Atomic (atómica): Para el mundo exterior, cada transacción ocurre en
forma indivisible.
• Consistent (consistente): La transacción no viola los invariantes del
sistema.
• Isolated (aislada): Las transacciones concurrentes no interfieren entre
ellas.
• Durable (durable): Una vez que una transacción realizó un commit, los
cambios son permanentes.
Sistemas Distribuidos Ubicuos
• Ubicuo: que está presente a un mismo tiempo en todas partes,
omnipresente.
• Diferentes denominaciones:
– Pervasive
–Ubiquitous
–Inteligencia del Ambiente
(Ambient Intelligence)
Son redes NO invasivas que desaparecen
Sistemas Ubicuos Imagina que:
•Rascacielos, puentes, etc. auto detectan fallas estructurales (por ej. Roturas
de soldaduras).
•Instituciones detectan toxinas aerotransportadas en pequeñas
concentraciones y ubican la fuente de contaminación.
• Boyas avisan a los nadadores, pescadores, etc. de niveles peligrosos de
bacterias.
• Robots y sensores introducidos en escombros de edificios destruidos por
terremotos localizan sobrevivientes y estiman el daño estructural.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
6
Introducción a los Sistemas Industriales
• Ecosistemas sembrados con sensores químicos, físicos, acústicos, de
imagen, etc. permiten hacer un seguimiento de cambios globales.
Sistemas Ubicuos; ejemplos de algunos de los proyectos CENS
• Ecología:
–CASA: (Center for Collaborative Adaptative
Sensing of the Atmosphere)
http://casa.ece.uprm.edu/index_esp.html
– TEOS: (Terrestrial Ecology Observing Systems)
http://research.cens.ucla.edu/areas/2007/Terrestrial/
• Sismos:
– MASE (Middle America Subduction Experiment)
http://www.tectonics.caltech.edu/mase/
– SNUSE (Sensor Networks for Undersea Seismic
Ejemplos de los proyectos RUNES
(Reconfigurable Ubiquitous Networked Embedded Systems)
•Monitoreo Médico y cuidado de la salud a distancia (telecare)
• Automatización Industrial y proceso de control
• Emergencia y administración de desastres
Aplicaciones deAutomatización Industrial
•Mantenimiento preventivo
•Monitoreo de planta
Redes de Sensores
•Micro-sensores con procesamiento local reducido e interfases
inalámbricas, pueden monitorear fenómenos “in situ” sin interacción
humana.
•Son sistemas de tiempo real. Computación, control y comunicaciones
están integrados.
•Permiten un monitoreo ambiental denso tanto espacial como temporal. El
foco de atención es el ambiente físico.
Sistemas de Información
•Grandes computadoras de propósito general sobre redes que se usan para
procesamiento de información que está centrado en el usuario del sistema.
•Son sistemas interactivos.
•Están relacionados indirectamente con el ambiente físico. El foco de
atención está en la interacción humana.
Red de sensores empotrados:
Escenarios
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
7
Introducción a los Sistemas Industriales
•Una red de sensores requiere: computación, control y comunicaciones.
Sensores y actuadores se integran a:
–Tecnologías de redes cableadas existentes (Fieldbuses o redes de
campo, Ethernet Industrial, etc.)
–Tecnologías inalámbricas (por costo, cantidad, movilidad, consumo
energía)
IEC 61499 & Fieldbus
•IEC 61499 provee una plataforma de modelado distribuido y genérico:
–Cada dispositivo de campo descentralizado provee un recurso capaz de
ejecutar “Function Blocks (FBs)”
–Las FBs pueden estar empotradas o programadas en el dispositivo
– Las aplicaciones de control se crean configurando enlaces de software
entre los dispositivos de campo y otros dispositivos inteligentes (PLCs,
HMIs, etc.).
Aplicaciones simples requieren solo dispositivos decampo (sin control
central)
Consecuencias de IEC6149
•Las conexiones lógicas entre function blocks dentro de los dispositivos
está desacoplada de la ubicación física del instrumento
• Se definen relaciones de timing
Los elementos del sistema pueden correr concurrentemente sin
interdependencias
• Son independientes del fabricante
• Son interoperables entre fabricantes.
Buses de Campo (Fieldbuses)
•Ejemplos:
– Controller Area Network (CAN)
– DeviceNet
–Foundation Fieldbus
–Profibus PA /DP
–High Speed Ethernet (HSE)
Redes de Sensores inalámbricos (WSN: Wireless Sensor Networks)
•Característica de las aplicaciones:
–Fuente de los datos (nodo que sensa) (+)
–Sumidero (destino) de los datos: (-)
•Pueden ser parte de la red de sensores
•Pueden ser sistemas externos (Ej. PDA)
–Patrones de interacción clásicos:
•Detector de eventos
•Mediciones periódicas
•Aproximación de funciones o detección de bordes
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
8
Introducción a los Sistemas Industriales
•Seguimiento
Redes de Sensores: Nuevos temas de diseño
•Sistemas autoconfigurables que se adaptan a ambientes impredecibles
–Dinámicos, cambiantes, ambientes con comportamiento preestablecido
•Poder de procesamiento de datos en la red
–Realiza cómputos cerca de los datos para reducir comunicaciones
–Procesamiento cooperativo de la señal
–Comportamiento global usando algoritmos localmente (control
distribuido)
•Sistemas de larga vida, desacoplados y desatendidos
–El consumo de energía es la preocupación central
–Nuevos Desafíos en Control Empotrado
•Sistemas de control empotrados y desatendidos
–Red de control que actúa en el ambiente
•Aplicaciones críticas requieren extender el sensado al control y el accionar
–Transporte, agricultura de precisión, monitoreo médico y suministro de
medicamentos, aplicaciones militares.
–Requisitos especiales de usabilidad, fiabilidad y seguridad.
•Necesitan una arquitectura de sistemas para administrar sus interacciones
–Desarrollos actuales: one-off, incrementally tuned, stove-piped
–Repercusiones: longevidad, interoperabilidad, seguridad y robustez
insuficientes. Las comunicaciones son el consumidor primario de los
escasos recursos de energía.
Características de los requerimientos
•Tipo de servicio
•Calidad del servicio
•Tolerancia a fallos
•Tiempo de vida
•Escalabilidad
•Densidad de nodos
•Programación cambiable en operación
•Mantenible
•Requiere:
–Comunicación inalámbrica con múltiples saltos
–Operación eficiente del consumo de energía
–Auto configuración
–Colaboración y procesamiento en la red
–Centrado en datos (no en dirección)
–Localidad
–Adaptación a situaciones cambiantes
Semejanzas entre WSN y Fieldbuses
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
9
Introducción a los Sistemas Industriales
•Requerimiento de tiempo real (real time)
(WSN: mayor demora y jitter)
•Tolerancia a fallos incorporada
•Uso predominante en aplicaciones de Control
CARACTERÍSTICAS DE LOS SISTEMAS DISTRIBUIDOS
1.- Transparencia: El concepto de transparencia de un sistema distribuido
va ligado de que todo el sistema funcione de manera similar en todos los
puntos de la red, independientemente de la posición del usuario. La labor
que sistema operativo tiene es la de establecer los mecanismos que oculten
la naturaleza distribuida del sistema y que permitan trabajar a los usuarios
como si se tratara de un único equipo.
En un sistema transparente, las diferentes copias de un archivo deben
aparecer al usuario como un archivo. Y la tarea del sistema operativo es la
de 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 usuarios
como los programadores vean el núcleo del sistema distribuido como un
único procesador. Otro punto clave que debe controlar el sistema operativo
es el paralelismo, 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.
Existen diferentes tipos de transparencia como son:
* Transparencia de acceso: acceso a objetos locales o remotos de la misma
manera.
* Transparencia de lugar: acceso a objetos sin conocer dónde están.
* Transparencia de concurrencia: varios procesos pueden operar
concurrentemente usando objetos de información compartidos sin
estorbarse.
* Transparencia de replicación: diferentes réplicas de un mismo objeto de
información sin enterarse a cual se accede, ni diferencias entre ellos.
* Transparencia de fallo: aislamiento de fallos, de forma que las
aplicaciones puedan completar sus tareas.
* Transparencia de migración: permite mover los objetos de información
sin afectar a las aplicaciones.
* Transparencia de rendimiento: redistribución de cargas en el sistema sin
modificación en las aplicaciones.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
10
Introducción a los Sistemas Industriales
* Transparencia de escalabilidad: permite asumir cambios de tamaño del
sistema y aplicaciones sin modificar la estructura del sistema ni los
algoritmos de los programas.
2.-Eficiencia: La idea base de los sistemas distribuidos es la de obtener
sistemas mucho más rápidos que los ordenadores actuales. Con esto de
nuevo nos encontramos con 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 distribuir las tareas a los procesadores libres
más rápidos en cada momento. La idea de que un procesador vaya a
realizar una tarea de forma rápida es bastante compleja, y depende de
muchos aspectos concretos, como la propia velocidad del procesador, la
localidad, los datos, los dispositivos, etc.
3.-Flexibilidad: Un proyecto en desarrollo como el diseño de un sistema
operativo distribuido debe estar abierto a cambios y actualizaciones que
mejoren el funcionamiento del sistema. Esta necesidad ha provocado una
diferenciación entras las dos diferentes arquitecturas del núcleo del sistema
operativo: el núcleo monolítico y el micronúcleo. Las diferencias entre
ambos son los servicios que ofrece el núcleo del sistema operativo. El
núcleo monolítico ofrece todas las funciones básicas del sistema integradas
en el núcleo, como ejemplo de este núcleo está UNIX. Estos sistemas
tienen un núcleo grande y complejo, que engloba todos los servicios del
sistema. Mientras tanto, el micronúcleo incorpora solamente las funciones
fundamentales, que incluyen únicamente el control de procesos y la
comunicación entre ellos y la memoria. El resto de los servicios se cargan
dinámicamente a partir de servidores en el nivel de usuario. En la
actualidad la mayoría de sistemas operativos distribuidos en desarrollo
tiendan a un diseño de micronúcleo. Los núcleos tienden a contener menos
errores y a ser más fáciles de implementar y de corregir.
4.-Escalabilidad: Un sistema operativo distribuido debería funcionar tanto
para una docena de ordenadores como para varios millares. Al igual que no
debería de ser determinante el tipo de red utilizada (LAN o WAN) ni las
distancias entre los equipos, etc. La escalabilidad propone que cualquier
ordenador individual debe ser capaz de trabajar independientemente como
un sistema distribuido, pero también debe poder hacerlo conectado a
muchas otras máquinas.
5.-Fiabilidad: Una de las ventajas claras que nos ofrece la idea de sistema
distribuido es que el funcionamiento de todo el sistema no debe estar ligado
a ciertas máquinas de la red, sino que cualquier equipo pueda suplir a otro
en caso de que uno se estropee o falle. La forma más evidente de lograr la
fiabilidad de todo el sistema se encuentra en la redundancia. La
información no debe estar almacenada en un solo servidor de archivos, sino
por lo menos en dos máquinas. Mediante la redundancia de los principales
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
11
Introducción a los Sistemas Industriales
archivos o de todos evitamos el caso de que el fallo de un servidor bloquee
todo el sistema, al tener una copia idéntica de los archivos en otro equipo.
Otro tipo de redundancia más complicada se refiere al os procesos. Las
tareas críticas podrían enviarse a varios procesadores independientes, de
forma que el primer procesador realizaría la tarea normalmente, pero ésta
pasaría a ejecutarse en otro procesador si el primero hubiera fallado.
[Dueñas, R. Francisco, 2004]
En cuanto a su desarrollo tecnológico en los sistemas operativos
distribuidos tenemos:
* Ingeniería de software.
* Disminución de costos.
* Redes de comunicación de alta velocidad.
* Microelectrónica.
Además en todo sistema distribuido se establecen una o varias
comunicaciones siguiendo un protocolo prefijado mediante un esquema
Cliente-Servidor.
Algunas de las características más importantes en los sistemas distribuidos
son que tienen varios procesadores autónomos, una subred de
comunicación compartida que permite el paso de mensajes entre
componentes de hardware y software, un estado compartido distribuido o
replicado entre los participantes, concurrencia y paralelismo, cada elemento
de computo tiene su propia memoria y su propio sistema operativo, control
de recursos locales y remotos, sistemas abiertos (facilidades de cambio y
crecimiento), plataforma no estándar (UNIX, NT, RISC, etc.), dispersión y
parcialidad.
- Compuesto por múltiples ordenadores. Un sistema distribuido está
compuesto por más de un sistema independiente, cada uno, con uno o más
CPU`s, memoria local, memoria secundaria (discos) y, en general,
conexiones con periféricos de acceso inmediato (on line).
- Hay interconexión entre ellos. Parece claro que si varios ordenadores
distintos van a colaborar en la realización de tareas, deben comunicarse y
sincronizarse entre ellos, por lo que debe haber alguna línea o red de
interconexión.
- Tienen un estado compartido. Si los ordenadores realizan un trabajo
conjuntamente, deben mantener un estado compartido, es decir, todos los
ordenadores tienen la misma visión del estado del sistema distribuido
(tablas, bases de datos del sistema, servidores, etc.).
2.ESCALABILIDAD
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
12
Introducción a los Sistemas Industriales
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 serían muy deseables, puede que la
solución válida para unas cuantas computadoras no sea aplicable 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.
TRANSPARIENCIA
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 más
rápidos y eficientes por la distribución de la tareas.
3.Arquitectura sistemas distribuidos
En este material de estudio vamos a hablar sobre tres arquitecturas que
fueron ideales en su tiempo para los sistemas distribuidos.
•
TELEPROCESO
Este aparece con la finalidad de compartir información y recursos con
usuarios, la estructura de este es que su conexión es en paralelo para todos
los usuarios, además tiene terminales tontos. Cuenta con un solo servidor
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
13
Introducción a los Sistemas Industriales
en el cual está la memoria y solo el gestiona la información y las
aplicaciones.
Ventajas:
•
•
•
•
•
•
•
•
Seguros
Rápidos
Proceso local
Conectividad eficiente
Desventajas:
Infraestructura limitada
Dependencia del servidor
Costos elevados tanto como dinero y trabajo
SERVIDOR DE ARCHIVOS
El servidor de archivo, aparecen con estaciones de trabajo esto quiere decir
que los usuario ya puede manipularla información, claro está que deben
tener privilegios. Cuentan con aplicaciones destinadas para cada usuario de
acuerdo al trabajo que desempeñen, los documentos pueden ser
compartidos y pueden manipularlos varias personas.
Ventajas:
•
•
•
•
•
•
•
•
Menor costo de servidores
Servicio local
Mejor Rapidez
Aplicaciones Robustas
Desventajas:
Mayor Inversión de infraestructura
Actualización de aplicaciones
Problema en la red
CLIENTE SERVIDOR
Sistema donde el cliente es una máquina que solicita un determinado
servicio y se denomina servidor a la máquina que lo proporciona. Los
servicios pueden ser: Ejecución de un determinado programa, Acceso a un
determinado banco de información, Acceso a un dispositivo de hardware.
El servidor presenta a todos sus clientes una interfaz única y bien definida,
existen varios servidores:
•
Servidores de Software de Grupo.- El software de grupo es aquel, que
permite organizar el trabajo de un grupo. El servidor gestiona los datos que
dan soporte a estas tareas. Por ejemplo: almacenar las listas de correo
electrónico. El Cliente puede indicarle, que se ha terminado una tarea y el
servidor se lo envía al resto del grupo.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
14
Introducción a los Sistemas Industriales
•
•
•
•
Servidores WEB.- Son los que guardan y proporcionan Páginas HTML. El
cliente desde un browser o link hace un llamado de la página y el servidor
recibe el mensaje y envía la página correspondiente.
Servidores de correo.- Gestiona el envío y recepción de correo de un grupo
de usuarios (el servidor no necesita ser muy potente). El servidor solo debe
utilizar un protocolo de correo.
Servidor de objetos.- Permite almacenar objetos que pueden ser activados a
distancia. Los clientes pueden ser capaces de activar los objetos que se
encuentran en el servidor.
Servidores de aplicación.- Se dedica a una única aplicación. Es
básicamente una aplicación a la que pueden acceder los clientes.
El Cliente es Conjunto de Software y Hardware que invoca los servicios de
uno o varios servidores.
Características:
•
•
•
•
El Cliente oculta al Servidor y la Red.
Detecta e intercepta peticiones de otras aplicaciones y puede
redireccionarlas.
Dedicado a la cesión del usuario (Inicia...Termina).
El método más común por el que se solicitan los servicios es a través de
RPC (Remote Procedure Calls).
Funciones Comunes del Cliente:
•
•
•
Mantener y procesar todo el dialogo con el usuario.
Manejo de pantallas.
Menús e interpretación de comandos.
 Entrada de datos y validación.
 Procesamiento de ayudas.
 Recuperación de errores.
A continuación mostramos las arquitecturas cliente-servidor más populares:
•
•
•
Arquitectura Cliente-Servidor de Dos Capas.- Consiste en una capa de
presentación y lógica de la aplicación; y la otra de la base de datos. La
primera capa encapsula la presentación y la lógica, la segunda gestiona el
almacenamiento y puede almacenar parte de la lógica (procedimientos
almacenados, triggers). Normalmente esta arquitectura se utiliza en las
siguientes situaciones:
Cuando se requiera poco procesamiento de datos en la organización.
Cuando se tiene una base de datos centralizada en un solo servidor.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
15
Introducción a los Sistemas Industriales
•
•
•
•
•
•
•
•
•
Cuando la base de datos es relativamente estática.
Cuando se requiere un mantenimiento mínimo.
Arquitectura Cliente-Servidor de Tres Capas- Consiste en una capa de
la Presentación, otra capa de la lógica de la aplicación y otra capa de la
base de datos. Agrega una capa intermedia (middle tier) que permite
priorización y gestión de peticiones de balances. Normalmente esta
arquitectura se utiliza en las siguientes situaciones:
Cuando se requiera mucho procesamiento de datos en la aplicación.
En aplicaciones donde la funcionalidad este en constante cambio.
Cuando los procesos no están relativamente muy relacionados con los
datos.
Cuando se requiera aislar la tecnología de la base de datos para que sea
fácil de cambiar.
Cuando se requiera separar el código del cliente para que se facilite el
mantenimiento.
Está muy adecuada para utilizarla con la tecnología orientada a objetos.
Resumiendo un poco:
ARQUITECTURA BASICA
Una arquitectura es un conjunto de reglas, definiciones, términos y
modelos que se emplean para producir un producto.
*Arquitectura Cliente-Servidor
Agrupa conjuntos de elementos que efectúan procesos distribuidos y
computo cooperativo. Este modelo se basa en un Protocolo Solicitud
respuesta. El cliente envía una solicitud de cierto servicio, el servidor
realiza el trabajo y regresa el resultado de la operación. La Principal ventaja
de este protocolo es su sencillez, únicamente se necesita la utilización del
servidor.
*Principales beneficios de la arquitectura Cliente-Servidor
Mejor aprovechamiento de la potencia de cómputo (Reparte el trabajo).
Reduce el tráfico en la Red. (Viajan requerimientos). Opera bajo sistemas
abiertos. Permite el uso de interfaces gráficas variadas y versátiles.
*Cliente
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
16
Introducción a los Sistemas Industriales
Conjunto de Software y Hardware que invoca los servicios de uno o varios
servidores. Los Clientes interactúan con el usuario, usualmente en forma
gráfica.
*Características
-El Cliente oculta al Servidor y la Red.
-Detecta e intercepta peticiones de otras aplicaciones y puede
redireccionales.
-Dedicado a la cesión del usuario (Inicia…Termina).
-El método más común por el que se solicitan los servicios es a través de
RPC (Remote Procedure Calls).
*Funciones Comunes del Cliente:
· Mantener y procesar todo el dialogo con el usuario.
· Manejo de pantallas.
· Menús e interpretación de comandos.
· Entrada de datos y validación.
· Procesamiento de ayudas.
· Recuperación de errores.
· Generación de consultas e informes sobre las bases de datos.
*Servidor
Conjunto de Hardware y Software que responde a los requerimientos de un
cliente. Los Servidores proporcionan un servicio al cliente y devuelven los
resultados.
Tipos Comunes de Servidores:
· Servidor de Archivos (FTP, Novell).
· Servidor de Bases de Datos (SQL, CBASE, ORACLE, INFORMIX).
· Servidor de almacenamiento
· Servidor de Impresión.
· Servidor de Correo.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
17
Introducción a los Sistemas Industriales
· Servidor Web.
Otras Arquitecturas:
· P2P (Peer to Peer)
· Arquitecturas Intermedias
· Arquitecturas N capas
· Clientes Pesados
· Clientes Ligeros
· Clientes Inteligentes
4.- CONCLUSIONES.
Hemos podido ver a lo largo de este trabajo recopilando los diversos
trabajos de todos los temas que componen la asignatura de Ampliación de
Sistemas Operativos varios aspectos que nos dan una visión general del
concepto de sistema distribuido y que nos han permitido introducirnos en
su contexto para conocer algunas de sus características, mecanismos y parte
de la problemática inherente a este tipo de sistemas.
Hemos abordado multitud de temas durante la realización de este
trabajo como son en lo referente a los sistemas distribuidos los procesos,
hilos y la planificación de procesadores, además de la comunicación entre
procesos en Linux, el sistema de archivos en el que trabaja este sistema
operativo.
El sistema de gestión de memoria utiliza compartición de páginas y
mecanismos de copia durante la escritura para minimizar la duplicación de
los datos compartidos por los diferentes procesos. Las páginas se cargan
bajo demanda la primera vez que se hace referencia a las mismas y se
descargan en el almacén de respaldo de acuerdo con un algoritmo LFU
cuando es necesario reclamar la memoria física.
El uso de memoria distribuida soluciona el problema de tener una única
memoria que se pueda deteriorar o ralentizar todo el sistema. La memoria
distribuida necesita una gran gestión para que el paso de memoria entre
procesos no sea incorrecto y provoque daños graves.
Las conclusiones obtenidas una vez estudiada esta parte son el destacar
ante todo el especial énfasis que en los sistemas distribuidos adquieren los
procesos, en contra de la postura tomada en los sistemas operativos
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
18
Introducción a los Sistemas Industriales
centralizados, en especial todo lo relacionado a la planificación y
migración de los mismos.
Como conceptos importantes que han sido objeto de estudio en el
presente trabajo podemos mencionar la idea de multiprocesador y
multicomputadora que se han abordado para introducir al lector en el
ambiente de los sistemas distribuidos y establecer diferencias básicas sobre
los sistemas centralizados. Así como los conceptos del paralelismo o
ejecución en paralelo de procesos y granularidad, un concepto que nos ha
servido para profundizar un poco más en la planificación de los
multiprocesadores.
Sobre el tema de Software Libre y teniendo presentes la siguiente
definición: “Una comunidad es un conjunto de personas, que mediante la
comunicación cada individuo siente y comparte el mismo objetivo que sus
homólogos.”
Todos hemos tenido en algún momento dudas y en los tiempos que
corren, lo más recurrido en la actualidad es buscar esa duda en Google. En
un tiempo mínimo normalmente se encuentra la solución/respuesta a
nuestra duda, bien directamente en una web o bien en algún foro donde
alguien ya expuso la misma duda que tienes, incluso una opción más
exponer la duda en un foro del área en cuestión la cual será contestada en
breves horas/días. Esto al fin y al cabo es el concepto de información
compartida. Ahora bien, llevémonos esto al software. Este mismo esquema
se puede utilizar en el desarrollo de proyectos, siendo la titánica campaña
de GNU y la FSF por un sistema operativo libre el ejemplo más importante
de la historia, más que por sus logros, por su esfuerzo al intentar educar e
incitar a la gente hacia un uso responsable y ético del software. Este
movimiento ha planteado una alternativa en el modelo de negocio
e influenciado a otros, lo que ha llevado al movimiento Open Source.
Estas personas en concreto, son expertas en programación, y su
motivación es entender los lenguajes del sistema para poderlos explorar y
mejorar o remediar problemas que su autor no previó antes. A medida que
las personas conocen estos lenguajes de programación y si el software es de
licencia libre, se puede mejorar sus rutinas, optimizar su rendimiento o
mejorar la estructura del mismo. Por tanto estas comunidades tienen como
objetivo el desarrollo y modificación de aplicaciones, esto sólo se puede
realizar cuando sus individuos colaboran entre sí y se retroalimentan,
aprendiendo de los errores que han tenido en sus desarrollos. Este apoyo
mutuo ayuda a que no se concentren en un sólo problema sino que a su vez
se pueda estar atacando un problema en diversos niveles de complejidad, lo
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
19
Introducción a los Sistemas Industriales
cual sería impensable si no existieran personas interesadas en aprender y
fomentar este tipo de desarrollo denominado por Eric S. Raymond modelo
bazar.
Sin embargo, muchas personas en esta área piensan que hacer esto es
plagiar el intelecto de los demás, como es el caso del software privativo.
Este software no permite que personas ajenas a la compañía o los propios
desarrolladores del proyecto accedan libremente a los códigos fuente de sus
aplicaciones, y consideran este acto una violación de los derechos de la
propiedad intelectual. En el software libre las personas pueden hacer
aportaciones para el mejor rendimiento de un software, que obviamente fue
creado por alguien, esto permite que un software sencillo se vuelva robusto
en la medida que todos en la comunidad aporten sus nuevas ideas para el
mejoramiento del mismo.
En definitiva la idea óptima de Software Libre en nuestra opinión es
aquel software que se ha realizado sin ánimo de lucro y por gente
interesada en el desarrollo e investigación de nuevas tecnologías y
aplicaciones no existentes, englobando aquí a la mejora de cualquier otro
software para al final compartir con el resto de personas interesadas en
estos áreas para aportar más mejoras e ideas.
Cambiando de tercio en cuanto al sistema operativo Windows diremos
que su arquitectura fue desarrollada siguiendo el diseño de micronúcleo,
cuyas principales ventajas son la reducción de la complejidad, la
descentralización de los fallos y la facilidad para crear y depurar
controladores de dispositivos, aunque ha evolucionado hacia un
micronúcleo sobre-dimensionado, y que sigue teniendo como principales
dificultades la complejidad en la sincronización de todos los módulos que
componen el micronúcleo y su acceso a la memoria.
De su forma de gestionar los procesos y su comunicación, podemos
destacar que realiza todo el control mediante un gestor de procesos ubicado
en el Ejecutivo de Windows que ofrece los servicios necesarios para su
control.
En referencia a la planificación de Windows, la solución que propone,
no consigue un rendimiento muy óptimo en los hilos en tiempo real,
dándole a estos una mayor prioridad debido a que tienen que ofrecer una
buena respuesta. De igual manera la gestión de memoria está basada en una
estructura de memoria paginada donde el uso de la memoria virtual es vital.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
20
Introducción a los Sistemas Industriales
Por otra parte hemos estudiado los sistemas de archivos de Windows
basándonos en WindowsNT, cómo implementan estos la comunicación
entre procesos y vimos que a medida que pasa el tiempo estos sistemas
evolucionan rápidamente, mejorando la forma de almacenar los datos y la
seguridad en cuanto a la recuperación, tolerancia a fallos de los sistemas de
archivos (apartado 7) y en cuanto refiere a la seguridad de su sistema de
inicio de sesión en general.
NTFS es el sistema de archivos más moderno de Windows NT e incluye
soluciones de diseño nuevas, proporcionando una combinación de
rendimiento, fiabilidad y compatibilidad ausente en sistemas anteriores. Es
el sistema de archivos asociado al subsistema de entorno de Win32.
La seguridad se incluyó como parte de las especificaciones de diseño de
Windows NT, lo que permite lograr un nivel de seguridad C2 si se
configura el sistema adecuadamente. El modelo de seguridad incluye
componentes para controlar quién accede a los objetos, qué accesos pueden
efectuar los usuarios sobre un objeto y qué eventos se auditan. Todos estos
componentes juntos componen el subsistema de seguridad de Windows
NT.
Todos los objetos de Windows NT tienen asignados descriptores de
seguridad como parte de sus fichas de acceso. La parte más significativa de
los descriptores de segundad es la lista de control de accesos.
Windows NT proporciona mecanismos de tolerancia a fallos tales como:
utilidades para hacer copias de respaldo a cintas magnéticas, registros
transaccionales, discos espejo, discos con reparto de datos cíclico y paridad
nivel RAID 5 o duplicación de discos.
Un tema que cobra importancia en los sistemas distribuidos de archivos
es lo que pasa cuando dos o más usuarios comparten el mismo archivo.
Para esto existen diferentes métodos. Recordamos que con la semántica de
UNIX todas las operaciones en los archivos son visibles a todos los
procesos de manera instantánea pero el método más común es la semántica
de sesión, porque es más eficiente, esto es debido a que con esta semántica
ningún cambio es visible a otros procesos hasta que el archivo se cierra.
Los métodos que faltan es el de utilizar archivos Inmutables, que dificultan
que un archivo se pueda actualizar, y las transacciones atómicas, que
acaban siendo repetitivas.
Para poder implantar un sistema distribuido de archivos tienes que
tener en cuenta varias cosas como por ejemplo si lo quieres con o sin
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
21
Introducción a los Sistemas Industriales
estado, si vas a utilizar ocultamiento, etc. Todas las decisiones van a influir
bastante en el resultado final. Cada vez son más usados los sistemas
distribuidos, sobre todo en Internet, por eso las actualizaciones en
hardware, tolerancia de fallas, semántica, etc…, van a tener que sufrir
grandes cambios.
En el ámbito de Linux tras lo estudiado en este trabajo podemos obtener
la conclusión principal de que los principios de diseño de Linux son
compatibilidad, funcionalidad, velocidad, eficiencia y estandarización,
incluyendo su implementación, sobre todo basado en la posibilidad de
extender el código.
En la mayoría de los S.O., las aplicaciones están separadas del propio
S.O.: el código del S.O. ejecutado en modo kernel, y las aplicaciones
ejecutadas en modo usuario. Linux tiene esta arquitectura formada por el
kernel, las bibliotecas del sistema y las utilidades del sistema. Linux está
basado en estándares Unix. El kernel de Linux está implementado como un
kernel monolítico tradicional por razones de rendimiento, pero es
suficientemente modular en su diseño como para permitir cargar y
descargar dinámicamente la mayoría de los controladores en tiempo de
ejecución.
La comunicación entre procesos en UNIX se realiza mediante señales.
También usa las colas de espera asociadas a cada proceso, permitiendo que
múltiples procesos esperen a que se produzca un suceso, por otro lado
Linux también implementa el mecanismo de semáforos de UNIX System
V.
Linux posee dos algoritmos separados de la planificación de procesos.
Uno es un algoritmo de tiempo compartido para la planificación equitativa
y apropiativa entre múltiples procesos. El otro está diseñado para tareas de
tiempo real. Además Linux también posee en lo que se refiere al proceso de
login una autenticación, control de acceso y de usuario y ciertos derechos
de archivo, además de la máscara de protección que confieren al sistema
operativo un nivel de seguridad más que notable en lo que se refiere al
proceso de login de usuario.
Para finalizar hablando sobre el último de los Sistemas Operativos que
se tratan en este artículo hemos visto que MAC OS tiene algunas
peculiaridades respecto a los demás sistemas operativos como por ejemplo
que su sistema de archivos está gobernado por una aplicación llamada
finder el cual gestiona los archivos del sistema operativo tipo Mac.
Durante el presente artículo se ha investigado sobre la arquitectura desde
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
22
Introducción a los Sistemas Industriales
la base, teniendo el núcleo justo encima del hardware hasta la interfaz de
usuario que sirve para comunicarse con el usuario. Actualmente Aqua es la
última versión de Mac OS (Mac Os X). Por otro lado hemos deducido que
es un sistema que tiene pocos peligros en cuanto a virus y malware ya que
al ser el que menos está difundido y debido a su funcionamiento interno
existen actualmente pocos “piratas” informáticos que dediquen tiempo a
tratar de vulnerar estos sistemas. En cuanto a la gestión de la memoria se
han visto las diferentes evoluciones que han sufrido en las diferentes
versiones de Mac Os hasta la llegada de la asignación de memoria
dinámica. La gestión de usuarios se basa también en niveles donde se
asignan ciertos privilegios.
5.- BIBLIOGRAFÍA Y/O REFERENCIAS
Título: SISTEMAS OPERATIVOS DISTRIBUIDOS
Autor/es: Tanenbaum, Andrew S. ;
Editorial: PEARSON-PRENTICE HALL
Título: COMPUTACIÓN DISTRIBUIDA: FUNDAMENTOS Y APLICACIONES
Autor/es: Liu, Mei-Ling ;
Editorial: PEARSON ADDISON-WESLEY
6.- ENLACES DE INTERÉS
Se detallan en el documento Word donde se reúnen las 4 tareas de forma
conjunta.
Algunos muy interesantes además serían:
Andrew S. Tanenbaum and Robbert Van Renesse, Distributed Operating Systems.
ACM Computing Surveys (CSUR), Volume 17, Issue 4. Pags. 419-470. ISSN:0360-0300.
The MIT Press scientific computation series. 1985.
Eliezer Levy and Abraham Silberschatz, Distributed file systems: concepts and examples.
ACM Computing Surveys (CSUR), Volume 22, Issue 4. Pags. 321-374. ISSN:0360-0300. 1990
Eliezer Levy and Abraham Silberschatz, Distributed file systems: concepts and examples.
ACM Computing Surveys (CSUR), Volume 22, Issue 4. Pags. 321-374. ISSN:0360-0300. 1990.
FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES
23