SlideShare una empresa de Scribd logo
1 de 13
3.1. CONCEPTOS BÁSICOS DE PROCESOS Y PROCESADORES

 * Un proceso es un concepto manejado por el sistema operativo que consiste en el
conjunto formado por: Las instrucciones de un programa destinadas a ser ejecutadas
por el microprocesador. Su estado de ejecución en un momento dado, esto es, los
valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es
decir, la memoria que ha reservado y sus contenidos.
 * Un microprocesador es un circuito electrónico integrado que actúa como unidad
central de proceso de un ordenador, proporcionando el control de las operaciones de
cálculo. Están formados por componentes extremadamente pequeños formados en
una única pieza plana de poco espesor. Su componente principal son los
semiconductores, principalmente silicio y germanio. Pueden llegar a tener varias
decenas de millones transistores, además de otros componentes electrónicos como
diodos, resistencias, condensadores todo ello en varios milímetros cuadrados.

3.2. MÉTODOS DE DISTRIBUCIÓN DE CARGA (HILOS, TAREAS,
PROCESOS).

3.3. MODELOS DE PROCESADORES: DE ESTACIÓN DE TRABAJO,
DE PILA DE PROCESADORES, HIBRIDO

En un sistema distribuido, con varios procesadores, un aspecto fundamental del diseño
es cómo se utiliza.
Los procesadores distribuidos se pueden organizar de varias formas

       Modelo de estación de trabajo. El sistema consta de estaciones de trabajo (PC)
       dispersas conectadas entre sí mediante una red de área local (LAN).
       Pueden contar o no con disco rígido en cada una de ellas.
       Los     usuarios      tienen:
       -Una cantidad fija de poder de cómputo exclusiva.
       -Un alto grado de autonomía para asignar los recursos de su estación de
       trabajo.

       Uso de los discos en las estaciones de trabajo
Sin disco:
-Bajo costo, fácil mantenimiento del hardware y del software, simetría y
flexibilidad.
-Gran uso de la red, los servidores de archivos se pueden convertir en cuellos
de botella.

Disco para paginación y archivos de tipo borrador:
-Reduce la carga de la red respecto del caso anterior.
-Alto costo debido al gran número de discos necesarios.

Disco para paginación, archivos de tipo borrador y archivos binarios
(ejecutables):
-Reduce aún más la carga sobre la red.
-Alto costo y complejidad adicional para actualizar los binarios.

Disco para paginación, borrador, binarios y ocultamiento de archivos:
-Reduce aún más la carga de red y de los servidores de archivos.
-Alto costo.
-Problemas de consistencia del caché.

Sistema local de archivos completo:
-Escasa carga en la red.
-Elimina la necesidad de los servidores de archivos.
-Pérdida de transparencia.


Modelo de la pila de procesadores. Se dispone de un conjunto de cpu que se
pueden asignar dinámicamente a los usuarios según la demanda.
-Los usuarios no disponen de estaciones de trabajo sino de terminales gráficas
de alto rendimiento.
-No existe el concepto de propiedad de los procesadores, los que pertenecen a
todos y se utilizan compartidamente.
-El principal argumento para la centralización del poder de cómputo como una
pila de procesadores proviene de la teoría de colas:
-Llamamos “l” a la tasa de entradas totales de solicitudes por segundo de todos
los usuarios combinados.
       -Llamamos “m” a la tasa de procesamiento de solicitudes por parte del servidor.
       Para una operación estable debe darse que “m > l”:
       -Se pueden permitir pequeños lapsos de tiempo en los que la tasa de entrada
       exceda a la de servicio.
       -Llamamos “T” al promedio de tiempo entre la emisión de una solicitud y la
       obtención de una respuesta completa:
       T = 1 / ( m - l ).
       Cuando “ l ” tiende a “0”, “T” no tiende a “0”.
       Supongamos que tenemos “n” multiprocesadores personales, cada uno con
       cierto número de cpu y con su propio sistema de colas con tasas “ l ” y “ m ” y
       tiempo “T”:
       Si reunimos todas las cpu y formamos una sola pila de procesadores tendremos
       un solo sistema de colas en vez de “n” colas ejecutándose en paralelo.
       La tasa de entrada será “n l”, la tasa de servicio será “n m” y el tiempo
       promedio de respuesta será:
       T1 = 1 / (n m - n l) = 1 / n ( m - l) = T / n.




       Modelo híbrido. Consta de estaciones de trabajo y una pila de procesadores. El
       sistema operativo permtemas de un hilo por proceso. El soporte de lenguaje de
       programacion utiliza un hilo del nucleo para implementar un grupo de hilos de
       usuario. Proporciona flexibilidad y un maximo rendimiento potencial al
       programador de la aplicacion.




3.4. ASIGNACIÓN DE PROCESADORES: MODELO Y ALGORITMOS
CON SUS ASPECTOS DE DISEÑO E IMPLANTACIÓN

Aspectos del Diseño de Algoritmos de Asignación de Procesadores

Los principales aspectos son los siguientes:
Algoritmos deterministas vs. Heurísticos.

       Algoritmos centralizados vs. Distribuidos.

       Algoritmos óptimos vs. Subóptimos.

       Algoritmos locales vs. Globales.

Algoritmos iniciados por el emisor vs. Iniciados por el receptor.




Los algoritmos deterministas son adecuados cuando se sabe anticipadamente todo
acerca del comportamiento de los procesos, pero esto generalmente no se da, aunque
puede haber en ciertos casos aproximaciones estadísticas. Los algoritmos heurísticos
son adecuados cuando la carga es impredecible.

Los diseños centralizados permiten reunir toda la información en un lugar y tomar una
mejor decisión; la desventaja es que la máquina central se puede sobrecargar y se
pierde robustez ante su posible falla.

Generalmente los algoritmos óptimos consumen más recursos que los subóptimos,
además, en la mayoría de los sistemas reales se buscan soluciones subóptimas,
heurísticas y distribuidas.

Cuando se va a crear un proceso se debe decidir si se ejecutará en la máquina que lo
genera o en otra (política de transferencia): La decisión se puede tomar “solo con
información local” o “con información global”.
Los algoritmos locales son sencillos pero no óptimos.
Los algoritmos globales son mejores pero consumen muchos recursos.

Cuando una máquina se deshace de un proceso la política de localización debe decidir
dónde enviarlo:
Necesita información de la carga en todas partes, obteniéndola de: Un emisor
sobrecargado que busca una máquina inactiva.
Un receptor desocupado que busca trabajo.
‘’‘Aspectos de la Implantación de Algoritmos de Asignación de Procesadores’‘’




Casi todos los algoritmos suponen que las máquinas conocen su propia carga y que
pueden informar su estado: La medición de la carga no es tan sencilla.

Un método consiste en contar el número de procesos (hay que considerar los procesos
latentes no activos). Otro método consiste en contar solo los procesos en ejecución o
listos.

También se puede medir la fracción de tiempo que la CPU está ocupada.

Otro aspecto importante es el costo excesivo en consumo de recursos para recolectar
medidas y desplazar procesos, ya que se debería considerar el tiempo de CPU, el uso
de memoria y el ancho de banda de la red utilizada por el algoritmo para asignación de
procesadores.

Se debe considerar la complejidad del software en cuestión y sus implicancias para el
desempeño, la correcta y la robustez del sistema.

Si el uso de un algoritmo sencillo proporciona casi la misma ganancia que uno más caro
y más complejo, generalmente será mejor utilizar el más sencillo.

Se debe otorgar gran importancia a la estabilidad del sistema:

Las máquinas ejecutan sus algoritmos en forma asíncrona por lo que el sistema nunca
se equilibra.

La mayoría de los algoritmos que intercambian información:

Son correctos luego de intercambiar la información y de que todo se ha registrado.

Son poco confiables mientras las tablas continúan su actualización, es decir que se
presentan situaciones de no equilibrio.




Modelos de Asignación
Generalmente se utilizan las siguientes hipótesis:
Todas las máquinas son idénticas (o al menos compatibles en el código);
       difieren a lo sumo en la velocidad.

       Cada procesador se puede comunicar con los demás.

Las estrategias de asignación de procesadores se dividen en:

       No migratorias:

       Una vez colocado un proceso en una máquina permanece ahí hasta que
       termina.

       Migratorias:

       Un proceso se puede trasladar aunque haya iniciado su ejecución.

       Permiten un mejor balance de la carga pero son más complejas.

Los algoritmos de asignación intentan optimizar algo:

       Uso de las CPU:

       Maximizar el número de ciclos de CPU que se ejecutan para trabajos de los
       usuarios.

       Minimizar el tiempo de inactividad de las CPU.

       Tiempo promedio de respuesta:

       Minimizar no los tiempos individuales de respuesta sino los tiempos promedio
       de respuesta.

       Tasa de respuesta:

       Minimizar la tasa de respuesta, que es el tiempo necesario para ejecutar un
       proceso en cierta máquina dividido por el tiempo que tardaría en cierto
       procesador de referencia.
3.5. COPLANIFICACIÓN

El concepto de coplanificación:

        Toma en cuenta los patrones de comunicación entre los procesos durante la
        planificación.

        Debe garantizar que todos los miembros del grupo se ejecuten al mismo
        tiempo.

        Se emplea una matriz conceptual donde:

        Las filas son espacios de tiempo.

        Las columnas son las tablas de procesos de los procesadores.

        Cada procesador debe utilizar un algoritmo de planificación round robín:

        Todos los procesadores ejecutan el proceso en el espacio “0” durante un cierto
        periodo fijo.

        Todos los procesadores ejecutan el proceso en el espacio “1” durante un cierto
        periodo fijo, etc.

        Se deben mantener sincronizados los intervalos de tiempo.

        Todos los miembros de un grupo se deben colocar en el mismo número de
        espacio de tiempo pero en procesadores distintos.




3.6. TOLERANCIA A FALLOS: NIVEL PROCESO, NIVEL
ALMACENAMIENTO
Tolerancias a fallos en informática (en inglés failover, suele confundírse con el
término concurrencia) se determina a la capacidad de un sistema de almacenamiento de
acceder a información aún en caso de producirse algún fallo. Esta falla puede deberse a daños
físicos (mal funcionamiento) en uno o más componentes de hardware lo que produce la pérdida
de información almacenada. La tolerancia a fallos requiere para su implementación que el
sistema de almacenamiento guarde la misma información en más de un componente de
hardware o en una máquina o dispositivo externos a modo de respaldo. De esta forma, si se
produce alguna falla con una consecuente pérdida de datos, el sistema debe ser capaz de
acceder a toda la información recuperando los datos faltantes desde algún respaldo disponible.

Por lo general, el término tolerancia a fallos está asociado al almacenamiento
en RAID (RedundantArray of Independent Disks). Los RAID (a excepción de RAID 0) utilizan la
técnica Mirroring (en espejo) que permite la escritura simultánea de los datos en más de un
disco del array.

Los sistemas de almacenamiento con tolerancia a fallos son vitales en ambientes donde se
trabaje con información crítica, como el caso de los bancos, entidades gubernamentales,
algunas empresas, etc. El nivel de tolerancia a fallos dependerá de la técnica de
almacenamiento utilizada y de la cantidad de veces que la información está duplicada, sin
embargo, la tolerancia nunca es del 100% puesto que si fallan todos los "mirrors" disponibles,
incluyendo el origen, los datos quedan incompletos por lo tanto la información se leerá
corrupta.




3.7. ESQUEMAS DE SEGURIDAD EN SISTEMAS DISTRIBUIDOS

Es la capacidad del sistema para proteger datos, servicios y recursos de usuarios no
autorizados. El fin de la seguridad es garantizar la protección o estar libre de todo
peligro y/o daño, y que en cierta manera es infalible. Como esta característica,
particularizando para el caso de sistemas operativos o redes de computadores, es muy
difícil de conseguir (según la mayoría de expertos, imposible), se suaviza la definición
de seguridad y se pasa a hablar de fiabilidad (probabilidad de que un sistema se
comporte tal y como se espera de el) más que de seguridad; por tanto, se habla de
sistemas fiables en lugar de hacerlo de sistemas seguros. A grandes rasgos se entiende
que mantener un sistema seguro (confiable) consiste básicamente en garantizar tres
aspectos: confidencialidad, integridad y disponibilidad. Algunos estudios integran la
seguridad dentro de una propiedad más general de los sistemas, la confiabilidad,
entendida como el nivel de calidad del servicio ofrecido. Consideran la disponibilidad
como un aspecto al mismo nivel que la seguridad y no como parte de ella, por lo que
dividen esta última en sólo las dos facetas restantes, confidencialidad e integridad. En
este trabajo no seguiremos esa corriente por considerarla minoritaria.

       La confidencialidad:Nos dice que los objetos de un sistema han de ser
       accedidos únicamente por elementos autorizados a ello, y que esos elementos
       autorizados no van a convertir esa información en disponible para otras
       entidades.
       La integridad:Significa que los objetos sólo pueden ser modificados por
       elementos autorizados, y de una manera controlada.
       La disponibilidad:Indica que los objetos del sistema tienen que permanecer
       accesibles a elementos autorizados; es el contrario de la negación de servicio.




3.8. SISTEMAS OPERATIVOS DISTRIBUIDOS EN TIEMPO REAL



3.9. BALANCEO DE CARGA EN SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS
1. Equilibrio o balanceo de cargas y compartición de recursos en Sistemas Distribuidos
Un sistema distribuido se define como una colección de computadores autónomos
conectados por una red, el cual consta de un software distribuido adecuado para que
el sistema sea visto por los usuarios como una única entidad. Además de realizar la
importante función de la comunicación, los sistemas distribuidos, se encuentra la
forma en que los procesos cooperan y se sincronizan entre sí.
Equilibrio de cargas
Un proceso es un programa en ejecución, es decir, es la actividad que resulta de la
ejecución de un algoritmo, con sus datos, sobre un procesador. En una computadora,
los procesos no se suelen ejecutar de forma aislada, sino que acostumbran a
ejecutarse con otros de forma solapada en el tiempo, ya que compartiendo
adecuadamente los recursos físicos se puede obtener una aceleración global de la
velocidad de cálculo del sistema. De esta manera, puede decirse que dos procesos
son concurrentes si su ejecución se solapa en el tiempo. Como resultado en la
ejecución concurrente de procesos, es necesario realizar el “Equilibrio de cargas”.
El equilibrio o balanceo de cargas es el esquema aplicado al procesamiento distribuido
y/o al sistema de comunicación con el fin de que un dispositivo no se sature. Es
especialmente importante en redes donde es muy difícil predecir el número de
peticiones que se van a cursar a un servidor. Por ejemplo, los sitiosweb muy
demandados suelen emplear dos o más servidores bajo un esquema de balanceo de
carga. Los sistemas distribuidos proveen este tipo de equilibrio a través de varios
mecanismos tales como el agrupamiento y la migración de procesos. El agrupamiento
combina muchas computadoras para mejorar el tiempo de respuesta global, entre las
cuáles se distribuyen los procesos. Si un servidor comienza a saturarse las peticiones
son redireccionadas a otro(s). El agrupamiento generalmente emplea compartición de
carga y migración de procesos. Existen varios algoritmos para llevar a cabo el proceso
de equilibrio de cargas:
• Balanceo centralizado: un nodo ejecuta el algoritmo y mantiene el estado global del
sistema. Este método no es extensible a problemas más grandes ya que el nodo
encargado del balanceo se convierte en un cuello de botella.
• Balanceo completamente distribuido: cada procesador mantiene su propia visión del
sistema intercambiando información con sus vecinos y así hacer cambios locales.
• Balanceo semi-distribuido: divide los procesadores en regiones, cada una con un
algoritmo centralizado local. Otro algoritmo balancea la carga entre las regiones.
Compartición de recursos
Los recursos abarcan el abanico de entidades que pueden compartirse en un sistema
distribuido. El cual puede ir desde componentes de hardware como discos e
impresoras hasta elementos de software como archivos, ventanas, bases de datos y
otros objetos de datos.
Los recursos en un sistema distribuido están físicamente encapsulados en una de las
computadoras y sólo pueden ser accedidos por otras computadoras mediante las
comunicaciones (la red). Para que la compartición de recursos sea efectiva, ésta debe
ser manejada por un programa que ofrezca un interfaz de comunicación permitiendo
que el recurso sea accedido, manipulado y actualizado de una manera fiable y
consistente. Surge el término genérico de gestor de recursos.
Un gestor de recursos es un modulo de software que maneja un conjunto de recursos
de un tipo en particular. Cada tipo de recurso requiere algunas políticas y métodos
específicos junto con requisitos comunes para todos ellos. Éstos incluyen la provisión
de un esquema de nombres para cada clase de recurso, permitir que los recursos
individuales sean accedidos desde cualquier localización; la traslación de nombre de
recurso a direcciones de comunicación y la coordinación de los accesos concurrentes
que cambian el estado de los recursos compartidos para mantener la consistencia.
Un sistema distribuido puede verse como un conjunto de gestores de recursos y un
conjunto de programas que usan los recursos. Los usuarios de los recursos se
comunican con los gestores de los recursos para acceder a los recursos compartidos
del sistema. Dos ejemplos de sistemas distribuidos serían el modelo cliente-servidor y
el modelo basado en objetos.
2. Crecimiento integral dentro de las organizaciones orientado en un ambiente
distribuido
El uso de los sistemas distribuidos dentro de las organizaciones, ha experimentado un
crecimiento acelerado en los últimos años, como resultado del desarrollo tecnológico.
La misma dinámica actual ha obligado a las organizaciones a contar con sistemas
cada vez más rápidos y eficientes que las ubiquen en posiciones competitivas.
Más recientemente, la disponibilidad de computadoras personales de alta capacidad,
estaciones de trabajo y servidores, ha resultado en un mayor desplazamiento hacia los
sistemas distribuidos dejando de lado cada vez más, los sistemas centralizados
multiusuario. Esta tendencia se ha acelerado por el desarrollo de software para
sistemas distribuidos, diseñado para soportar el desarrollo de aplicaciones distribuidas.
Este software permite a las computadoras coordinar sus actividades y compartir los
recursos del sistema - hardware, software y datos.
Los sistemas distribuidos son implementados en diversas plataformas hardware,
desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta
Internet, una colección de redes de área local y de área extensa interconectadas, que
enlazan millones de computadoras.
Por otra parte, las aplicaciones de los sistemas distribuidos varían desde la provisión
de capacidad de computo a grupos de usuarios, hasta sistemas bancarios,
comunicaciones multimedia y abarcan prácticamente todas las aplicaciones
comerciales y técnicas de las computadoras. Los requisitos de dichas aplicaciones
incluyen un alto nivel de fiabilidad, seguridad contra interferencias externas y
privacidad de la información que el sistema mantiene.
Se deben proveer accesos concurrentes a bases de datos por parte de muchos
usuarios, garantizar tiempos de respuesta, proveer puntos de acceso al servicio que
están distribuidos geográficamente, potencial para el crecimiento del sistema para
acomodar la expansión del negocio y un marco para la integración de sistema usados
por diferentes compañías y organizaciones de usuarios
3. Servidor DNS
Un servidor DNS (DomainNameSystem) es un sistema de nombres que permite
traducir de nombre de dominio a dirección IP y vice-versa. Se utiliza para proveer a las
computadoras de los usuarios (clientes) un nombre equivalente a las direcciones IP. El
uso de este servidor es transparente para los usuarios cuando éste está bien
configurado.
El sistema de nombres de dominios en Internet es un sistema distribuido, jerárquico,
replicado y tolerante a fallas. El punto central se basa en un árbol que define la
jerarquía entre los dominios y los sub-dominios. En un nombre de dominio, la jerarquía
se lee de derecha a izquierda. Por ejemplo, en dcc.uchile.cl, el dominio más alto es cl.
Para que exista una raíz del árbol, se puede ver como si existiera un punto al final del
nombre: dcc.uchile.cl., y todos los dominios están bajo esa raíz (también llamada
``punto").
Cada componente del dominio (y también la raíz) tiene un servidor primario y varios
servidores secundarios. Todos estos servidores tienen la misma autoridad para
responder por ese dominio, pero el primario es el único con derecho para hacer
modificaciones en él. Por ello, el primario tiene la copia maestra y los secundarios
copian la información desde él.
Tipos de servidores DNS
• Primarios: Guardan los datos de un espacio de nombres en sus archivos
• Secundarios: Obtienen los datos de los servidores primarios a través de una
transferencia de zona.
• Locales o Caché: Funcionan con el mismo software, pero no contienen la base de
datos para la resolución de nombres. Cuando se les realiza una consulta, estos a su
vez consultan a los servidores secundarios, almacenando la respuesta en su base de
datos para agilizar la repetición de estas peticiones en el futuro.
4. Active DirectoryService
Es conocido como uno de los programas informáticos desarrollado por Microsoft,
Active Directory (también conocido como NT DirectoryService) ofrece varios servicios
de autenticación, DNS y servicios de directorio que son importantes para la gestión de
datos y seguridad de datos. Este software se introdujo en 1999 y se inició con el
programa Windows 2000 Server. El programa es una agrupación lógica de los
sistemas informáticos y los usuarios de computadoras dentro de un único dominio, que
es controlada por los controladores de dominio.
La estructura de este servicio de directorio tiene tres categorías:, los usuarios,
servicios y recursos. Los objetos en el directorio se clasifican en estos niveles. Los
objetos tienen distintos conjuntos de atributos que fueron identificados por el directorio.
Los atributos son importantes para el adecuado almacenamiento de los objetos.
Niveles
Active Directory tiene tres niveles, el bosque, los árboles y los dominios. El bosque es
el más alto nivel, que representa a las reglas y los atributos de cada objeto en el
directorio. A continuación el bosque es el árbol, que se compone de varios dominios
que están conectados en una jerarquía de confianza transitiva. Al lado del árbol son
los dominios, que se clasifican en las estructuras de nombre.
En los dominios son los objetos que se clasifican en varios contenedores conocidos
como unidades organizativas. Estas unidades son muy importantes para los
administradores a utilizar el software de computadora fácilmente. Para ayudar a los
administradores en el mantenimiento de redes informáticas, el directorio también
cuenta con sitios, que son muy útiles en el control de tráfico de red.
Para evitar los problemas relativos a la seguridad de datos, la información almacenada
en Active Directory se asegura en varios controladores de dominio. Este programa de
computadora se integra con los servidores diferentes, como TCP / IP y DNS.

Más contenido relacionado

La actualidad más candente

Planificación de un_proceso
Planificación de un_procesoPlanificación de un_proceso
Planificación de un_proceso
siamu_evap
 
Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]
guest5db8b1
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
ADOLFO BORJA
 
Planificacion windows
Planificacion windowsPlanificacion windows
Planificacion windows
isack_500
 
Planificación por prioridad
Planificación por prioridadPlanificación por prioridad
Planificación por prioridad
GarNav
 
PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESO
gladysmamani
 
Planificación de Procesos en Sistemas Operativos
Planificación de Procesos en Sistemas OperativosPlanificación de Procesos en Sistemas Operativos
Planificación de Procesos en Sistemas Operativos
Carina Hurtado
 
Planificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTrañaPlanificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTraña
Nestor Traña
 

La actualidad más candente (20)

Planificaión de La CPU
Planificaión de La CPUPlanificaión de La CPU
Planificaión de La CPU
 
Planificacion FCFS
Planificacion FCFSPlanificacion FCFS
Planificacion FCFS
 
Planificacion Procesos Gral
Planificacion Procesos GralPlanificacion Procesos Gral
Planificacion Procesos Gral
 
Planificación de un_proceso
Planificación de un_procesoPlanificación de un_proceso
Planificación de un_proceso
 
Sistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUMSistemas Operativos I- Algoritmo de QUANTUM
Sistemas Operativos I- Algoritmo de QUANTUM
 
Procesamiento paralelo
Procesamiento paraleloProcesamiento paralelo
Procesamiento paralelo
 
Sistemas Operativos[1]
Sistemas Operativos[1]Sistemas Operativos[1]
Sistemas Operativos[1]
 
Procesamiento segmentado - INFORME
Procesamiento segmentado - INFORMEProcesamiento segmentado - INFORME
Procesamiento segmentado - INFORME
 
Colaborativo_Nelis Rivero
Colaborativo_Nelis RiveroColaborativo_Nelis Rivero
Colaborativo_Nelis Rivero
 
Resumen del primer corte
Resumen del primer corteResumen del primer corte
Resumen del primer corte
 
Planificacion windows
Planificacion windowsPlanificacion windows
Planificacion windows
 
Procesamiento segmentado
Procesamiento segmentado   Procesamiento segmentado
Procesamiento segmentado
 
Unidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos IUnidad 3 : Sistemas Operativos I
Unidad 3 : Sistemas Operativos I
 
Planificación por prioridad
Planificación por prioridadPlanificación por prioridad
Planificación por prioridad
 
PLANIFICACION DE PROCESO
PLANIFICACION DE PROCESOPLANIFICACION DE PROCESO
PLANIFICACION DE PROCESO
 
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS (I Bimestre Abril Agosto 2011)
 
21
2121
21
 
Planificación de Procesos en Sistemas Operativos
Planificación de Procesos en Sistemas OperativosPlanificación de Procesos en Sistemas Operativos
Planificación de Procesos en Sistemas Operativos
 
Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)
 
Planificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTrañaPlanificación de Procesos-NéstorTraña
Planificación de Procesos-NéstorTraña
 

Similar a 3 unidad so2

Planificacion De Procesos y Procesadores
Planificacion De Procesos y ProcesadoresPlanificacion De Procesos y Procesadores
Planificacion De Procesos y Procesadores
Pkacho
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
Fernando Camacho
 

Similar a 3 unidad so2 (20)

Programacion en ambientes heterogeneos
Programacion en ambientes heterogeneosProgramacion en ambientes heterogeneos
Programacion en ambientes heterogeneos
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
 
Planificacion De Procesos y Procesadores
Planificacion De Procesos y ProcesadoresPlanificacion De Procesos y Procesadores
Planificacion De Procesos y Procesadores
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
Computo Distribuído
Computo DistribuídoComputo Distribuído
Computo Distribuído
 
Presentacion sistemas operativos
Presentacion sistemas operativosPresentacion sistemas operativos
Presentacion sistemas operativos
 
Trabajo de sisope
Trabajo de sisopeTrabajo de sisope
Trabajo de sisope
 
Trabajode Sisope
Trabajode SisopeTrabajode Sisope
Trabajode Sisope
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Expo s.o
Expo s.oExpo s.o
Expo s.o
 
S.O. 2 UNIDAD 1
S.O. 2 UNIDAD 1S.O. 2 UNIDAD 1
S.O. 2 UNIDAD 1
 
So unidad 01
So unidad 01So unidad 01
So unidad 01
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
S. o. 2 unidad 1
S. o. 2 unidad 1S. o. 2 unidad 1
S. o. 2 unidad 1
 
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOSUNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS
UNIDAD 1: SISTEMAS OPERATIVOS EN AMBIENTES DISTRIBUIDOS
 
Unidad 1 sistemas operativos
Unidad 1 sistemas operativosUnidad 1 sistemas operativos
Unidad 1 sistemas operativos
 
SISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptxSISTEMAS OPERATIVOS.pptx
SISTEMAS OPERATIVOS.pptx
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptxSO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
SO2_U2_PROCESOS, HILOS Y COMUNICACIÓN.pptx
 
Multiplicacion de matrices: Implementacion en cluster
Multiplicacion de matrices: Implementacion en clusterMultiplicacion de matrices: Implementacion en cluster
Multiplicacion de matrices: Implementacion en cluster
 

Más de Osiel Alvarez Villarreal (10)

Como configurar una red virtual
Como configurar una red virtualComo configurar una red virtual
Como configurar una red virtual
 
Ethernet equipo 1
Ethernet equipo 1Ethernet equipo 1
Ethernet equipo 1
 
Capitulo09 ethernet
Capitulo09 ethernetCapitulo09 ethernet
Capitulo09 ethernet
 
Equipo 5 copia
Equipo 5   copiaEquipo 5   copia
Equipo 5 copia
 
15 serie
15 serie15 serie
15 serie
 
Hersell palnteamiento del problema
Hersell palnteamiento del problemaHersell palnteamiento del problema
Hersell palnteamiento del problema
 
Rotacional
RotacionalRotacional
Rotacional
 
Ananananaan
AnanananaanAnanananaan
Ananananaan
 
Ananananaan
AnanananaanAnanananaan
Ananananaan
 
2003 07-seguridad
2003 07-seguridad2003 07-seguridad
2003 07-seguridad
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

3 unidad so2

  • 1. 3.1. CONCEPTOS BÁSICOS DE PROCESOS Y PROCESADORES * Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por: Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos. * Un microprocesador es un circuito electrónico integrado que actúa como unidad central de proceso de un ordenador, proporcionando el control de las operaciones de cálculo. Están formados por componentes extremadamente pequeños formados en una única pieza plana de poco espesor. Su componente principal son los semiconductores, principalmente silicio y germanio. Pueden llegar a tener varias decenas de millones transistores, además de otros componentes electrónicos como diodos, resistencias, condensadores todo ello en varios milímetros cuadrados. 3.2. MÉTODOS DE DISTRIBUCIÓN DE CARGA (HILOS, TAREAS, PROCESOS). 3.3. MODELOS DE PROCESADORES: DE ESTACIÓN DE TRABAJO, DE PILA DE PROCESADORES, HIBRIDO En un sistema distribuido, con varios procesadores, un aspecto fundamental del diseño es cómo se utiliza. Los procesadores distribuidos se pueden organizar de varias formas Modelo de estación de trabajo. El sistema consta de estaciones de trabajo (PC) dispersas conectadas entre sí mediante una red de área local (LAN). Pueden contar o no con disco rígido en cada una de ellas. Los usuarios tienen: -Una cantidad fija de poder de cómputo exclusiva. -Un alto grado de autonomía para asignar los recursos de su estación de trabajo. Uso de los discos en las estaciones de trabajo
  • 2. Sin disco: -Bajo costo, fácil mantenimiento del hardware y del software, simetría y flexibilidad. -Gran uso de la red, los servidores de archivos se pueden convertir en cuellos de botella. Disco para paginación y archivos de tipo borrador: -Reduce la carga de la red respecto del caso anterior. -Alto costo debido al gran número de discos necesarios. Disco para paginación, archivos de tipo borrador y archivos binarios (ejecutables): -Reduce aún más la carga sobre la red. -Alto costo y complejidad adicional para actualizar los binarios. Disco para paginación, borrador, binarios y ocultamiento de archivos: -Reduce aún más la carga de red y de los servidores de archivos. -Alto costo. -Problemas de consistencia del caché. Sistema local de archivos completo: -Escasa carga en la red. -Elimina la necesidad de los servidores de archivos. -Pérdida de transparencia. Modelo de la pila de procesadores. Se dispone de un conjunto de cpu que se pueden asignar dinámicamente a los usuarios según la demanda. -Los usuarios no disponen de estaciones de trabajo sino de terminales gráficas de alto rendimiento. -No existe el concepto de propiedad de los procesadores, los que pertenecen a todos y se utilizan compartidamente. -El principal argumento para la centralización del poder de cómputo como una pila de procesadores proviene de la teoría de colas: -Llamamos “l” a la tasa de entradas totales de solicitudes por segundo de todos
  • 3. los usuarios combinados. -Llamamos “m” a la tasa de procesamiento de solicitudes por parte del servidor. Para una operación estable debe darse que “m > l”: -Se pueden permitir pequeños lapsos de tiempo en los que la tasa de entrada exceda a la de servicio. -Llamamos “T” al promedio de tiempo entre la emisión de una solicitud y la obtención de una respuesta completa: T = 1 / ( m - l ). Cuando “ l ” tiende a “0”, “T” no tiende a “0”. Supongamos que tenemos “n” multiprocesadores personales, cada uno con cierto número de cpu y con su propio sistema de colas con tasas “ l ” y “ m ” y tiempo “T”: Si reunimos todas las cpu y formamos una sola pila de procesadores tendremos un solo sistema de colas en vez de “n” colas ejecutándose en paralelo. La tasa de entrada será “n l”, la tasa de servicio será “n m” y el tiempo promedio de respuesta será: T1 = 1 / (n m - n l) = 1 / n ( m - l) = T / n. Modelo híbrido. Consta de estaciones de trabajo y una pila de procesadores. El sistema operativo permtemas de un hilo por proceso. El soporte de lenguaje de programacion utiliza un hilo del nucleo para implementar un grupo de hilos de usuario. Proporciona flexibilidad y un maximo rendimiento potencial al programador de la aplicacion. 3.4. ASIGNACIÓN DE PROCESADORES: MODELO Y ALGORITMOS CON SUS ASPECTOS DE DISEÑO E IMPLANTACIÓN Aspectos del Diseño de Algoritmos de Asignación de Procesadores Los principales aspectos son los siguientes:
  • 4. Algoritmos deterministas vs. Heurísticos. Algoritmos centralizados vs. Distribuidos. Algoritmos óptimos vs. Subóptimos. Algoritmos locales vs. Globales. Algoritmos iniciados por el emisor vs. Iniciados por el receptor. Los algoritmos deterministas son adecuados cuando se sabe anticipadamente todo acerca del comportamiento de los procesos, pero esto generalmente no se da, aunque puede haber en ciertos casos aproximaciones estadísticas. Los algoritmos heurísticos son adecuados cuando la carga es impredecible. Los diseños centralizados permiten reunir toda la información en un lugar y tomar una mejor decisión; la desventaja es que la máquina central se puede sobrecargar y se pierde robustez ante su posible falla. Generalmente los algoritmos óptimos consumen más recursos que los subóptimos, además, en la mayoría de los sistemas reales se buscan soluciones subóptimas, heurísticas y distribuidas. Cuando se va a crear un proceso se debe decidir si se ejecutará en la máquina que lo genera o en otra (política de transferencia): La decisión se puede tomar “solo con información local” o “con información global”. Los algoritmos locales son sencillos pero no óptimos. Los algoritmos globales son mejores pero consumen muchos recursos. Cuando una máquina se deshace de un proceso la política de localización debe decidir dónde enviarlo: Necesita información de la carga en todas partes, obteniéndola de: Un emisor sobrecargado que busca una máquina inactiva. Un receptor desocupado que busca trabajo.
  • 5. ‘’‘Aspectos de la Implantación de Algoritmos de Asignación de Procesadores’‘’ Casi todos los algoritmos suponen que las máquinas conocen su propia carga y que pueden informar su estado: La medición de la carga no es tan sencilla. Un método consiste en contar el número de procesos (hay que considerar los procesos latentes no activos). Otro método consiste en contar solo los procesos en ejecución o listos. También se puede medir la fracción de tiempo que la CPU está ocupada. Otro aspecto importante es el costo excesivo en consumo de recursos para recolectar medidas y desplazar procesos, ya que se debería considerar el tiempo de CPU, el uso de memoria y el ancho de banda de la red utilizada por el algoritmo para asignación de procesadores. Se debe considerar la complejidad del software en cuestión y sus implicancias para el desempeño, la correcta y la robustez del sistema. Si el uso de un algoritmo sencillo proporciona casi la misma ganancia que uno más caro y más complejo, generalmente será mejor utilizar el más sencillo. Se debe otorgar gran importancia a la estabilidad del sistema: Las máquinas ejecutan sus algoritmos en forma asíncrona por lo que el sistema nunca se equilibra. La mayoría de los algoritmos que intercambian información: Son correctos luego de intercambiar la información y de que todo se ha registrado. Son poco confiables mientras las tablas continúan su actualización, es decir que se presentan situaciones de no equilibrio. Modelos de Asignación Generalmente se utilizan las siguientes hipótesis:
  • 6. Todas las máquinas son idénticas (o al menos compatibles en el código); difieren a lo sumo en la velocidad. Cada procesador se puede comunicar con los demás. Las estrategias de asignación de procesadores se dividen en: No migratorias: Una vez colocado un proceso en una máquina permanece ahí hasta que termina. Migratorias: Un proceso se puede trasladar aunque haya iniciado su ejecución. Permiten un mejor balance de la carga pero son más complejas. Los algoritmos de asignación intentan optimizar algo: Uso de las CPU: Maximizar el número de ciclos de CPU que se ejecutan para trabajos de los usuarios. Minimizar el tiempo de inactividad de las CPU. Tiempo promedio de respuesta: Minimizar no los tiempos individuales de respuesta sino los tiempos promedio de respuesta. Tasa de respuesta: Minimizar la tasa de respuesta, que es el tiempo necesario para ejecutar un proceso en cierta máquina dividido por el tiempo que tardaría en cierto procesador de referencia.
  • 7. 3.5. COPLANIFICACIÓN El concepto de coplanificación: Toma en cuenta los patrones de comunicación entre los procesos durante la planificación. Debe garantizar que todos los miembros del grupo se ejecuten al mismo tiempo. Se emplea una matriz conceptual donde: Las filas son espacios de tiempo. Las columnas son las tablas de procesos de los procesadores. Cada procesador debe utilizar un algoritmo de planificación round robín: Todos los procesadores ejecutan el proceso en el espacio “0” durante un cierto periodo fijo. Todos los procesadores ejecutan el proceso en el espacio “1” durante un cierto periodo fijo, etc. Se deben mantener sincronizados los intervalos de tiempo. Todos los miembros de un grupo se deben colocar en el mismo número de espacio de tiempo pero en procesadores distintos. 3.6. TOLERANCIA A FALLOS: NIVEL PROCESO, NIVEL ALMACENAMIENTO Tolerancias a fallos en informática (en inglés failover, suele confundírse con el término concurrencia) se determina a la capacidad de un sistema de almacenamiento de
  • 8. acceder a información aún en caso de producirse algún fallo. Esta falla puede deberse a daños físicos (mal funcionamiento) en uno o más componentes de hardware lo que produce la pérdida de información almacenada. La tolerancia a fallos requiere para su implementación que el sistema de almacenamiento guarde la misma información en más de un componente de hardware o en una máquina o dispositivo externos a modo de respaldo. De esta forma, si se produce alguna falla con una consecuente pérdida de datos, el sistema debe ser capaz de acceder a toda la información recuperando los datos faltantes desde algún respaldo disponible. Por lo general, el término tolerancia a fallos está asociado al almacenamiento en RAID (RedundantArray of Independent Disks). Los RAID (a excepción de RAID 0) utilizan la técnica Mirroring (en espejo) que permite la escritura simultánea de los datos en más de un disco del array. Los sistemas de almacenamiento con tolerancia a fallos son vitales en ambientes donde se trabaje con información crítica, como el caso de los bancos, entidades gubernamentales, algunas empresas, etc. El nivel de tolerancia a fallos dependerá de la técnica de almacenamiento utilizada y de la cantidad de veces que la información está duplicada, sin embargo, la tolerancia nunca es del 100% puesto que si fallan todos los "mirrors" disponibles, incluyendo el origen, los datos quedan incompletos por lo tanto la información se leerá corrupta. 3.7. ESQUEMAS DE SEGURIDAD EN SISTEMAS DISTRIBUIDOS Es la capacidad del sistema para proteger datos, servicios y recursos de usuarios no autorizados. El fin de la seguridad es garantizar la protección o estar libre de todo peligro y/o daño, y que en cierta manera es infalible. Como esta característica, particularizando para el caso de sistemas operativos o redes de computadores, es muy difícil de conseguir (según la mayoría de expertos, imposible), se suaviza la definición de seguridad y se pasa a hablar de fiabilidad (probabilidad de que un sistema se comporte tal y como se espera de el) más que de seguridad; por tanto, se habla de sistemas fiables en lugar de hacerlo de sistemas seguros. A grandes rasgos se entiende que mantener un sistema seguro (confiable) consiste básicamente en garantizar tres aspectos: confidencialidad, integridad y disponibilidad. Algunos estudios integran la seguridad dentro de una propiedad más general de los sistemas, la confiabilidad, entendida como el nivel de calidad del servicio ofrecido. Consideran la disponibilidad como un aspecto al mismo nivel que la seguridad y no como parte de ella, por lo que
  • 9. dividen esta última en sólo las dos facetas restantes, confidencialidad e integridad. En este trabajo no seguiremos esa corriente por considerarla minoritaria. La confidencialidad:Nos dice que los objetos de un sistema han de ser accedidos únicamente por elementos autorizados a ello, y que esos elementos autorizados no van a convertir esa información en disponible para otras entidades. La integridad:Significa que los objetos sólo pueden ser modificados por elementos autorizados, y de una manera controlada. La disponibilidad:Indica que los objetos del sistema tienen que permanecer accesibles a elementos autorizados; es el contrario de la negación de servicio. 3.8. SISTEMAS OPERATIVOS DISTRIBUIDOS EN TIEMPO REAL 3.9. BALANCEO DE CARGA EN SISTEMAS DISTRIBUIDOS SISTEMAS DISTRIBUIDOS 1. Equilibrio o balanceo de cargas y compartición de recursos en Sistemas Distribuidos Un sistema distribuido se define como una colección de computadores autónomos conectados por una red, el cual consta de un software distribuido adecuado para que el sistema sea visto por los usuarios como una única entidad. Además de realizar la importante función de la comunicación, los sistemas distribuidos, se encuentra la forma en que los procesos cooperan y se sincronizan entre sí. Equilibrio de cargas Un proceso es un programa en ejecución, es decir, es la actividad que resulta de la ejecución de un algoritmo, con sus datos, sobre un procesador. En una computadora, los procesos no se suelen ejecutar de forma aislada, sino que acostumbran a ejecutarse con otros de forma solapada en el tiempo, ya que compartiendo adecuadamente los recursos físicos se puede obtener una aceleración global de la velocidad de cálculo del sistema. De esta manera, puede decirse que dos procesos son concurrentes si su ejecución se solapa en el tiempo. Como resultado en la ejecución concurrente de procesos, es necesario realizar el “Equilibrio de cargas”.
  • 10. El equilibrio o balanceo de cargas es el esquema aplicado al procesamiento distribuido y/o al sistema de comunicación con el fin de que un dispositivo no se sature. Es especialmente importante en redes donde es muy difícil predecir el número de peticiones que se van a cursar a un servidor. Por ejemplo, los sitiosweb muy demandados suelen emplear dos o más servidores bajo un esquema de balanceo de carga. Los sistemas distribuidos proveen este tipo de equilibrio a través de varios mecanismos tales como el agrupamiento y la migración de procesos. El agrupamiento combina muchas computadoras para mejorar el tiempo de respuesta global, entre las cuáles se distribuyen los procesos. Si un servidor comienza a saturarse las peticiones son redireccionadas a otro(s). El agrupamiento generalmente emplea compartición de carga y migración de procesos. Existen varios algoritmos para llevar a cabo el proceso de equilibrio de cargas: • Balanceo centralizado: un nodo ejecuta el algoritmo y mantiene el estado global del sistema. Este método no es extensible a problemas más grandes ya que el nodo encargado del balanceo se convierte en un cuello de botella. • Balanceo completamente distribuido: cada procesador mantiene su propia visión del sistema intercambiando información con sus vecinos y así hacer cambios locales. • Balanceo semi-distribuido: divide los procesadores en regiones, cada una con un algoritmo centralizado local. Otro algoritmo balancea la carga entre las regiones. Compartición de recursos Los recursos abarcan el abanico de entidades que pueden compartirse en un sistema distribuido. El cual puede ir desde componentes de hardware como discos e impresoras hasta elementos de software como archivos, ventanas, bases de datos y otros objetos de datos. Los recursos en un sistema distribuido están físicamente encapsulados en una de las computadoras y sólo pueden ser accedidos por otras computadoras mediante las comunicaciones (la red). Para que la compartición de recursos sea efectiva, ésta debe ser manejada por un programa que ofrezca un interfaz de comunicación permitiendo que el recurso sea accedido, manipulado y actualizado de una manera fiable y consistente. Surge el término genérico de gestor de recursos. Un gestor de recursos es un modulo de software que maneja un conjunto de recursos de un tipo en particular. Cada tipo de recurso requiere algunas políticas y métodos específicos junto con requisitos comunes para todos ellos. Éstos incluyen la provisión de un esquema de nombres para cada clase de recurso, permitir que los recursos individuales sean accedidos desde cualquier localización; la traslación de nombre de recurso a direcciones de comunicación y la coordinación de los accesos concurrentes que cambian el estado de los recursos compartidos para mantener la consistencia.
  • 11. Un sistema distribuido puede verse como un conjunto de gestores de recursos y un conjunto de programas que usan los recursos. Los usuarios de los recursos se comunican con los gestores de los recursos para acceder a los recursos compartidos del sistema. Dos ejemplos de sistemas distribuidos serían el modelo cliente-servidor y el modelo basado en objetos. 2. Crecimiento integral dentro de las organizaciones orientado en un ambiente distribuido El uso de los sistemas distribuidos dentro de las organizaciones, ha experimentado un crecimiento acelerado en los últimos años, como resultado del desarrollo tecnológico. La misma dinámica actual ha obligado a las organizaciones a contar con sistemas cada vez más rápidos y eficientes que las ubiquen en posiciones competitivas. Más recientemente, la disponibilidad de computadoras personales de alta capacidad, estaciones de trabajo y servidores, ha resultado en un mayor desplazamiento hacia los sistemas distribuidos dejando de lado cada vez más, los sistemas centralizados multiusuario. Esta tendencia se ha acelerado por el desarrollo de software para sistemas distribuidos, diseñado para soportar el desarrollo de aplicaciones distribuidas. Este software permite a las computadoras coordinar sus actividades y compartir los recursos del sistema - hardware, software y datos. Los sistemas distribuidos son implementados en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, una colección de redes de área local y de área extensa interconectadas, que enlazan millones de computadoras. Por otra parte, las aplicaciones de los sistemas distribuidos varían desde la provisión de capacidad de computo a grupos de usuarios, hasta sistemas bancarios, comunicaciones multimedia y abarcan prácticamente todas las aplicaciones comerciales y técnicas de las computadoras. Los requisitos de dichas aplicaciones incluyen un alto nivel de fiabilidad, seguridad contra interferencias externas y privacidad de la información que el sistema mantiene. Se deben proveer accesos concurrentes a bases de datos por parte de muchos usuarios, garantizar tiempos de respuesta, proveer puntos de acceso al servicio que están distribuidos geográficamente, potencial para el crecimiento del sistema para acomodar la expansión del negocio y un marco para la integración de sistema usados por diferentes compañías y organizaciones de usuarios 3. Servidor DNS Un servidor DNS (DomainNameSystem) es un sistema de nombres que permite traducir de nombre de dominio a dirección IP y vice-versa. Se utiliza para proveer a las computadoras de los usuarios (clientes) un nombre equivalente a las direcciones IP. El
  • 12. uso de este servidor es transparente para los usuarios cuando éste está bien configurado. El sistema de nombres de dominios en Internet es un sistema distribuido, jerárquico, replicado y tolerante a fallas. El punto central se basa en un árbol que define la jerarquía entre los dominios y los sub-dominios. En un nombre de dominio, la jerarquía se lee de derecha a izquierda. Por ejemplo, en dcc.uchile.cl, el dominio más alto es cl. Para que exista una raíz del árbol, se puede ver como si existiera un punto al final del nombre: dcc.uchile.cl., y todos los dominios están bajo esa raíz (también llamada ``punto"). Cada componente del dominio (y también la raíz) tiene un servidor primario y varios servidores secundarios. Todos estos servidores tienen la misma autoridad para responder por ese dominio, pero el primario es el único con derecho para hacer modificaciones en él. Por ello, el primario tiene la copia maestra y los secundarios copian la información desde él. Tipos de servidores DNS • Primarios: Guardan los datos de un espacio de nombres en sus archivos • Secundarios: Obtienen los datos de los servidores primarios a través de una transferencia de zona. • Locales o Caché: Funcionan con el mismo software, pero no contienen la base de datos para la resolución de nombres. Cuando se les realiza una consulta, estos a su vez consultan a los servidores secundarios, almacenando la respuesta en su base de datos para agilizar la repetición de estas peticiones en el futuro. 4. Active DirectoryService Es conocido como uno de los programas informáticos desarrollado por Microsoft, Active Directory (también conocido como NT DirectoryService) ofrece varios servicios de autenticación, DNS y servicios de directorio que son importantes para la gestión de datos y seguridad de datos. Este software se introdujo en 1999 y se inició con el programa Windows 2000 Server. El programa es una agrupación lógica de los sistemas informáticos y los usuarios de computadoras dentro de un único dominio, que es controlada por los controladores de dominio. La estructura de este servicio de directorio tiene tres categorías:, los usuarios, servicios y recursos. Los objetos en el directorio se clasifican en estos niveles. Los objetos tienen distintos conjuntos de atributos que fueron identificados por el directorio. Los atributos son importantes para el adecuado almacenamiento de los objetos. Niveles Active Directory tiene tres niveles, el bosque, los árboles y los dominios. El bosque es el más alto nivel, que representa a las reglas y los atributos de cada objeto en el
  • 13. directorio. A continuación el bosque es el árbol, que se compone de varios dominios que están conectados en una jerarquía de confianza transitiva. Al lado del árbol son los dominios, que se clasifican en las estructuras de nombre. En los dominios son los objetos que se clasifican en varios contenedores conocidos como unidades organizativas. Estas unidades son muy importantes para los administradores a utilizar el software de computadora fácilmente. Para ayudar a los administradores en el mantenimiento de redes informáticas, el directorio también cuenta con sitios, que son muy útiles en el control de tráfico de red. Para evitar los problemas relativos a la seguridad de datos, la información almacenada en Active Directory se asegura en varios controladores de dominio. Este programa de computadora se integra con los servidores diferentes, como TCP / IP y DNS.