unidad-3-s.0.ii
TRANSCRIPT
-
8/16/2019 UNIDAD-3-S.0.II
1/87
INSTITUTO TECNOLÓGICODE AGUASCALIENTES
CARRERA:ING. TECNOLOGÍAS DE LA INFORMACIÓN Y LA
COMUNICACIÓN.
MATERIA:SISTEMAS OPERATIVOS II
TRABAJO:UNIDAD III
PROFESOR:
RUTH MAYELI PONCE ROSALES
INTEGRANTES:CARRILLO RUIZ JUAN DIEGO
QUEZADA ALBERTO NORA CRISTINAOJEDA SANDOVAL SAÚL JAIR
MANRIQUEZ VARGAS DANIEL ALEJANDROESPINOSA TORRES JESUS
MARTINEZ MARTINEZ SERGIO ANTONIO
AGUASCALIENTES, AGS., A 26 DE ENERO DEL 2016
-
8/16/2019 UNIDAD-3-S.0.II
2/87
Unidad IIIProceso y procesadores en sistemas operativos
distribuidos
-
8/16/2019 UNIDAD-3-S.0.II
3/87
3.1.-Conceptos básicos de procesosy procesadores
-
8/16/2019 UNIDAD-3-S.0.II
4/87
Proceso
Es el conjunto de actividades o eventos (coordinados u organizados) que serealizan o suceden (alternativa o simultáneamente) bajo ciertascircunstancias en un determinado lapso de tiempo.
-
8/16/2019 UNIDAD-3-S.0.II
5/87
Tipos de procesos
Diseño
Reutilizable.- (Se cargan en memoria cada vez que se usan)
Reentrantes.- (Se carga una sola copia del código 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 )
-
8/16/2019 UNIDAD-3-S.0.II
6/87
Permanencia en memoria
Residentes.- (Permanecer en memoria durante toda su evolución)
Intercambiables.- (El SO puede decidir llevarlos a disco a lo largo de su evolución)
Propietario
Usuario
Sistema
-
8/16/2019 UNIDAD-3-S.0.II
7/87
Estados del proceso
-
8/16/2019 UNIDAD-3-S.0.II
8/87
Procesadores
Es un circuito electrónico integrado que actúa como unidad central deproceso de un ordenador, proporcionando el control de las operaciones decalculo.
-
8/16/2019 UNIDAD-3-S.0.II
9/87
Procesadores Distribuidos
Modelo de estación de trabajo
Modelo de pila de procesadores
Modelo hibrido
-
8/16/2019 UNIDAD-3-S.0.II
10/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
-
8/16/2019 UNIDAD-3-S.0.II
11/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
HILOS Y MULTIHILOS
• UN HILO ES SIMPLEMENTE UNA TAREA QUE PUEDE SER EJECUTADA AL MISMOTIEMPO CON OTRA TAREA. (MINI PROCESOS)
• CADA HILO SE EJECUTA EN FORMA ESTRICTAMENTE SECUENCIAL Y TIENE SUPROPIO CONTADOR DE PROGRAMA
• LA CREACIÓN DE UN NUEVO HILO ES UNA CARACTERÍSTICA QUE PERMITE A
UNA APLICACIÓN REALIZAR VARIAS TAREAS A LA VEZ.• LO QUE ES PROPIO DE CADA HILO ES EL CONTADOR DE PROGRAMA, LA PILA
DE EJECUCIÓN Y EL ESTADO DE LA CPU
https://es.wikipedia.org/wiki/Aplicaci%C3%B3n_inform%C3%A1ticahttps://es.wikipedia.org/wiki/Pila_de_ejecuci%C3%B3nhttps://es.wikipedia.org/wiki/Pila_de_ejecuci%C3%B3nhttps://es.wikipedia.org/wiki/Pila_de_ejecuci%C3%B3nhttps://es.wikipedia.org/wiki/Pila_de_ejecuci%C3%B3nhttps://es.wikipedia.org/wiki/Pila_de_ejecuci%C3%B3nhttps://es.wikipedia.org/wiki/Pila_de_ejecuci%C3%B3nhttps://es.wikipedia.org/wiki/CPUhttps://es.wikipedia.org/wiki/CPUhttps://es.wikipedia.org/wiki/Pila_de_ejecuci%C3%B3nhttps://es.wikipedia.org/wiki/Contador_de_programahttps://es.wikipedia.org/wiki/Aplicaci%C3%B3n_inform%C3%A1tica
-
8/16/2019 UNIDAD-3-S.0.II
12/87
3.2 Métodos de distribución 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 DELMISMO PROCESO EN LOS DISTINTOS HILOS DE UN PROCESO Y A SU VEZ UN
HILO DEL MISMO PROCESO COMPARTEN UN ESPACIO DE DIRECCIONES”
-
8/16/2019 UNIDAD-3-S.0.II
13/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
HILOS
LOS HILOS PUEDEN TENER DISTINTOS ESTADOS:
• EJECUCIÓN
• BLOQUEADO
• LISTO
• TERMINACIÓN
-
8/16/2019 UNIDAD-3-S.0.II
14/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
HILOS EN EJECUCIÓN :
TAMBIEN LLAMADO SUB-PROCESO ES LA UNIDAD DE PROCESAMIENTO MÁSPEQUEÑA QUE PUEDE SER PLANIFICADA POR UN SISTEMA OPERATIVO.
LOS HILOS DE EJECUCIÓN QUE COMPARTEN LOS MISMOS RECURSOS, SON ENCONJUNTO CONOCIDOS COMO UN PROCESO. EL HECHO DE QUE LOS HILOS DEEJECUCIÓN 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”
https://es.wikipedia.org/wiki/Proceso_(inform%C3%A1tica)https://es.wikipedia.org/wiki/Proceso_(inform%C3%A1tica)
-
8/16/2019 UNIDAD-3-S.0.II
15/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
NOTA IMPORTANTE !!!!!!
UN PROCESO SIGUE EN EJECUCIÓN MIENTRAS AL MENOS UNO DE SUS HILOSDE EJECUCIÓN SIGA ACTIVO.
CUANDO EL PROCESO FINALIZA, TODOS SUS HILOS DE EJECUCIÓNTAMBIÉN HAN TERMINADO.
ASIMISMO EN EL MOMENTO EN EL QUE TODOS LOS HILOS DE EJECUCIÓNFINALIZAN,
EL PROCESO NO EXISTE MÁS Y TODOS SUS RECURSOS SON LIBERADOS.
-
8/16/2019 UNIDAD-3-S.0.II
16/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
HILOS
HILOS EN ESTADO DE BLOQUEO:
CUANDO UN HILO NECESITA ESPERAR POR UN SUCESO, SE BLOQUEASALVANDO SUS REGISTROS DE USUARIO, CONTADOR DE PROGRAMA YPUNTEROS DE PILA.
AHORA EL PROCESADOR PODRÁ PASAR A EJECUTAR OTRO HILO QUE ESTÉ AL
PRINCIPIO DE LOS LISTOS MIENTRAS EL ANTERIOR PERMANECE BLOQUEADO.
-
8/16/2019 UNIDAD-3-S.0.II
17/87
3.2 Métodos de distribución 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 DEESTE ESTADO
HILOS EN ESTADO DE TERMINACION:
CUANDO UN HILO FINALIZA SE LIBERAN TANTO SU CONTEXTO COMO SUSCOLUMNAS.
-
8/16/2019 UNIDAD-3-S.0.II
18/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
PROCESO:
• PUEDE INFORMALMENTE ENTENDERSE COMO UN ”PROGRAMA” ENEJECUCIÓN. FORMALMENTE UN PROCESO ES "UNA UNIDAD DE ACTIVIDADQUE SE CARACTERIZA POR LA EJECUCIÓN DE UNA SECUENCIA DEINSTRUCCIONES, UN ESTADO ACTUAL, Y UN CONJUNTO DE RECURSOS DELSISTEMA ASOCIADOS”
•
ANALOGIA:• "UN CIENTÍFICO COMPUTACIONAL CON MENTE CULINARIA HORNEA UN
PASTEL DE CUMPLEAÑOS PARA SU HIJA; TIENE LA RECETA PARA UN PASTEL DE CUMPLEAÑOS Y UNA COCINA BIEN EQUIPADA CON TODOS LOSINGREDIENTES NECESARIOS, HARINA, HUEVO, AZÚCAR, LECHE, ETC."
-
8/16/2019 UNIDAD-3-S.0.II
19/87
3.2 Métodos de distribución 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 CIENTÍFICO COMPUTACIONALVAYA LEYENDO LA RECETA, OBTENIENDO LOS INGREDIENTES Y HORNEANDOEL PASTEL.
-
8/16/2019 UNIDAD-3-S.0.II
20/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
PROCESOS
CADA PROCESO CUENTA CON ESTOS ELEMENTOS:
CONTADOR DE PROGRAMA
REGISTROS Y VARIABLES AISLADOS DE OTROS PROCESOS, INCLUSO SIENDO ELMISMO PROGRAMA EN EJECUCIÓN 2 VECES.
CUANDO ESTE ÚLTIMO CASO SUCEDE, EL SISTEMA OPERATIVO USA LA MISMAREGIÓN DE MEMORIA DE CÓDIGO, DEBIDO A QUE DICHO CÓDIGO NO CAMBIARÁ, AMENOS QUE SE EJECUTE UNA VERSIÓN DISTINTA DEL PROGRAMA.
-
8/16/2019 UNIDAD-3-S.0.II
21/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
PROCESOS
LOS PROCESOS SON GESTIONADOS POR EL SISTEMA OPERATIVO Y ESTÁNFORMADOS POR:
CREACIÓN Y ELIMINACIÓN DE PROCESOS.
PLANIFICACIÓN DE PROCESOS (PROCURANDO LA EJECUCIÓN DE MÚLTIPLESPROCESOS MAXIMIZANDO LA UTILIZACIÓN DEL PROCESADOR).
ESTABLECIMIENTO DE MECANISMOS PARA LA SINCRONIZACIÓN YCOMUNICACIÓN DE PROCESOS.
MANEJO DE BLOQUEOS MUTUOS.
-
8/16/2019 UNIDAD-3-S.0.II
22/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
PROCESOS
LOS PROCESOS NECESITAN CIERTOS RECURSOS PARA REALIZARSATISFACTORIAMENTE SU TAREA:
• TIEMPO DE CPU.
• MEMORIA.
• ARCHIVOS.
• DISPOSITIVOS DE E/S.
3 2 Métodos de distribución de carga
-
8/16/2019 UNIDAD-3-S.0.II
23/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
-
8/16/2019 UNIDAD-3-S.0.II
24/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
ESTADOS DE UN PROCESO:
A MEDIDA QUE UN PROCESO SE EJECUTA CAMBIA DE ESTADO. CADA PROCESOPUEDE ESTAR EN UNO DE LOS ESTADOS:
NUEVO (NEW): EL PROCESO SE ESTÁ CREANDO.
EN EJECUCIÓN (RUNNING): EL PROCESO ESTÁ EN LA CPU EJECUTANDOINSTRUCCIONES.
BLOQUEADO (WAITING, EN ESPERA): PROCESO ESPERANDO A QUE OCURRA UNSUCESO (EJ. TERMINACIÓN DE E/S O RECEPCIÓN DE UNA SEÑAL).
PREPARADO (READY, LISTO): ESPERANDO QUE SE LE ASIGNE A UN PROCESADOR.
TERMINADO (TERMINATED): FINALIZÓ SU EJECUCIÓN, POR TANTO NO EJECUTAMÁS INSTRUCCIONES Y EL SO LE RETIRARÁ LOS RECURSOS QUE CONSUME.
NOTA: SÓLO UN PROCESO PUEDE ESTAR EJECUTÁNDOSE EN CUALQUIERPROCESADOR EN UN INSTANTE DADO, PERO MUCHOS PROCESOS PUEDEN ESTARLISTOS Y ESPERANDO.
-
8/16/2019 UNIDAD-3-S.0.II
25/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
CREACION DE UN PROCESO
BÁSICAMENTE HASTA EL DÍA DE HOY EXISTEN SÓLO 4 FORMAS DE CREAR UNPROCESO:
ARRANQUE DEL SISTEMA.
EN LA EJECUCIÓN, DESDE UN PROCESO, DE UNA LLAMADA AL SISTEMA PARA LACREACIÓN DEL PROCESO.
UNA PETICIÓN DELIBERADA DEL USUARIO PARA CREAR UN PROCESO.
EL INICIO DE UN TRABAJO POR LOTES.
-
8/16/2019 UNIDAD-3-S.0.II
26/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
CREACION DE PROCESOS EN UNIX FUNCIÓN FORK():
SE LE LLAMA CREA UN PROCESO HIJO QUE ES UNA COPIA CASI EXACTA DELPROCESO PADRE (DUPLICADO DEL PADRE). AMBOS PROCESOS CONTINÚANEJECUTÁNDOSE DESDE EL PUNTO EN EL QUE SE HIZO LA LLAMADAA FORK().
LOS PROCESOS SE IDENTIFICAN MEDIANTE UN “IDENTIFICADOR DE PROCESO”(PID) QUE ES UN ENTERO ÚNICO.
AMBOS PROCESOS CONTINÚAN SU EJECUCIÓN CON LA INSTRUCCIÓN QUESIGUE AL FORK() CON UNA DIFERENCIA:
• EL CÓDIGO QUE EL HIJO RECIBE DEL FORK ES CERO.
• EL QUE RECIBE DEL PADRE ES EL PROPIO PID.
-
8/16/2019 UNIDAD-3-S.0.II
27/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
CREACION DE PROCESOS EN UNIX
FUNCIONES EXEC:
TRAS CREAR UN NUEVO PROCESO, DESPUÉS DE LLAMAR A FORK, LINUX LLAMA AUNA FUNCIÓN DE LA FAMILIA EXEC.
ÉSTAS FUNCIONES REEMPLAZAN EL PROGRAMA EJECUTÁNDOSE EN EL PROCESOPOR OTRO PROGRAMA.
CUANDO UN PROGRAMA LLAMA A UNA FUNCIÓN EXEC, SU EJECUCIÓN CESA DEINMEDIATO Y COMIENZA A EJECUTAR EL NUEVO PROGRAMA DESDE EL PRINCIPIO,SUPONIENDO QUE NO OCURRIERA NINGÚN ERROR DURANTE LA LLAMADA.
-
8/16/2019 UNIDAD-3-S.0.II
28/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
PROGRAMA DE HILOS(EJEMPLO)
-
8/16/2019 UNIDAD-3-S.0.II
29/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
TERMINACIÓN DE UN PROCESO: UN PROCESO TERMINA CUANDO EJECUTA SU ÚLTIMA INSTRUCCIÓN Y PIDE AL SISTEMA
OPERATIVO QUE LO ELIMINE. EN ESTE MOMENTO, EL PROCESO PUEDE DEVOLVER UNVALOR DE ESTADO A SU PROCESO PADRE.
HAY DIFERENTES FORMAS DE TERMINAR UN PROCESO
-
8/16/2019 UNIDAD-3-S.0.II
30/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
DIFERENTES FORMAS DE TERMINAR UN PROCESO NORMAL: EL PROCESO EJECUTA LLAMADA AL SERVICIO DEL SO QUE
NOTIFICA SU TERMINACIÓN NORMAL.
POR TIEMPO EXCEDIDO: UNA TAREA TIENE ASIGNADA LA CPU EJECUTA ELTIEMPO MÁXIMO Y LE ES REQUISADA LA CPU Y PASA A LA COLA PARACOMPETIR POR LA NUEVA ASIGNACIÓN.
VIOLACIÓN DE LÍMITES: PROCESO TRATA DE ACCEDER A UNA POSICIÓN DEMEMORIA QUE NO LE ESTÁ PERMITIDA ACCEDER.
NO MEMORIA DISPONIBLE: EL PROCESO NECESITA MÁS MEMORIA DE LA QUEEL SISTEMA PUEDE PROPORCIONAR.
-
8/16/2019 UNIDAD-3-S.0.II
31/87
3.2 Métodos de distribución de carga( hilos, tareas, procesos)
DIFERENTES FORMAS DE TERMINAR UN PROCESO
ERROR DE PROTECCIÓN: EL PROCESO INTENTA UTILIZAR UN RECURSO O ARCHIVOQUE NO LE ESTÁ PERMITIDO UTILIZAR, O TRATA DE UTILIZARLO DE FORMAINCORRECTA
ERROR ARITMÉTICO: SI EL PROCESO INTENTA HACER UN CÁLCULO PROHIBIDO,COMO LA DIVISIÓN POR CERO, O TRATA DE ACCEDER A UN NÚMERO MAYOR DEL QUEEL HARDWARE ACEPTA.
FALLO DE DISPOSITIVO DE E/S: SE PRODUCE UN ERROR EN UNA OPERACIÓN DE E/S
INSTRUCCIÓN NO VALIDA: EL PROCESO INTENTA EJECUTAR UNA INSTRUCCIÓNINEXISTENTE ( A MENUDO COMO RESULTADO DE UN SALTO PARA EJECUTAR DATOS ENLA ZONA DE DATOS)
-
8/16/2019 UNIDAD-3-S.0.II
32/87
3.3 Modelos de procesadores: deestación de trabajo, de pila de
procesadores, hibrido
-
8/16/2019 UNIDAD-3-S.0.II
33/87
3,3,1 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.
-
8/16/2019 UNIDAD-3-S.0.II
34/87
Clasificación
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.
-
8/16/2019 UNIDAD-3-S.0.II
35/87
3,3,2 Pila de Procesadores
Se dispone de un conjunto de cpu que se pueden asignar dinámicamente a losusuarios según la demanda.
Los usuarios no disponen de estaciones de trabajo sino de terminales gráficas dealto rendimiento.
No existe el concepto de propiedad de los procesadores, los que pertenecen atodos y se utilizan compartidamente.
-
8/16/2019 UNIDAD-3-S.0.II
36/87
Teoría de colas
Llamamos “λ” a la taza de entrada totales de solicitudes por segundo detodos los usuarios combinados.
Llamamos “μ” a la taza de procesamiento de solicitudes por parte delservidor
Para una operación estable debe darse que “μ > λ”
-
8/16/2019 UNIDAD-3-S.0.II
37/87
3,3,3 Hibrido
Se establece como la medición al proporcionar a cada usuario una estación detrabajo personal y además tener una pila de procesadores.
El trabajo interactivo se puede llevar acabo en las estaciones de trabajo conuna respuesta garantizada. Sin embargo las estaciones iniciativas no seutilizan, lo cual es mas sencillo el diseño del sistema. Todos los procesosinteractivos se ejecutan en la pila de procesadores así como todo el computo
pesado en general.
-
8/16/2019 UNIDAD-3-S.0.II
38/87
3.4 Asignación de procesadores: modeloy algoritmos con sus aspectos de diseño
e implantación
-
8/16/2019 UNIDAD-3-S.0.II
39/87
Por definición, un sistema distribuido consta de varios procesadores. Estos sepueden organizar como colección de estaciones de trabajo , una pila deprocesadores o alguna forma híbrida. En todos los casos, se necesita ciertoalgoritmo para decidir cuál proceso hay que ejecutar y en qué máquina.
Para el modelo de estaciones de trabajo:
Decidir cuándo ejecutar el proceso de manera local y cuándo buscar unaestación inactiva.
Para el modelo de la pila de procesadores:
Decidir dónde ejecutar cada nuevo proceso.
Modelos y algoritmos con sus aspectos de diseño e implantación.
-
8/16/2019 UNIDAD-3-S.0.II
40/87
Modelos de asignación
Las estrategias de asignación de procesadores se dividen en:
No migratorias:
Al crearse un proceso, se toma una decisión acerca de donde colocarlo,una vez colocado en una maquina, el proceso permanece ahí hasta quetermina.No se puede mover, no importe lo sobrecargada que este lamaquina ni que existan muchas maquinas inactivas
Migratorias:
Un proceso se puede trasladar aunque haya iniciado ejecución. Mientrasque las estrategias migratorias permiten un mejor balance de la carga, sonmas complejas y tienen un efecto fundamental en el diseño del sistema
Los algoritmos de asignación intentan optimizar:
-
8/16/2019 UNIDAD-3-S.0.II
41/87
Los algoritmos de asignación intentan optimizar:
Uso de las CPU:
Maximizar el número de ciclos de CPU que se ejecutan para trabajosde los usuarios.
Minimizar el tiempo de inactividad de las CPU.
Tiempo promedio de respuesta:
Minimizar no los tiempos individuales de respuesta sino los tiempospromedio.
Tasa de respuesta:
Minimizar la tasa de respuesta, que es el tiempo necesario paraejecutar un proceso en cierta máquina dividido, por el tiempo quetardaría en cierto procesador de referencia.
Los principales aspectos a tomar en cuenta en el diseño de algoritmos de
-
8/16/2019 UNIDAD-3-S.0.II
42/87
Los principales aspectos a tomar en cuenta en el diseño de algoritmos deasignación de procesos 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.
Algoritmos deterministas
-
8/16/2019 UNIDAD-3-S.0.II
43/87
lgo t os dete stas
Son adecuados cuando se sabe de antemano todo acerca del comportamiento delos procesos.
Una máquina puede ser determinista y no tener límite temporal para la
ejecución o quedarse en un bucle de estados cíclicos eternamente. Ejemplo losautómatas finitos deterministas.
Algoritmos heurísticos
-
8/16/2019 UNIDAD-3-S.0.II
44/87
Algoritmos heurísticos
Son adecuados cuando la carga es impredecible. Un algoritmo heurístico puedeproducir una buena solución (puede que la óptima) pero también puede que noproduzca ninguna solución o dar una solución no muy buena. Normalmente, se
basa en un conocimiento intuitivo sobre un determinado problema.
Algoritmos centralizado vs. Distribuido
-
8/16/2019 UNIDAD-3-S.0.II
45/87
g
La recolección de toda la información en un lugar permite tomar una mejordecisión, pero menos robusta y coloca una carga pesada en la máquina central.Son preferibles los algoritmos descentralizados, pero se han propuesto algunosalgoritmos centralizados por la carencia de alternativas descentralizadas
adecuadas.
Algoritmos óptimos vs Sub óptimos
-
8/16/2019 UNIDAD-3-S.0.II
46/87
Algoritmos óptimos vs. Sub óptimos
Se pueden obtener las soluciones óptimas tanto en los sistemas centralizadoscomo en los descentralizados, pero por regla son más caros que los sub óptimos.Hay que recolectar más información y procesarla un poco más. En la práctica la
mayoría de los sistemas distribuidos reales buscan soluciones sub óptimas,heurísticas y distribuidas, debido a la dificultad para obtener las óptimas.
L l l b l
-
8/16/2019 UNIDAD-3-S.0.II
47/87
Locales vs globales Cuando se esta a punto de crear un proceso hay que tomar una decisión para ver
si se ejecuta o no en la maquina que lo genera. Si esa maquina esta muyocupada, hay que transferir a otro lugar al nuevo proceso .La opción en este
consiste en basar o no las decisión de transferencia por completo en lainformación local.
Los algoritmos locales son sencillos pero están muy lejos de ser los óptimos,mientras que los globales sólo dan un resultado un poco mejor a un mayor costo.
Algoritmos iniciados por el emisor vs.
-
8/16/2019 UNIDAD-3-S.0.II
48/87
Algoritmos iniciados por el emisor vs.iniciados por el receptor.
Una vez que se decidió liberarse de un proceso la política de localización debe decidir dó
enviarlo. Necesita información de la carga en todas partes para tomar una decisión intelSin embargo esta información se puede dispersar de dos maneras:
Los emisores inician el intercambio de información.
El receptor toma la iniciativa.
Una maquina envía una solicitudd de
-
8/16/2019 UNIDAD-3-S.0.II
49/87
Una maquina envía una solicitudd deayuda a las demás maquinas. Aquí elemisor toma la iniciativa paralocalizar mas ciclos del CPU
Una maquina inactiva o subcargadaanuncia a los demás que tiene poco
trabajo y esta preparada para mas.Su objetivo es localizar una maquinadispuesta a darle trabajo
‘‘Aspectos de la Implantación de Algoritmos de Asignación de Procesadores’’
-
8/16/2019 UNIDAD-3-S.0.II
50/87
p p g g
Casi todos los algoritmos suponen que las máquinas conocen su propia carga yque pueden informar su estado:
Un método consiste en contar el número de cada maquina y utilizar esenumero con la carga.
Otro método consiste en contar solo los procesos en ejecución o listos.
Otro aspecto importante es el costo excesivo en consumo de recursos pararecolectar medidas y desplazar procesos, ya que se debería considerar eltiempo de CPU, el uso de memoria y el ancho de banda de la red utilizada porel algoritmo para asignación de procesadores.
Si el uso de un algoritmo sencillo proporciona casi la misma ganancia que unomás caro y más complejo, generalmente será mejor utilizar el más sencillo.
La estabilidad es un aspecto importante ya que las diversas maquinasejecutan algoritmos de forma asíncrona uno del otro, de modo que, desde unpunto de vista practico, el sistema nunca alcanza el equilibrio.
-
8/16/2019 UNIDAD-3-S.0.II
51/87
3.5 Coplanificacion
COPLANIFICACION
-
8/16/2019 UNIDAD-3-S.0.II
52/87
COPLANIFICACION
Toma en cuenta los patrones de comunicación entre los procesos durante laplanificación.
Debe garantizar que todos los miembros del grupo se ejecuten al mismotiempo.
Cada procesador debe utilizar un algoritmo de planificación ROUND ROBIN.
Se emplea una matriz conceptual donde: Las filas son de espacios de tiempo.
Modalidad 1: Planificación centralizada
-
8/16/2019 UNIDAD-3-S.0.II
53/87
Modalidad 1: Planificación centralizada
• Existe una sola cola para todos los procesos, o varias colas con distintasprioridades.
• Cada proceso puede correr en cualquier procesador.
• Las tareas de planeación son mucho menos importantes con variosprocesadores que si existe un único procesador.
Modalidad 2: Planificación distribuida
• Para cada procesador se hace una planificación local (si tiene varios procesos en
ejecución) independientemente de lo que hacen los otros procesadores.• La planificación independiente no es eficiente cuando se ejecutan en distintosprocesadores un grupo de procesos relacionados entre sí.
• Se necesita una forma de garantizar que los procesos con comunicaciónfrecuente se ejecuten de manera simultánea.
-
8/16/2019 UNIDAD-3-S.0.II
54/87
3.6 Tolerancia a fallos: nivel proceso,nivel almacenamiento
TOLERANCIA A FALLOS
-
8/16/2019 UNIDAD-3-S.0.II
55/87
TOLERANCIA A FALLOS
Es la propiedad que permite a un sistema continuar operandoadecuadamente en caso de una falla en alguno de sus componentes.
Ante una falla, otro componente o un procedimiento especial derespaldo pueden tomar el control para subsanar o amortiguar los
efectos del fallo.
P i t di t ib id d t l t f ll
-
8/16/2019 UNIDAD-3-S.0.II
56/87
Para que un sistema distribuido pueda ser tolerante a fallos, se ocupanlas siguientes características:
DISPONIBILIDAD: Un sistema con alta disponibilidad es aquel que
puede trabajar en cualquier tiempo.
CONFIABILIDAD: Un sistema con alta confiabilidad, es aquel quefunciona por largos periodos de tiempo sin fallo alguno.
-
8/16/2019 UNIDAD-3-S.0.II
57/87
SEGURIDAD: Se refiere a la situación en la que un sistema fallatemporalmente, no pasa nada grave.
MANTENIMIENTO: Se refiere a que tan rápido puede ser reparado unsistema.
Un sistema con alto grado de mantenimiento es aquel, que puedeevitar o reparar fallas automáticamente.
-
8/16/2019 UNIDAD-3-S.0.II
58/87
-
8/16/2019 UNIDAD-3-S.0.II
59/87
Tolerancia a fallos a nivel de procesos
-
8/16/2019 UNIDAD-3-S.0.II
60/87
Tolerancia a fallos a nivel de procesos
Un proceso no puede ser espejeado ni duplicado, entonces requiere unenfoque distinto. Principalmente buscamos la transparencia, de talsuerte que un fallo en un proceso sea invisible para el usuario. Paralograrlo es indispensable que haya buena comunicación y coordinaciónentre procesos.
Tolerancia a fallos a nivel de almacenamien
-
8/16/2019 UNIDAD-3-S.0.II
61/87
Tolerancia a fallos a nivel de almacenamien
Una posibilidad es que el fallo se deba a daños físicos en uno o más componentes
de hardware, con la consiguiente pérdida de la información almacenada. Laimplementación de la tolerancia a fallos requiere que el sistema de almacenamientoguarde la misma información en más de un soporte físico (redundancia), o en unequipo o dispositivo externo a modo de respaldo. De esta forma, si se producealguna falla que pueda ocasionar pérdida de datos, el sistema debe ser capaz derestablecer toda la información, recuperando los datos necesarios a partir de algúnmedio de respaldo disponible.
Ejemplo:
https://es.wikipedia.org/wiki/Hardwarehttps://es.wikipedia.org/wiki/Redundanciahttps://es.wikipedia.org/wiki/Redundanciahttps://es.wikipedia.org/wiki/Hardware
-
8/16/2019 UNIDAD-3-S.0.II
62/87
Ejemplo:
-
8/16/2019 UNIDAD-3-S.0.II
63/87
Por lo general, el concepto de tolerancia a fallos se identifica con el sistemaalmacenamiento en RAID (Redundant Array of Independent Disks) en espa(conjunto redundante de discos Independientes), en tiempo real que utiliza múltip
unidades de almacenamiento de datos (discos duros o SSD(unidad de estasólido)) entre los que se distribuyen o replican los datos.
Los sistemas RAID (a excepción de RAID 0) se basan en la técnica mirroring («espejo»), que permite la escritura simultánea de los datos en más de un discoarray.
Un RAID 1 crea una copia exacta (o espejo) de un conjunto de datosen dos o más discos. Esto resulta útil cuando queremos tener másseguridad desaprovechando capacidad ya que si perdemos un disco
https://es.wikipedia.org/wiki/Disco_durohttps://es.wikipedia.org/wiki/SSDhttps://es.wikipedia.org/wiki/Datohttps://es.wikipedia.org/wiki/Datohttps://es.wikipedia.org/wiki/SSDhttps://es.wikipedia.org/wiki/Disco_duro
-
8/16/2019 UNIDAD-3-S.0.II
64/87
seguridad desaprovechando capacidad, ya que si perdemos un disco,tenemos el otro con la misma información. Un RAID 1 clásico consisteen dos discos en espejo, lo que incrementa exponencialmente lafiabilidad respecto a un solo disco; es decir, la probabilidad de fallo delconjunto es igual al producto de las probabilidades de fallo de cada unode los discos (pues para que el conjunto falle es necesario que lohagan todos sus discos).
CLASIFICACION DE FALLOS
-
8/16/2019 UNIDAD-3-S.0.II
65/87
CLASIFICACION DE FALLOS
FALLOS TRASCENDENTALES: Son aquellos fallos que aparecen unavez y después desaparecen aun cuando la misma operación se repite.
FALLOS INTERMITENTES: Son aquellos fallos que aparecen una vezy después desaparecen y después vuelven a aparecer y continua elciclo.
FALLOS PERMANENTES: Son aquellos fallos que aparecen y nodesaparecen hasta que el componente erróneo es remplazado o esarreglado el problema.
MODELOS DE FALLOS
-
8/16/2019 UNIDAD-3-S.0.II
66/87
-
8/16/2019 UNIDAD-3-S.0.II
67/87
3.7 Esquemas de seguridad ensistemas distribuidos.
El tema de la seguridad es un asunto de interés mayor para los sistemas PC, y de
-
8/16/2019 UNIDAD-3-S.0.II
68/87
g y p , yalguna manera el hecho de que los S.O.D. son un ámbito de software en que lasespecificaciones son mucho más especializadas y extensas, ademásla información resulta menos atractiva para el delincuente informático común,aunque siempre existe el riesgo de ataques a la propiedad industrial, que es otra
escala de delincuencia mayor.
El modelo plantea lo siguiente
-
8/16/2019 UNIDAD-3-S.0.II
69/87
p g
1.- Los procesos encapsulan recursos y acceden a comunicarse con los clientes através de sus interfaces. Los usuarios u otros procesos pueden estar autorizadospara operar sobre los recursos y estos deben estar protegidos contra accesos noautorizados.
2.- Los procesos interactúan en la red, que es compartida. Los enemigoso atacantes pueden acceder a la red y podrán copiar, leer o introducir mensajesarbitrarios, dirigidos hacia cualquier destino y simular que provienen decualquier otro.
Este modelo de seguridad identifica las características de los sistemas de seguridadexpuestos a ataques, para apoyarnos, presentamos una tabla sobre la evolución delas necesidades de seguridad en los sistemas informáticos:
-
8/16/2019 UNIDAD-3-S.0.II
70/87
las necesidades de seguridad en los sistemas informáticos:
Amenazas y Ataques
https://sites.google.com/site/mrtripus/home/sistemas-operativos-2/3-7-esquemas-de-seguridad-en-sistemas-distribuidos/tabla_evolucion_seguridad.jpg?attredirects=0
-
8/16/2019 UNIDAD-3-S.0.II
71/87
La principal meta de la seguridad es restringir el acceso a la información ylos recursos de modo que sólo tengan acceso aquellos que estén autorizados. Lasamenazas de seguridad se dividen en tres clases:
Fuga: la adquisición de información por receptores no autorizados. Alteración: la modificación no autorizada de información.
Vandalismo: interferencia en el modo de operación adecuado de un sistema, singanancia para el responsable.
Los ataques en los sistemas distribuidos dependen de la obtención de acceso a
-
8/16/2019 UNIDAD-3-S.0.II
72/87
los canales de comunicacion.Los métodos de ataque pueden clasificarse enfunción del modo en que se abusa del canal
Suplantar: Es enviar o recibir mensajes utilizando la identidad de otro sinsu autorización.
Alterar mensajes:interceptar mensajes y alterar sus contenidos antesde pasarlos al receptor.
Reenviar : almacenar mensajes interceptados y enviarlos más tarde.
Denegación de servicio : desbordar un canal o recurso para impedir que otrosaccedan a él.
Seguridad de las Transacciones Electrónicas.
-
8/16/2019 UNIDAD-3-S.0.II
73/87
Muchas aplicaciones de comercio y demás implican transacciones que dependen de seguridad, como ser:
• E-mail: hay muchos usos del correo en que los mensajes deben ser confidenciales enviar un número de tarjeta de crédito).
• Compra de bienes y servicios: estas transacciones son usuales. Los compradoresseleccionan bienes y pagan por ellos empleando el Web, luego le son enviados por umecanismo de reparto.
• Transacciones bancarias: los bancos electrónicos ofrecen a los usuarios todoslos servicios que proporcionan los bancos convencionales.
• Micro-transacciones: Internet se presta a proporcionar pequeñas cantidades deinformación y otros servicios hacia sus clientesintención de proveer bien alguno.
RECOMENDACIONES PARA IMPLEMENTAR LAPOLÍTICA DE SEGURIDAD EN S.O.D.
-
8/16/2019 UNIDAD-3-S.0.II
74/87
POLÍTICA DE SEGURIDAD EN S.O.D.
Efectuar un análisis de Riesgos.
Lo más valioso debe alejarse de lo más vulnerable.
Mantener las cosas simples.
Asegurar la seguridad en todos los niveles.
Encriptar tanto como sea posible.
No confiar en la autenticación estándar.
No usar la configuración "estándar".
Gestionar la seguridad hacia el interior.
Educar a los usuarios.
Ejecutar solo los servicios imprescindibles
-
8/16/2019 UNIDAD-3-S.0.II
75/87
Mantener al día 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 comunicación
Uso de la red perimétrica o zona desmilitarizada
Llevar practicas de programación segura
-
8/16/2019 UNIDAD-3-S.0.II
76/87
3.8 Sistemas operativos distribuidos entiempo real.
Son aquellos que interactúan con el mundo exterior donde el tiempo esun factor importante
-
8/16/2019 UNIDAD-3-S.0.II
77/87
un factor importante.
CARACTERISTICAS
*Se activan por evento o por tiempo.
*Su comportamiento debe ser predecible.
*Deben ser tolerantes a fallas.
*La comunicación en estos sistemas deben de ser de alto desempeño.
SISTEMA DE TIEMPO REAL SUAVE. El tiempo real suave significa quei t bl i b ti lí it
-
8/16/2019 UNIDAD-3-S.0.II
78/87
no existe problema si se rebasa un tiempo límite.
Ejemplo de Sistema de Tiempo Real Suave: Conmutador telefónico.
SISTEMA DE TIEMPO REAL DURO. Es aquel en el que un tiempo límiteno cumplido puede resultar catastrófico.
Ejemplo de Sistema De Tiempo Real Duro: Alarma sísmica.
-
8/16/2019 UNIDAD-3-S.0.II
79/87
3.9. Balanceo de carga en sistemas
di t ib id
-
8/16/2019 UNIDAD-3-S.0.II
80/87
distribuidos
Balanceo de carga es el esquema aplicado al procesamiento distribuido y/o alsistema de comunicación con el fin de que un dispositivo no se sature.
El balanceo de carga es la manera en que las peticiones de Internet sondistribuidas sobre una fila de servidores. Existen varios métodos para realizarel balanceo de carga. Desde el simple Round Robin (repartiendo todas laspeticiones que llegan de Internet entre el número de servidores disponiblespara dicho servicio) hasta los equipos que reciben las peticiones, recogeninformación, en tiempo real, de la capacidad operativa de los equipos y lautilizan para enrutar dichas peticiones individualmente al servidor que seencuentre en mejor disposición de prestar el servicio adecuado. Losbalanceadores de carga pueden ser soluciones hardware, tales como routers yswitches que incluyen software de balanceo de carga preparado para ello, ysoluciones software que se instalan en el back end de los servidores.
Algoritmos para balanceo de cargas
-
8/16/2019 UNIDAD-3-S.0.II
81/87
Balanceo centralizado: un nodo ejecuta el algoritmo y mantiene el estadoglobal del sistema. Este método no es extensible a problemas más grandes yaque el nodo encargado del balanceo se convierte en un cuello de botella.
Balanceo completamente distribuido: cada procesador mantiene su propiavisión del sistema intercambiando información con sus vecinos y así hacercambios locales. El costo de balanceo se reduce pero no es óptimo debido aque solo se dispone de información parcial.
Balanceo semi-distribuido: divide los procesadores en regiones, cada una conun algoritmo centralizado local. Otro algoritmo balancea la carga entre lasregiones. El balanceo puede ser iniciado por envío o recibimiento. Si esbalanceo iniciado por envío, un procesador con mucha carga envía trabajo a
otros. Si es balanceo iniciado por recibimiento, un procesador con poca cargasolicita trabajo de otros. Si la carga por procesador es baja o mediana, esmejor el balanceo iniciado por envío. Si la carga es alta se debe usar balanceoiniciado por recibimiento. De lo contrario, en ambos casos, se puede produciruna fuerte migración innecesaria de tareas.
Método Round Robin
-
8/16/2019 UNIDAD-3-S.0.II
82/87
Las peticiones clientes son distribuidas equitativamente entre todos los
servidores existentes. Este método cíclico no tiene en cuenta las condiciones ycarga de cada servidor. Esto puede trae consigo tener servidores que recibenpeticiones de carga mucho mayor, mientras se tiene servidores que apenas seencuentran utilizando recursos.
Generaciones del Balanceo de Carga
-
8/16/2019 UNIDAD-3-S.0.II
83/87
Primera generación de Balanceo de Carga
Las soluciones "reales" de balanceo de carga necesitan descubrir elrendimiento del servidor. La primera generación puede detectar el rendimientodel servidor vía passive polling, lo que significa que el balanceador de cargamide el tiempo de respuesta de los servidores y por ello tiene una idea decómo están funcionando. En esta generación sólo descubre que los servidorestienen un problema después de que se producen retrasos o, en el peor de los
casos, cuando los servidores están completamente caídos.
Segunda generación de Balanceo de Carga
-
8/16/2019 UNIDAD-3-S.0.II
84/87
El balanceo de carga más seguro sólo se puede conseguir considerando el usoreal de los servidores, permitiendo que los recursos existentes se empleen almáximo, al conocer cómo están siendo utilizados estos recursos incluso antes
de que las peticiones de los clientes lleguen a ellos. El tráfico se enrutaproactivamente, cambiando el antiguo concepto existente de balanceo decarga, hacia una solución de optimización del servidor, consiguiendo el mejorresultado posible con la tecnología disponible. Para lograrlo, el balanceadorde carga continuamente realiza peticiones de datos de cada servidor en lagranja de servidores para monitorizar sus condiciones y direccionar laspeticiones de los clientes hacia el servidor que se encuentre más disponible yen mejor estado para responder a dichas peticiones. Los parámetros
solicitados, dependen del producto utilizado.
Normalmente se emplea la utilización de la CPU del servidor, el uso dei l ú d i bi t L d ió d
-
8/16/2019 UNIDAD-3-S.0.II
85/87
memoria y el número de conexiones abiertas. La segunda generación debalanceadores posee funciones de mensajería, informando si los servidoresestán fuera de servicio, y si es así, cuándo serán devueltos a producción. Lamayoría de los servidores "revividos" pasan un período de prueba durante el
cuál no se llenan completamente de peticiones. Se puede incluso desconectarlos servidores para repararse o para realizar el mantenimiento, a través delmétodo de "apagado progresivo". El servidor, a partir de ese momento, noacepta nuevas peticiones pero permanece activo hasta que las transaccionesde comercio electrónico y las descargas que se estén produciendo finalicen.La segunda (algunas veces considerada la primera) regla más importante deuna solución de balanceo de carga, es incrementar la fiabilidad del sitio weby del contenido y los servicios que está ofreciendo.
-
8/16/2019 UNIDAD-3-S.0.II
86/87
Normalmente la segunda generación de balanceadores de carga hardware se
vende en parejas, es decir, dos equipos iguales. Uno de ellos es la unidadactiva y el segundo la unidad de repuesto o de back up. Una unidad de backup en modo stand by (en espera) con una misma dirección IP y MAC significaque incluso cuando el balanceador se ve afectado por un incidente comopuede ser un fallo de cableado, fuego o error humano, hay una unidad derepuesto pre-configurada que pasa a ser operacional de forma inmediata.
-
8/16/2019 UNIDAD-3-S.0.II
87/87