INSTITUTO TECNOLÓGICO SUPERIOR
De Cintalapa
SISTEMAS
OPERATIVOS II
ACTIVIDAD
1:
INVESTIGACIÓN
CATEDRÁTICO:
REYNOL
ROQUE FARRERA
INTEGRANTES:
·
CRUCITA ITZEL LÓPEZ CRUZ
·
MICAELA PÉREZ DÍAZ
·
MARÍA DE LOS ÁNGELES CRUZ CAL Y MAYOR
·
JOSÉ MANUEL MORALES ÁLVAREZ
·
CELIA DE JESUS NATAREN MORALES
INGENIERA
EN INFORMÁTICA
GRADO
Y GRUPO:
5 -
“F”
1.1.-Conceptos y características de los
S.O de red y centralizados
DEFINICIÓN
DE SISTEMA OPERATIVO DE RED
Un
sistema operativo de red (Network Operating System) es un componente software
de una computadora que tiene como objetivo coordinar y manejar las actividades
de los recursos del ordenador en una red de equipos. Consiste en un software
que posibilita la comunicación de un sistema informático con otros equipos en
el ámbito de una red. Dependiendo del fabricante del sistema operativo de red,
tenemos que el software de red para un equipo personal se puede añadir al
propio sistema operativo del equipo o integrarse con él. NetWare de Novell es
el ejemplo más familiar y famoso de sistema operativo de red donde el software
de red del equipo cliente se incorpora en el sistema operativo del equipo. El
equipo personal necesita ambos sistema operativos para gestionar conjuntamente
las funciones de red y las funciones individuales.
Características
de los Sistemas Operativos de Red
Gestión centralizada de recursos y equipos de la red se realiza, por un servidor con S.O. en
red.
Aparece la figura del administrador de red, que gestiona la infraestructura de
la red (no presente en grupos de trabajo).
Conecta todos los equipos y recursos de la red.
Coordina las funciones de los periféricos y recursos.
Proporciona seguridad controlando el acceso a los datos y recursos.
Optimiza la utilización de los recursos.
DEFINICIÓN
DE SISTEMA OPERATIVO CENTRALIZADO
se
trata de aquel que utiliza los recursos de una sola computadora, es decir, su
memoria, CPU, disco y periféricos. Respecto al hardware podemos decir que se
suele tratar de un computador caro y de gran potencia, con terminales
alfanuméricos directamente conectados. Suele tratarse de una computadora de
tipo desktop, en las cuales es común encontrar un monitor grande con un teclado
y un mouse, además de un case para albergar la unidad de procesamiento y los
demás componentes
Características
de los Sistemas Operativos de Centralizado
Gestión
de procesos
Respecto
al manejo de procesos podemos cubrir 3 cosas: la comunicación entre procesos,
la sincronización y la planificación. Para ejecutar un proceso, se le asigna
memoria y se ejecuta sobre el (normalmente) único procesador del sistema. Es
más simple que en un sistema distribuido pues siempre se va a elegir el
procesador local, así que el tema pasa más por buscar el funcionamiento óptimo
del procesador que se posea y en buscar en qué procesador ejecutar un proceso
para aprovechar las posibilidades de cómputo.
Gestión
de memoria
El
manejo de memoria tiene que ver con la asignación de memoria, el mapeo lógico y
físico, la memoria virtual y los mecanismos de protección. En el sistema
centralizado se maneja sólo la memoria con la que cuenta la computadora en la
que está instalado el sistema
Gestión
de dispositivos
Sobre
el manejo de dispositivos podemos tratar los driver de los dispositivos, el
buffering y el spooling. Para que sea un sistema centralizado la gestión de
dispositivos debe encargarse sólo de los dispositivos que le pertenecen a una
sola computadora.
Gestión
de archivos
Para
el manejo de archivos hay que tener en cuenta el acceso a archivos, la
compartición de archivos, el control de concurrencia y la replicación de datos.
Es la parte del sistema operativo centralizado que se encarga de proporcionar a
los usuarios y aplicaciones servicios de para el uso, acceso y control de
accesos, tanto de archivos como a directorios.
1.2.- Conceptos y características de los
sistemas operativos distribuidos
SISTEMA
OPERATIVO DISTRIBUIDO
es un
conjunto de computadores independientes que se presenta a los usuarios como un
sistema único.Un sistema distribuido 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.
Caracteristicas
de Sistemas Distribuidos
Trasparencia
Se
dice que un sistema distribuido es trasparente cuando es visto tanto por el
usuario como por el programador como un sistema convencional de tiempo
compartido. La trasparencia total es difícil de lograr. Parcialmente, el
concepto de transparencia puede ser aplicado a varios aspectos de un sistema
distribuido.
Flexibilidad
Este
aspecto se refiere a la forma en que debe ser construido el sistema operativo.
Conviven dos escuelas de pensamiento que son las del kernel monolítico y las
del sistema operativo basado en microkernel. La primera sostiene que los
servicios del sistema deben residir en el sistema operativo y la segunda que es
preciso extraer todos los servicios posibles fuera del núcleo del sistema
operativo y disponerlos en procesos de usuario, logrando un mayor estructura e
independencia en los servicios, que pueden residir en máquinas diferentes. Hoy
en día el kernel monolítico domina el mundo de los sistemas operativos, pero
parece que el futuro se impondrá la filosofía microkernel, debido a su mayor
flexibilidad. Para obtener un servicio, un proceso de usuario envía un mensaje
al servidor adecuado.
Fiabilidad
Una de
las motivaciones originales para tratar de construir sistemas distribuidos fue
el aumento de la fiabilidad del sistema. En un sistema con cien UCP's el fallo
de uno de ellas no tendrá consecuencias graves, por que su trabajo será
realizado por las otras. En un sistema en el que el sistema de ficheros se
reparte en cuatro servidores, cada uno de ellos con una probabilidad de que en
un instante dado sea inoperativo de 0.05, la probabilidad de que el sistema de
ficheros completo no sea operativo es de 0.054 = 0.000006.
Prestaciones
Por
muy brillantemente que hayan sido resueltos los objetivos de transparencia y
fiabilidad de un sistema operativo distribuido, este no tendrá éxito si es
lento. La velocidad de los sistemas distribuidos viene comprometida por el
tráfico de mensajes en las líneas de comunicación. En una red local, el envío
de un mensaje puede llevar alrededor de un milisegundo.
Escalabilidad
A
pesar de los progresos de los últimos años, con sistemas concretos y
desarrollados, el diseño de sistemas operativos distribuidos es un campo aún
poco conocido e investigado. Los actuales sistemas abarcan como máximo unos
cientos de máquinas.
1.3 Sistemas operativos distribuidos:
ventajas y desventajas contra S.O centralizados, S.O para red, modelo
cliente-servidor, modelo de N capas, características del hardware y
características del software (homogéneos y heterogéneos), direccionamiento
lógico y físico
Ventajas
de los Sistemas Distribuidos con Respecto a los Centralizados
Una
razón para la tendencia hacia la descentralización es la economía.
Herb
Grosch formuló la que se llamaría “Ley de Grosch”
El
poder de cómputo de una cpu es proporcional al cuadrado de su precio:
Si se
paga el doble se obtiene el cuádruple del desempeño.
Fue
aplicable en los años setentas y ochentas a la tecnología mainframe.
No es
aplicable a la tecnología del microprocesador:
La
solución más eficaz en cuanto a costo es limitarse a un gran número de cpu
baratos reunidos en un mismo sistema.
Los
sistemas distribuidos generalmente tienen en potencia una proporción precio /
desempeño mucho mejor que la de un único sistema centralizado.
Ventajas
de los Sistemas Distribuidos con Respecto a los de Red
La
diferencia entre estos dos tipos de sistemas operativos es que el de red opera
sus computadoras independientemente, cada maquina usa sus propios recursos,
disco duro, memoria ram, procesador, los archivos tienen su propio directorio
en cada una. En cambio los LOS SISTEMAS OPERATIVOS DISTRIBUIDOS usan todos los
recursos de todas las computadoras como si fueran una sola, tienen un solo
disco duro formado con el de todas, no importa donde este un archivo es la
misma dirección para todas.
modelo
cliente - servidor
La
existencia de los encabezados genera un “costo” adicional de transmisión.
Cada
envío de un mensaje genera:
Proceso
en media docena de capas.
Preparación
y agregado de encabezados en el camino hacia “abajo”.
Eliminación
y examen de encabezados en el camino hacia “arriba”.
Con
enlaces del orden de decenas (o centenas) de miles de bits / segundo y cpu
poderosas:
La
carga de procesamiento de los protocolos no es significativa.
El
factor limitante es la capacidad de las líneas.
Ej.: redes
de área extendida (WAN).
Con
enlaces del orden de millones de bits / segundo y computadoras personales:
La
carga de procesamiento de los protocolos sí es frecuentemente significativa.
El
factor limitante no es la capacidad de las líneas.
Ej.:
redes de área local (LAN).
La
mayoría de los sistemas distribuidos basados en LAN no utilizan los protocolos
de capas completos, sí utilizan un subconjunto de toda una pila de protocolos.
El
“modelo OSI” no dice nada acerca de la forma de estructurar al sistema distribuido.
El
“modelo cliente - servidor” tiene como idea fundamental la estructuración del
S. O. como:
Un
grupo de procesos en cooperación, llamados servidores, que ofrecen servicios a
los usuarios.
Un
grupo de procesos usuarios llamados clientes.
El
“modelo cliente - servidor” se basa en un “protocolo solicitud / respuesta”:
Es
sencillo y sin conexión.
No es
complejo y orientado a la conexión como OSI o TCP / IP.
El
cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio.
El
servidor:
Ejecuta
el requerimiento.
Regresa
los datos solicitados o un código de error si no pudo ejecutarlo correctamente.
No se
tiene que establecer una conexión sino hasta que ésta se utilice.
La
pila del protocolo es más corta y por lo tanto más eficiente.
Modelo
n-capas
Modelo
de desarrollo N-Capas.
Las
capas dentro de una arquitectura son un conjunto de servicios especializados
que pueden ser accesibles por múltiples clientes y que deben ser fácilmente
reutilizables.
Lo que
se conoce como arquitectura en capas es en realidad un estilo de programación
donde el objetivo principal es separar los diferentes aspectos del desarrollo,
tales como las cuestiones de presentación, lógica de negocio, mecanismos de
almacenamiento, etc.
Una
razón importante por la que surge este concepto, es debido a que en la
evolución del desarrollo de software, se ha identificado la necesidad de crear
nuevas capas, especializadas en funciones específicas, diferentes a las 3
identificadas previamente. Tal es el caso de la seguridad, el control de
excepciones, el transporte de datos entre capas, la generación de trazas de
errores, entre otros.
Ventajas
Desarrollos
paralelos (en cada capa)
Aplicaciones
más robustas debido al encapsulamiento
Mantenimiento
y soporte más sencillo (es más sencillo cambiar un componente que modificar una
aplicación monolítica)
Mayor
flexibilidad (se pueden añadir nuevos módulos para dotar al sistema de nueva
funcionalidad)
Alta
escalabilidad. La principal ventaja de una aplicación distribuida bien diseñada
es su buen escalado, es decir, que puede manejar muchas peticiones con el mismo
rendimiento simplemente añadiendo más hardware. El crecimiento es casi lineal y
no es necesario añadir más código para conseguir esta escalabilidad.
Desventajas
Pone
más carga en la red, debido a una mayor cantidad de tráfico de la red.
Es
mucho más difícil programar y probar el software que en arquitectura de dos
niveles porque tienen que comunicarse más dispositivos para terminar la
transacción de un usuario.
Características
Hardware Sistemas Distribuidos
Conceptos
de Hardware
Todos
los sistemas distribuidos constan de varias cpu, organizadas de diversas
formas, especialmente respecto de:
o La
forma de interconectarlas entre sí.
o Los
esquemas de comunicación utilizados.
Existen
diversos esquemas de clasificación para los sistemas de cómputos con varias
cpu:
o Uno
de los mas conocidos es la “Taxonomía de Flynn”:
o
Considera como características esenciales el número de flujo de instrucciones y
el número de flujos de datos.
o La
clasificación incluye equipos SISD, SIMD, MISD y MIMD.
SISD
(Single Instruction Single Data: un flujo de instrucciones y un flujo de
datos):
o
Poseen un único procesador.
SIMD
(Single Instruction Multiple Data: un flujo de instrucciones y varios flujos de
datos):
o Se
refiere a ordenar procesadores con una unidad de instrucción que:
o
Busca una instrucción.
o
Instruye a varias unidades de datos para que la lleven a cabo en paralelo, cada
una con sus propios datos.
• Son
útiles para los cómputos que repiten los mismos cálculos en varios conjuntos de
datos.
MISD
(Multiple Instruction Single Data: un flujo de varias instrucciones y un solo
flujo de datos):
• No
se presenta en la práctica.
MIMD
(Multiple Instruction Multiple Data: un grupo de computadoras independientes,
cada una con su propio contador del programa, programa y datos):
•
Todos los sistemas distribuidos son de este tipo.
Un
avance sobre la clasificación de Flynn incluye la división de las computadoras
MIMD en dos grupos:
•
Multiprocesadores: poseen memoria compartida:
o Los
distintos procesadores comparten el mismo espacio de direcciones virtuales.
•
Multicomputadoras: no poseen memoria compartida:
o Ej.:
grupo de PC conectadas mediante una red.
Cada
una de las categorías indicadas se puede clasificar según la arquitectura de la
red de interconexión en:
•
Esquema de bus:
o
Existe una sola red, bus, cable u otro medio que conecta todas las máquinas:
Ej.:
la televisión por cable.
•
Esquema con conmutador:
o No
existe una sola columna vertebral de conexión:
Hay
múltiples conexiones y varios patrones de conexionado.
Los
mensajes de mueven a través de los medios de conexión.
Se
decide explícitamente la conmutación en cada etapa para dirigir el mensaje a lo
largo de uno de los cables de salida.
Ej.:
el sistema mundial telefónico público.
• Otro
aspecto de la clasificación considera el acoplamiento entre los equipos:
•
Sistemas fuertemente acoplados:
o El
retraso al enviar un mensaje de una computadora a otra es corto y la tasa de
transmisión es alta.
o Generalmente
se los utiliza como sistemas paralelos.
•
Sistemas débilmente acoplados:
o El
retraso de los mensajes entre las máquinas es grande y la tasa de transmisión
es baja.
o
Generalmente se los utiliza como sistemas distribuidos.
Generalmente
los multiprocesadores están más fuertemente acoplados que las
multicomputadoras.
Características
Software Sistemas Distribuidos
Aunque
el hardware es importante, el software lo es más. La imagen que presenta y la
forma de pensar de los usuarios de un sistema, queda determinada en gran medida
por el software del sistema operativo, no por el hardware.
Se
puede distinguir dos tipos de sistemas operativos para los de varios CPU:
Los
débilmente acoplados: El software débilmente acoplado permite que las máquinas
y los usuarios de un sistema distribuido sean independientes entre sí en lo
fundamental, pero que interactúen en cierto grado cuando sea necesario.
Los fuertemente acoplados: En el software
fuertemente acoplado el programa de aplicación y el sistema operativo necesario
para soportarlo, están muy acoplados.
Direccionamiento
Lógico- Físico Sistemas Distribuidos
Una
dirección generada por la CPU se denomina dirección lógica en cambio a la que
es percibida por unidad de memoria se denomina dirección física.
Los
esquemas de vinculación de direcciones durante la compilación y durante la
carga dan pie a un entorno en el que las direcciones lógicas y físicas son las
mismas. En cambio, la ejecución del esquema de vinculación de direcciones
durante la ejecución produce un entorno en el que las direcciones lógicas y
físicas difieren. En este caso la dirección lógica suele llamarse dirección
virtual.
Direccionamiento
lógico y físico El proceso desde que los datos son incorporados al ordenados
hasta que se transmiten al medio se llama encapsulación. Estos datos son
formateados, segmentados, identificados con el direccionamiento lógico y físico
para finalmente ser enviados al medio. A cada capa del modelo OSI le
corresponde una PDU (Unidad de Datos) siguiendo por lo tanto el siguiente orden
de encapsulamiento:
o DATOS
o SEGMENTOS
o PAQUETES
o TRAMAS-BITS
o CAPA TRANSMITE
o APLICACIÓN DATOS
o PRESENTACIÓN
o SESIÓN
o TRANSPORTE SEGMENTOS
o RED PAQUETES
o ENLACE DE DATOS TRAMAS
o FÍSICA BITS
Debido
a que posiblemente la cantidad de los datos sean demasiados, la capa de
transporte desde de origen, se encarga de segmentarlos para así ser
empaquetados debidamente, esta misma capa en el destino se encargara de
reensamblar los datos y colocarlos en forma secuencial, ya que no siempre
llegan a su destino en el orden en que han sido segmentados, así mismo acorde
al protocolo que se este utilizando habrá corrección de errores. Estos
segmentos son empaquetados (paquetes o datagramas) e identificados en la capa
de red con la dirección lógica o IP correspondiente al origen y destino. Ocurre
lo mismo con la dirección MAC en la capa de enlace de datos formándose las
tramas o frames para ser transmitidos a través de alguna interfaz.
1.4.- Sistemas distribuidos de alto
rendimiento a bajo costo (clustering) en sistemas operativos de libre
distribución
Sistemas distribuidos de alto rendimiento a bajo costo
(clustering) en sistemas operativos de libre distribución.
Un cluster es un
conjunto de ordenadores que están conectados entre sí por medio de una red,
para compartir recursos con el objetivo de realizar tareas y funciones como si
fuesen un único ordenador (memoria distribuida).
Sirve para cuando queramos realizar tareas que necesiten
grandes requerimientos de memoria y CPU y para ahorrarnos horas de trabajo en
tareas y operaciones.
Tipos de Cluster
·
Hay 3 tipos de cluster:
·
High Performance o Alto
rendimiento.
·
High Availability o
Alta Disponibilidad.
·
High Reliability o Alta
Confiabilidad.
Alto Rendimiento
El objetivo es mejorar el rendimiento, de tiempo o
precisión, para la solución de un problema.
Este tipo suele estar ligado a solucionar los siguientes
problemas:
·
Cálculos matemáticos
·
Mejora de gráficos
·
Compilación de
programas
·
Descifrado de códigos
·
Rendimiento del sistema
operativo
·
Alta disponibilidad
Los clusters de alta disponibilidad están destinados a
mejorar los servicios que ofrecen las empresas de cara a los clienrtes de una
red, ya sea local o de internet. Fundamentalmente tienen dos características :
·
Fiabilidad
·
Disponibilidad
·
Alta confiabilidad
Con alta confiabilidad se trata de aportar la máxima
confianza es un entorno en el cual se necesita saber que el sistema siempre se
va a comportar de una forma determinada, como por ejemplo sistemas de respuesta
a tiempo real.
Suele ser usado para entornos de tipo empresarial,
necesitando un hardware especializado.
Elementos necesarios
Dos o más nodos (ordenadores) compuestos al menos por un
microprocesador, una memoia y una interfaz para que se puedan comunicar con la
red del cluster.
Hardware apropiado al tipo de cluster que vamos a utilizar.
Tarjeta de red.
Un medio de transmisión entre ellos como por ejemplo RJ-45.
Software de sistema y un software de aplicación.
Software de sistemaPodemos usar distintos sistemas
operatios para conseguir el funcionamiento del cluster, como son:
·
Ubuntu server
·
Windows Server
·
OpenMosix
·
ParallelKnoppix
·
Pelican
·
Software de Aplicación
Dependiendo del sistema operativo que vayamos a utilizar
necesitaremos unos paquetes o programas:
En el caso de Linux:
HeartBeat: ejecuta los servicios en los nodos.
HeartBeat-Stonith: es una técnica HeartBeat que se encarga
de controlar que cuando un servidor esté caído no interfiera en el
funcionamiento del cluster.
En el caso del Windows:
A partir de windows 2003 server los servidores ya viene
preparado con el software necesario. Para mejorar el rendimiento en windows
server 2008 podemos usar Failover Cluster.