unidad-3-s.0.ii

Upload: israel-flores-montes

Post on 05-Jul-2018

213 views

Category:

Documents


0 download

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