+ All Categories
Home > Documents > MASTER DEGREE: Industrial Systems Engineering - DIEEC -Departamento de ... · Antes de proporcionar...

MASTER DEGREE: Industrial Systems Engineering - DIEEC -Departamento de ... · Antes de proporcionar...

Date post: 03-Oct-2018
Category:
Upload: duongliem
View: 212 times
Download: 0 times
Share this document with a friend
23
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
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

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 2

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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 3

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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 4

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 Perfomance 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:

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 5

• 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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 6

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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 7

• 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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 8

•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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 9

•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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 10

•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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 11

* 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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 12

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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 13

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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 14

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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 15

• 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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 16

• 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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 17

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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 18

· 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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 19

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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 20

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.

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 21

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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 22

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

Introducción a los Sistemas Industriales

FUNCIONES Y CARACTERÍSTICAS DE IS. CONCEPTOS DE ORDENADORES 23

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.


Recommended