Sei sulla pagina 1di 87

INSTITUTO TECNOLGICO

DE AGUASCALIENTES
CARRERA:
ING. TECNOLOGAS DE LA INFORMACIN Y LA
COMUNICACIN.

MATERIA:
SISTEMAS OPERATIVOS II
TRABAJO:
UNIDAD III

PROFESOR:

RUTH MAYELI PONCE ROSALES


INTEGRANTES:
CARRILLO RUIZ JUAN DIEGO
QUEZADA ALBERTO NORA CRISTINA
OJEDA SANDOVAL SAL JAIR
MANRIQUEZ VARGAS DANIEL ALEJANDRO
ESPINOSA TORRES JESUS
MARTINEZ MARTINEZ SERGIO ANTONIO
AGUASCALIENTES, AGS., A 26 DE ENERO DEL 2016

Unidad III
Proceso y procesadores en sistemas operativos
distribuidos

3.1.-Conceptos bsicos de procesos


y procesadores

Proceso

Es el conjunto de actividades o eventos (coordinados u organizados) que se


realizan o suceden (alternativa o simultneamente) bajo ciertas
circunstancias en un determinado lapso de tiempo.

Tipos de procesos

Diseo

Reutilizable.- (Se cargan en memoria cada vez que se usan)

Reentrantes.- (Se carga una sola copia del cdigo en memoria)

Acceso de CPU y Recurso

Apropiativos.- (acceden a los recursos y solo lo abandonan de forma voluntaria)

No apropiativos.- (Permiten a otros procesos apropiarse de los recursos que ahora


poseen )

Permanencia en memoria

Residentes.- (Permanecer en memoria durante toda su evolucin)

Intercambiables.- (El SO puede decidir llevarlos a disco a lo largo de su evolucin)

Propietario

Usuario

Sistema

Estados del proceso

Procesadores

Es un circuito electrnico integrado que acta como unidad central de


proceso de un ordenador, proporcionando el control de las operaciones de
calculo.

Procesadores Distribuidos

Modelo de estacin de trabajo

Modelo de pila de procesadores

Modelo hibrido

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

HILOS Y MULTIHILOS

UN HILO ES SIMPLEMENTE UNA TAREA QUE PUEDE SER EJECUTADA AL MISMO


TIEMPO CON OTRA TAREA. (MINI PROCESOS)

CADA HILO SE EJECUTA EN FORMA ESTRICTAMENTE SECUENCIAL Y TIENE SU


PROPIO CONTADOR DE PROGRAMA

LA CREACIN DE UN NUEVO HILO ES UNA CARACTERSTICA QUE PERMITE A


UNA APLICACIN REALIZAR VARIAS TAREAS A LA VEZ.

LO QUE ES PROPIO DE CADA HILO ES EL CONTADOR DE PROGRAMA, LA PILA


DE EJECUCIN Y EL ESTADO DE LA CPU

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)
CULTURA GENERAL:

SOLO EN UN MULTIPROCESADOR SE PUEDEN EJECUTAR VARIOS HILOS EN


PARALELO.
LOS HILOS PUEDEN CREAR HILOS HIJOS,
MIENTRAS UN HILO ESTA BLOQUEADO SE PUEDE EJECUTAR OTRA FILA DEL
MISMO PROCESO EN LOS DISTINTOS HILOS DE UN PROCESO Y A SU VEZ UN
HILO DEL MISMO PROCESO COMPARTEN UN ESPACIO DE DIRECCIONES

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

HILOS

LOS HILOS PUEDEN TENER DISTINTOS ESTADOS:

EJECUCIN

BLOQUEADO

LISTO

TERMINACIN

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

HILOS EN EJECUCIN :

TAMBIEN LLAMADO SUB-PROCESO ES LA UNIDAD DE PROCESAMIENTO MS


PEQUEA QUE PUEDE SER PLANIFICADA POR UN SISTEMA OPERATIVO.

LOS HILOS DE EJECUCIN QUE COMPARTEN LOS MISMOS RECURSOS, SON EN


CONJUNTO CONOCIDOS COMO UN PROCESO. EL HECHO DE QUE LOS HILOS DE
EJECUCIN DE UN MISMO PROCESO COMPARTAN LOS RECURSOS HACE QUE
CUALQUIERA DE ESTOS HILOS PUEDA MODIFICAR STOS.

EJEMPLILLO:

CUANDO UN HILO MODIFICA UN DATO EN LA MEMORIA, LOS OTROS


HILOS ACCEDEN A ESE DATO MODIFICADO INMEDIATAMENTE

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

NOTA IMPORTANTE !!!!!!


UN PROCESO SIGUE EN EJECUCIN MIENTRAS AL MENOS UNO DE SUS HILOS
DE EJECUCIN SIGA ACTIVO.
CUANDO EL PROCESO FINALIZA, TODOS SUS HILOS DE EJECUCIN
TAMBIN HAN TERMINADO.
ASIMISMO EN EL MOMENTO EN EL QUE TODOS LOS HILOS DE EJECUCIN
FINALIZAN,
EL PROCESO NO EXISTE MS Y TODOS SUS RECURSOS SON LIBERADOS.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

HILOS

HILOS EN ESTADO DE BLOQUEO:

CUANDO UN HILO NECESITA ESPERAR POR UN SUCESO, SE BLOQUEA


SALVANDO SUS REGISTROS DE USUARIO, CONTADOR DE PROGRAMA Y
PUNTEROS DE PILA.

AHORA EL PROCESADOR PODR PASAR A EJECUTAR OTRO HILO QUE EST AL


PRINCIPIO DE LOS LISTOS MIENTRAS EL ANTERIOR PERMANECE BLOQUEADO.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

HILOS

HILO EN ESTADO LISTO:

EN ESTE ESTADO LOS HILOS ESTAN LISTOS PARA SU EJECUCION

LOS HILOS QUE ESTAN EN ESTADO BLOQUEADO PASAN AL FINAL DE LA LISTA DE


ESTE ESTADO

HILOS EN ESTADO DE TERMINACION:

CUANDO UN HILO FINALIZA SE LIBERAN TANTO SU CONTEXTO COMO SUS


COLUMNAS.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

PROCESO:

PUEDE INFORMALMENTE ENTENDERSE COMO UN PROGRAMA EN


EJECUCIN. FORMALMENTE UN PROCESO ES "UNA UNIDAD DE ACTIVIDAD
QUE SE CARACTERIZA POR LA EJECUCIN DE UNA SECUENCIA DE
INSTRUCCIONES, UN ESTADO ACTUAL, Y UN CONJUNTO DE RECURSOS DEL
SISTEMA ASOCIADOS

ANALOGIA:

"UN CIENTFICO COMPUTACIONAL CON MENTE CULINARIA HORNEA UN


PASTEL DE CUMPLEAOS PARA SU HIJA; TIENE LA RECETA PARA UN
PASTEL DE CUMPLEAOS Y UNA COCINA BIEN EQUIPADA CON TODOS LOS
INGREDIENTES NECESARIOS, HARINA, HUEVO, AZCAR, LECHE, ETC."

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)
PROCESOS

DE LA ANALOGIA ANTERIOR PODEMOS DEDUCIR QUE:

LA RECETA ES EL ALGORITMO DEL PROGRAMA

EL CIENTIFICO COMPUTACIONAL ES EL PROCESADOR

LOS INGREDIENTES SON LAS ENTRADAS DEL PROGRAMA

ENTONCES, PODMOS DECIR QUE EL PROCESO:

ES LA ACTIVIDAD QUE CONSISTE EN QUE EL CIENTFICO COMPUTACIONAL


VAYA LEYENDO LA RECETA, OBTENIENDO LOS INGREDIENTES Y HORNEANDO
EL PASTEL.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)
PROCESOS
CADA PROCESO CUENTA CON ESTOS ELEMENTOS:

CONTADOR DE PROGRAMA
REGISTROS Y VARIABLES AISLADOS DE OTROS PROCESOS, INCLUSO SIENDO EL
MISMO PROGRAMA EN EJECUCIN 2 VECES.

CUANDO ESTE LTIMO CASO SUCEDE, EL SISTEMA OPERATIVO USA LA MISMA


REGIN DE MEMORIA DE CDIGO, DEBIDO A QUE DICHO CDIGO NO CAMBIAR, A
MENOS QUE SE EJECUTE UNA VERSIN DISTINTA DEL PROGRAMA.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)
PROCESOS

LOS PROCESOS SON GESTIONADOS POR EL SISTEMA OPERATIVO Y ESTN


FORMADOS POR:

CREACIN Y ELIMINACIN DE PROCESOS.

PLANIFICACIN DE PROCESOS (PROCURANDO LA EJECUCIN DE MLTIPLES


PROCESOS MAXIMIZANDO LA UTILIZACIN DEL PROCESADOR).

ESTABLECIMIENTO DE MECANISMOS PARA LA SINCRONIZACIN Y


COMUNICACIN DE PROCESOS.

MANEJO DE BLOQUEOS MUTUOS.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)
PROCESOS

LOS PROCESOS NECESITAN CIERTOS RECURSOS PARA REALIZAR


SATISFACTORIAMENTE SU TAREA:

TIEMPO DE CPU.

MEMORIA.

ARCHIVOS.

DISPOSITIVOS DE E/S.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

ESTADOS DE UN PROCESO:
A MEDIDA QUE UN PROCESO SE EJECUTA CAMBIA DE ESTADO. CADA PROCESO
PUEDE ESTAR EN UNO DE LOS ESTADOS:

NUEVO (NEW): EL PROCESO SE EST CREANDO.

EN EJECUCIN (RUNNING): EL PROCESO EST EN LA CPU EJECUTANDO


INSTRUCCIONES.

BLOQUEADO (WAITING, EN ESPERA): PROCESO ESPERANDO A QUE OCURRA UN


SUCESO (EJ. TERMINACIN DE E/S O RECEPCIN DE UNA SEAL).

PREPARADO (READY, LISTO): ESPERANDO QUE SE LE ASIGNE A UN PROCESADOR.

TERMINADO (TERMINATED): FINALIZ SU EJECUCIN, POR TANTO NO EJECUTA


MS INSTRUCCIONES Y EL SO LE RETIRAR LOS RECURSOS QUE CONSUME.

NOTA: SLO UN PROCESO PUEDE ESTAR EJECUTNDOSE EN CUALQUIER


PROCESADOR EN UN INSTANTE DADO, PERO MUCHOS PROCESOS PUEDEN ESTAR
LISTOS Y ESPERANDO.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)
CREACION DE UN PROCESO

BSICAMENTE HASTA EL DA DE HOY EXISTEN SLO 4 FORMAS DE CREAR UN


PROCESO:

ARRANQUE DEL SISTEMA.

EN LA EJECUCIN, DESDE UN PROCESO, DE UNA LLAMADA AL SISTEMA PARA LA


CREACIN DEL PROCESO.

UNA PETICIN DELIBERADA DEL USUARIO PARA CREAR UN PROCESO.

EL INICIO DE UN TRABAJO POR LOTES.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)
CREACION DE PROCESOS EN UNIX

FUNCIN FORK():

SE LE LLAMA CREA UN PROCESO HIJO QUE ES UNA COPIA CASI EXACTA DEL
PROCESO PADRE (DUPLICADO DEL PADRE). AMBOS PROCESOS CONTINAN
EJECUTNDOSE DESDE EL PUNTO EN EL QUE SE HIZO LA LLAMADA A FORK().
LOS PROCESOS SE IDENTIFICAN MEDIANTE UN IDENTIFICADOR DE PROCESO
(PID) QUE ES UN ENTERO NICO.
AMBOS PROCESOS CONTINAN SU EJECUCIN CON LA INSTRUCCIN QUE

SIGUE AL

FORK() CON UNA DIFERENCIA:

EL CDIGO QUE EL HIJO RECIBE DEL FORK ES CERO.

EL QUE RECIBE DEL PADRE ES EL PROPIO PID.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)
CREACION DE PROCESOS EN UNIX

FUNCIONES EXEC:
TRAS CREAR UN NUEVO PROCESO, DESPUS DE LLAMAR A FORK, LINUX LLAMA A
UNA FUNCIN DE LA FAMILIA EXEC.
STAS FUNCIONES REEMPLAZAN EL PROGRAMA EJECUTNDOSE EN EL PROCESO
POR OTRO PROGRAMA.
CUANDO UN PROGRAMA LLAMA A UNA FUNCIN EXEC, SU EJECUCIN CESA DE
INMEDIATO Y COMIENZA A EJECUTAR EL NUEVO PROGRAMA DESDE EL PRINCIPIO,
SUPONIENDO QUE NO OCURRIERA NINGN ERROR DURANTE LA LLAMADA.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

PROGRAMA DE HILOS
(EJEMPLO)

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

TERMINACIN DE UN PROCESO:

UN PROCESO TERMINA CUANDO EJECUTA SU LTIMA INSTRUCCIN Y PIDE AL SISTEMA


OPERATIVO QUE LO ELIMINE. EN ESTE MOMENTO, EL PROCESO PUEDE DEVOLVER UN
VALOR DE ESTADO A SU PROCESO PADRE.

HAY DIFERENTES FORMAS DE TERMINAR UN PROCESO

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

DIFERENTES FORMAS DE TERMINAR UN PROCESO

NORMAL: EL PROCESO EJECUTA LLAMADA AL SERVICIO DEL SO QUE


NOTIFICA SU TERMINACIN NORMAL.

POR TIEMPO EXCEDIDO: UNA TAREA TIENE ASIGNADA LA CPU EJECUTA EL


TIEMPO MXIMO Y LE ES REQUISADA LA CPU Y PASA A LA COLA PARA
COMPETIR POR LA NUEVA ASIGNACIN.

VIOLACIN DE LMITES: PROCESO TRATA DE ACCEDER A UNA POSICIN DE


MEMORIA QUE NO LE EST PERMITIDA ACCEDER.

NO MEMORIA DISPONIBLE: EL PROCESO NECESITA MS MEMORIA DE LA QUE


EL SISTEMA PUEDE PROPORCIONAR.

3.2 Mtodos de distribucin de carga


( hilos, tareas, procesos)

DIFERENTES FORMAS DE TERMINAR UN PROCESO

ERROR DE PROTECCIN: EL PROCESO INTENTA UTILIZAR UN RECURSO O ARCHIVO


QUE NO LE EST PERMITIDO UTILIZAR, O TRATA DE UTILIZARLO DE FORMA
INCORRECTA

ERROR ARITMTICO: SI EL PROCESO INTENTA HACER UN CLCULO PROHIBIDO,


COMO LA DIVISIN POR CERO, O TRATA DE ACCEDER A UN NMERO MAYOR DEL QUE
EL HARDWARE ACEPTA.

FALLO DE DISPOSITIVO DE E/S: SE PRODUCE UN ERROR EN UNA OPERACIN DE E/S

INSTRUCCIN NO VALIDA: EL PROCESO INTENTA EJECUTAR UNA INSTRUCCIN


INEXISTENTE ( A MENUDO COMO RESULTADO DE UN SALTO PARA EJECUTAR DATOS EN
LA ZONA DE DATOS)

3.3 Modelos de procesadores: de


estacin de trabajo, de pila de
procesadores, hibrido

3,3,1 Modelo de Estacin 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 rgido en cada una de ellas.

Los usuarios tienen:

Una cantidad fija de poder de cmputo exclusiva.

Un alto grado de autonoma para asignar los recursos de su estacin de trabajo.

Clasificacin

Sin disco:

Bajo costo, fcil mantenimiento del hardware y del software, simetra y flexibilidad.

Gran uso de la red, los servidores de archivos se pueden convertir en cuellos de botella.

Disco para paginacin y archivos de tipo borrador:

Reduce la carga de la red respecto del caso anterior.

Alto costo debido al gran nmero de discos necesarios.

Disco para paginacin, archivos de tipo borrador y archivos binarios (ejecutables):

Reduce an ms la carga sobre la red.

Alto costo y complejidad adicional para actualizar los binarios.

Disco para paginacin, borrador, binarios y ocultamiento de archivos:

Reduce an ms 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.

Prdida de transparencia.

3,3,2 Pila de Procesadores


Se dispone de un conjunto de cpu que se pueden asignar dinmicamente a los
usuarios segn la demanda.
Los usuarios no disponen de estaciones de trabajo sino de terminales grficas de
alto rendimiento.
No existe el concepto de propiedad de los procesadores, los que pertenecen a
todos y se utilizan compartidamente.

Teora de colas

Llamamos a la taza de entrada totales de solicitudes por segundo de


todos los usuarios combinados.

Llamamos a la taza de procesamiento de solicitudes por parte del


servidor

Para una operacin estable debe darse que >

3,3,3 Hibrido

Se establece como la medicin al proporcionar a cada usuario una estacin de


trabajo personal y adems tener una pila de procesadores.

El trabajo interactivo se puede llevar acabo en las estaciones de trabajo con


una respuesta garantizada. Sin embargo las estaciones iniciativas no se
utilizan, lo cual es mas sencillo el diseo del sistema. Todos los procesos
interactivos se ejecutan en la pila de procesadores as como todo el computo
pesado en general.

3.4 Asignacin de procesadores: modelo


y algoritmos con sus aspectos de diseo
e implantacin

Por definicin, un sistema distribuido consta de varios procesadores. Estos se


pueden organizar como coleccin de estaciones de trabajo , una pila de
procesadores o alguna forma hbrida. En todos los casos, se necesita cierto
algoritmo para decidir cul proceso hay que ejecutar y en qu mquina.

Para el modelo de estaciones de trabajo:

Decidir cundo ejecutar el proceso de manera local y cundo buscar una


estacin inactiva.

Para el modelo de la pila de procesadores:

Decidir dnde ejecutar cada nuevo proceso.

Modelos y algoritmos con sus aspectos de diseo e implantacin.

Modelos de asignacin

Las estrategias de asignacin de procesadores se dividen en:

No migratorias:

Al crearse un proceso, se toma una decisin acerca de donde colocarlo,


una vez colocado en una maquina, el proceso permanece ah hasta que
termina.No se puede mover, no importe lo sobrecargada que este la
maquina ni que existan muchas maquinas inactivas

Migratorias:

Un proceso se puede trasladar aunque haya iniciado ejecucin. Mientras


que las estrategias migratorias permiten un mejor balance de la carga, son
mas complejas y tienen un efecto fundamental en el diseo del sistema

Los algoritmos de asignacin intentan optimizar:

Uso de las CPU:

Maximizar el nmero 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.

Tasa de respuesta:

Minimizar la tasa de respuesta, que es el tiempo necesario para


ejecutar un proceso en cierta mquina dividido, por el tiempo que
tardara en cierto procesador de referencia.

Los principales aspectos a tomar en cuenta en el diseo de algoritmos de


asignacin de procesos son los siguientes:

Algoritmos deterministas vs. Heursticos.

Algoritmos centralizados vs. Distribuidos.

Algoritmos ptimos vs. Sub ptimos.

Algoritmos locales vs. Globales.

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

Algoritmos deterministas

Son adecuados cuando se sabe de antemano todo acerca del comportamiento de


los procesos.

Una mquina puede ser determinista y no tener lmite temporal para la


ejecucin o quedarse en un bucle de estados cclicos eternamente. Ejemplo los
autmatas finitos deterministas.

Algoritmos heursticos

Son adecuados cuando la carga es impredecible. Un algoritmo heurstico puede


producir una buena solucin (puede que la ptima) pero tambin puede que no
produzca ninguna solucin o dar una solucin no muy buena. Normalmente, se
basa en un conocimiento intuitivo sobre un determinado problema.

Algoritmos centralizado vs. Distribuido

La recoleccin de toda la informacin en un lugar permite tomar una mejor


decisin, pero menos robusta y coloca una carga pesada en la mquina central.
Son preferibles los algoritmos descentralizados, pero se han propuesto algunos
algoritmos centralizados por la carencia de alternativas descentralizadas
adecuadas.

Algoritmos ptimos vs. Sub ptimos

Se pueden obtener las soluciones ptimas tanto en los sistemas centralizados


como en los descentralizados, pero por regla son ms caros que los sub ptimos.
Hay que recolectar ms informacin y procesarla un poco ms. En la prctica la
mayora de los sistemas distribuidos reales buscan soluciones sub ptimas,
heursticas y distribuidas, debido a la dificultad para obtener las ptimas.

Locales vs globales

Cuando se esta a punto de crear un proceso hay que tomar una decisin para ver
si se ejecuta o no en la maquina que lo genera. Si esa maquina esta muy
ocupada, hay que transferir a otro lugar al nuevo proceso .La opcin en este
consiste en basar o no las decisin de transferencia por completo en la
informacin local.

Los algoritmos locales son sencillos pero estn muy lejos de ser los ptimos,
mientras que los globales slo dan un resultado un poco mejor a un mayor costo.

Algoritmos iniciados por el emisor vs.


iniciados por el receptor.

Una vez que se decidi liberarse de un proceso la poltica de localizacin debe decidir dnde
enviarlo. Necesita informacin de la carga en todas partes para tomar una decisin inteligente.
Sin embargo esta informacin se puede dispersar de dos maneras:

Los emisores inician el intercambio de informacin.

El receptor toma la iniciativa.

Una maquina enva una solicitudd de


ayuda a las dems maquinas. Aqu el
emisor toma la iniciativa para
localizar mas ciclos del CPU

Una maquina inactiva o subcargada


anuncia a los dems que tiene poco
trabajo y esta preparada para mas.
Su objetivo es localizar una maquina
dispuesta a darle trabajo

Aspectos de la Implantacin de Algoritmos de Asignacin de Procesadores

Casi todos los algoritmos suponen que las mquinas conocen su propia carga y
que pueden informar su estado:

Un mtodo consiste en contar el nmero de cada maquina y utilizar ese


numero con la carga.

Otro mtodo consiste en contar solo los procesos en ejecucin o listos.

Otro aspecto importante es el costo excesivo en consumo de recursos para


recolectar medidas y desplazar procesos, ya que se debera considerar el
tiempo de CPU, el uso de memoria y el ancho de banda de la red utilizada por
el algoritmo para asignacin de procesadores.

Si el uso de un algoritmo sencillo proporciona casi la misma ganancia que uno


ms caro y ms complejo, generalmente ser mejor utilizar el ms sencillo.

La estabilidad es un aspecto importante ya que las diversas maquinas


ejecutan algoritmos de forma asncrona uno del otro, de modo que, desde un
punto de vista practico, el sistema nunca alcanza el equilibrio.

3.5 Coplanificacion

COPLANIFICACION

Toma en cuenta los patrones de comunicacin entre los procesos durante la


planificacin.

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

Cada procesador debe utilizar un algoritmo de planificacin ROUND ROBIN.

Se emplea una matriz conceptual donde: Las filas son de espacios de tiempo.

Modalidad 1: Planificacin centralizada

Existe una sola cola para todos los procesos, o varias colas con distintas
prioridades.
Cada proceso puede correr en cualquier procesador.
Las tareas de planeacin son mucho menos importantes con varios
procesadores que si existe un nico procesador.

Modalidad 2: Planificacin distribuida

Para cada procesador se hace una planificacin local (si tiene varios procesos en
ejecucin) independientemente de lo que hacen los otros procesadores.
La planificacin independiente no es eficiente cuando se ejecutan en distintos
procesadores un grupo de procesos relacionados entre s.
Se necesita una forma de garantizar que los procesos con comunicacin
frecuente se ejecuten de manera simultnea.

3.6 Tolerancia a fallos: nivel proceso,


nivel almacenamiento

TOLERANCIA A FALLOS

Es la propiedad que permite a un sistema continuar operando


adecuadamente en caso de una falla en alguno de sus componentes.

Ante una falla, otro componente o un procedimiento especial de


respaldo pueden tomar el control para subsanar o amortiguar los
efectos del fallo.

Para que un sistema distribuido pueda ser tolerante a fallos, se ocupan


las siguientes caractersticas:

DISPONIBILIDAD: Un sistema con alta disponibilidad es aquel que


puede trabajar en cualquier tiempo.

CONFIABILIDAD: Un sistema con alta confiabilidad, es aquel que


funciona por largos periodos de tiempo sin fallo alguno.

SEGURIDAD: Se refiere a la situacin en la que un sistema falla


temporalmente, no pasa nada grave.

MANTENIMIENTO: Se refiere a que tan rpido puede ser reparado un


sistema.

Un sistema con alto grado de mantenimiento es aquel, que puede


evitar o reparar
fallas automticamente.

La redundancia es la tcnica fundamental requerida para lograr la tolerancia a fallas.


En grupos de procesos tolerantes a fallas, uno o ms procesos pueden fallar sin
repercutir en la disponibilidad del servicio que se ofrece.

En la redundancia, tres clases son posibles:

Redundancia de informacin: Con redundancia de informacin se agregan bits


adicionales para recuperar los bits perdidos.

Redundancia de tiempo: Se realiza una accin, y luego si es necesario se vuelve a


realizar.

Redundancia fsica: Se agrega equipos o procesos adicionales para que el sistema


en su conjunto tolere la perdida o el mal funcionamiento de algunos componentes. La
redundancia fsica se puede realizar con software o hardware. La redundancia fsica
es una tcnica muy conocida de crear tolerancia a fallas.

Existen dos tcnicas fundamentales para manejar la redundancia fsica:

La tcnica de replica activa (RA), tambin conocida como master-master y la


rplica primaria (RP) tambin conocida como maestro- esclavo.

Tolerancia a fallos a nivel de procesos

Un proceso no puede ser espejeado ni duplicado, entonces requiere un


enfoque distinto. Principalmente buscamos la transparencia, de tal
suerte que un fallo en un proceso sea invisible para el usuario. Para
lograrlo es indispensable que haya buena comunicacin y coordinacin
entre procesos.

Tolerancia a fallos a nivel de almacenamiento


Una posibilidad es que el fallo se deba a daos fsicos en uno o ms componentes
de hardware, con la consiguiente prdida de la informacin almacenada. La
implementacin de la tolerancia a fallos requiere que el sistema de almacenamiento
guarde la misma informacin en ms de un soporte fsico (redundancia), o en un
equipo o dispositivo externo a modo de respaldo. De esta forma, si se produce
alguna falla que pueda ocasionar prdida de datos, el sistema debe ser capaz de
restablecer toda la informacin, recuperando los datos necesarios a partir de algn
medio de respaldo disponible.

Ejemplo:

Por lo general, el concepto de tolerancia a fallos se identifica con el sistema de


almacenamiento en RAID (Redundant Array of Independent Disks) en espaol
(conjunto redundante de discos Independientes), en tiempo real que utiliza mltiples
unidades de almacenamiento de datos (discos duros o SSD(unidad de estado
slido)) entre los que se distribuyen o replican los datos.

Los sistemas RAID (a excepcin de RAID 0) se basan en la tcnica mirroring (en


espejo), que permite la escritura simultnea de los datos en ms de un disco del
array.

Un RAID 1 crea una copia exacta (o espejo) de un conjunto de datos


en dos o ms discos. Esto resulta til cuando queremos tener ms
seguridad desaprovechando capacidad, ya que si perdemos un disco,
tenemos el otro con la misma informacin. Un RAID 1 clsico consiste
en dos discos en espejo, lo que incrementa exponencialmente la
fiabilidad respecto a un solo disco; es decir, la probabilidad de fallo del
conjunto es igual al producto de las probabilidades de fallo de cada uno
de los discos (pues para que el conjunto falle es necesario que lo
hagan todos sus discos).

CLASIFICACION DE FALLOS

FALLOS TRASCENDENTALES: Son aquellos fallos que aparecen una


vez y despus desaparecen aun cuando la misma operacin se repite.

FALLOS INTERMITENTES: Son aquellos fallos que aparecen una vez


y despus desaparecen y despus vuelven a aparecer y continua el
ciclo.

FALLOS PERMANENTES: Son aquellos fallos que aparecen y no


desaparecen hasta que el componente errneo es remplazado o es
arreglado el problema.

MODELOS DE FALLOS

3.7 Esquemas de seguridad en


sistemas distribuidos.

El tema de la seguridad es un asunto de inters mayor para los sistemas PC, y de


alguna manera el hecho de que los S.O.D. son un mbito de software en que las
especificaciones son mucho ms especializadas y extensas, adems
la informacin resulta menos atractiva para el delincuente informtico comn,
aunque siempre existe el riesgo de ataques a la propiedad industrial, que es otra
escala de delincuencia mayor.

El modelo plantea lo siguiente

1.- Los procesos encapsulan recursos y acceden a comunicarse con los clientes a
travs de sus interfaces. Los usuarios u otros procesos pueden estar autorizados
para operar sobre los recursos y estos deben estar protegidos contra accesos no
autorizados.

2.- Los procesos interactan en la red, que es compartida. Los enemigos


o atacantes pueden acceder a la red y podrn copiar, leer o introducir mensajes
arbitrarios, dirigidos hacia cualquier destino y simular que provienen de
cualquier otro.

Este modelo de seguridad identifica las caractersticas de los sistemas de seguridad


expuestos a ataques, para apoyarnos, presentamos una tabla sobre la evolucin de
las necesidades de seguridad en los sistemas informticos:

Amenazas y Ataques

La principal meta de la seguridad es restringir el acceso a la informacin y


los recursos de modo que slo tengan acceso aquellos que estn autorizados. Las
amenazas de seguridad se dividen en tres clases:

Fuga: la adquisicin de informacin por receptores no autorizados.

Alteracin: la modificacin no autorizada de informacin.

Vandalismo: interferencia en el modo de operacin adecuado de un sistema, sin


ganancia para el responsable.

Los ataques en los sistemas distribuidos dependen de la obtencin de acceso a


los canales de comunicacion.Los mtodos de ataque pueden clasificarse en
funcin del modo en que se abusa del canal

Suplantar: Es enviar o recibir mensajes utilizando la identidad de otro sin


su autorizacin.

Alterar mensajes:interceptar mensajes y alterar sus contenidos antes


de pasarlos al receptor.

Reenviar : almacenar mensajes interceptados y enviarlos ms tarde.

Denegacin de servicio : desbordar un canal o recurso para impedir que otros


accedan a l.

Seguridad de las Transacciones Electrnicas.

Muchas aplicaciones de comercio y dems implican transacciones que dependen de la


seguridad, como ser:

E-mail: hay muchos usos del correo en que los mensajes deben ser confidenciales (como
enviar un nmero de tarjeta de crdito).

Compra de bienes y servicios: estas transacciones son usuales. Los compradores


seleccionan bienes y pagan por ellos empleando el Web, luego le son enviados por un
mecanismo de reparto.

Transacciones bancarias: los bancos electrnicos ofrecen a los usuarios todos


los servicios que proporcionan los bancos convencionales.

Micro-transacciones: Internet se presta a proporcionar pequeas cantidades de


informacin y otros servicios hacia sus clientesintencin de proveer bien alguno.

RECOMENDACIONES PARA IMPLEMENTAR LA


POLTICA DE SEGURIDAD EN S.O.D.

Efectuar un anlisis de Riesgos.

Lo ms valioso debe alejarse de lo ms vulnerable.

Mantener las cosas simples.

Asegurar la seguridad en todos los niveles.

Encriptar tanto como sea posible.

No conar en la autenticacin estndar.


No usar la conguracin "estndar".
Gestionar la seguridad hacia el interior.

Educar a los usuarios.

Ejecutar solo los servicios imprescindibles

Mantener al da las actualizaciones

Escaneo regulares

Proteger las descargas de software de internet

Establecer planes de contingencia y respaldo

Mantener contacto con el proveedor de enlaces de comunicacin

Uso de la red perimtrica o zona desmilitarizada

Llevar practicas de programacin segura

3.8 Sistemas operativos distribuidos en


tiempo real.

Son aquellos que interactan con el mundo exterior donde el tiempo es


un factor importante.

CARACTERISTICAS

*Se activan por evento o por tiempo.

*Su comportamiento debe ser predecible.

*Deben ser tolerantes a fallas.

*La comunicacin en estos sistemas deben de ser de alto desempeo.

SISTEMA DE TIEMPO REAL SUAVE. El tiempo real suave significa que


no existe problema si se rebasa un tiempo lmite.

Ejemplo de Sistema de Tiempo Real Suave: Conmutador telefnico.

SISTEMA DE TIEMPO REAL DURO. Es aquel en el que un tiempo lmite


no cumplido puede resultar catastrfico.

Ejemplo de Sistema De Tiempo Real Duro: Alarma ssmica.

3.9. Balanceo de carga en sistemas


distribuidos

3.9. Balanceo de carga en sistemas


distribuidos

Balanceo de carga es el esquema aplicado al procesamiento distribuido y/o al


sistema de comunicacin con el fin de que un dispositivo no se sature.

El balanceo de carga es la manera en que las peticiones de Internet son


distribuidas sobre una fila de servidores. Existen varios mtodos para realizar
el balanceo de carga. Desde el simple Round Robin (repartiendo todas las
peticiones que llegan de Internet entre el nmero de servidores disponibles
para dicho servicio) hasta los equipos que reciben las peticiones, recogen
informacin, en tiempo real, de la capacidad operativa de los equipos y la
utilizan para enrutar dichas peticiones individualmente al servidor que se
encuentre en mejor disposicin de prestar el servicio adecuado. Los
balanceadores de carga pueden ser soluciones hardware, tales como routers y
switches que incluyen software de balanceo de carga preparado para ello, y
soluciones software que se instalan en el back end de los servidores.

Algoritmos para balanceo de cargas

Balanceo centralizado: un nodo ejecuta el algoritmo y mantiene el estado


global del sistema. Este mtodo no es extensible a problemas ms grandes ya
que el nodo encargado del balanceo se convierte en un cuello de botella.

Balanceo completamente distribuido: cada procesador mantiene su propia


visin del sistema intercambiando informacin con sus vecinos y as hacer
cambios locales. El costo de balanceo se reduce pero no es ptimo debido a
que solo se dispone de informacin parcial.

Balanceo semi-distribuido: divide los procesadores en regiones, cada una con


un algoritmo centralizado local. Otro algoritmo balancea la carga entre las
regiones. El balanceo puede ser iniciado por envo o recibimiento. Si es
balanceo iniciado por envo, un procesador con mucha carga enva trabajo a
otros. Si es balanceo iniciado por recibimiento, un procesador con poca carga
solicita trabajo de otros. Si la carga por procesador es baja o mediana, es
mejor el balanceo iniciado por envo. Si la carga es alta se debe usar balanceo
iniciado por recibimiento. De lo contrario, en ambos casos, se puede producir
una fuerte migracin innecesaria de tareas.

Mtodo Round Robin

Las peticiones clientes son distribuidas equitativamente entre todos los


servidores existentes. Este mtodo cclico no tiene en cuenta las condiciones y
carga de cada servidor. Esto puede trae consigo tener servidores que reciben
peticiones de carga mucho mayor, mientras se tiene servidores que apenas se
encuentran utilizando recursos.

Generaciones del Balanceo de Carga

Primera generacin de Balanceo de Carga

Las soluciones "reales" de balanceo de carga necesitan descubrir el


rendimiento del servidor. La primera generacin puede detectar el rendimiento
del servidor va passive polling, lo que significa que el balanceador de carga
mide el tiempo de respuesta de los servidores y por ello tiene una idea de
cmo estn funcionando. En esta generacin slo descubre que los servidores
tienen un problema despus de que se producen retrasos o, en el peor de los
casos, cuando los servidores estn completamente cados.

Segunda generacin de Balanceo de Carga

El balanceo de carga ms seguro slo se puede conseguir considerando el uso


real de los servidores, permitiendo que los recursos existentes se empleen al
mximo, al conocer cmo estn siendo utilizados estos recursos incluso antes
de que las peticiones de los clientes lleguen a ellos. El trfico se enruta
proactivamente, cambiando el antiguo concepto existente de balanceo de
carga, hacia una solucin de optimizacin del servidor, consiguiendo el mejor
resultado posible con la tecnologa disponible. Para lograrlo, el balanceador
de carga continuamente realiza peticiones de datos de cada servidor en la
granja de servidores para monitorizar sus condiciones y direccionar las
peticiones de los clientes hacia el servidor que se encuentre ms disponible y
en mejor estado para responder a dichas peticiones. Los parmetros
solicitados, dependen del producto utilizado.

Normalmente se emplea la utilizacin de la CPU del servidor, el uso de


memoria y el nmero de conexiones abiertas. La segunda generacin de
balanceadores posee funciones de mensajera, informando si los servidores
estn fuera de servicio, y si es as, cundo sern devueltos a produccin. La
mayora de los servidores "revividos" pasan un perodo de prueba durante el
cul no se llenan completamente de peticiones. Se puede incluso desconectar
los servidores para repararse o para realizar el mantenimiento, a travs del
mtodo de "apagado progresivo". El servidor, a partir de ese momento, no
acepta nuevas peticiones pero permanece activo hasta que las transacciones
de comercio electrnico y las descargas que se estn produciendo finalicen.
La segunda (algunas veces considerada la primera) regla ms importante de
una solucin de balanceo de carga, es incrementar la fiabilidad del sitio web
y del contenido y los servicios que est ofreciendo.

Normalmente la segunda generacin de balanceadores de carga hardware se


vende en parejas, es decir, dos equipos iguales. Uno de ellos es la unidad
activa y el segundo la unidad de repuesto o de back up. Una unidad de back
up en modo stand by (en espera) con una misma direccin IP y MAC significa
que incluso cuando el balanceador se ve afectado por un incidente como
puede ser un fallo de cableado, fuego o error humano, hay una unidad de
repuesto pre-configurada que pasa a ser operacional de forma inmediata.

Potrebbero piacerti anche