SlideShare una empresa de Scribd logo
1 de 9
Proceso: La forma más general de definir un proceso es como un programa en ejecución que desencadena una serie de instrucciones a trabajar. ABCD<br />Diferencia entre proceso y programa Mientras que un programa se encuentra en modo pasivo, el proceso trabaja en modo activo.<br />Por ejemplo: Microsoft Word al estar guardado en disco duro, no tiene alguna interacción con el procesador. En cambio cuando hacemos clic el menú de inicio de Windows, convertirnos en proceso aquel programa.<br />Gestionamiento de los procesos<br />Losprocesossongestionadosporelsistemaoperativoyestaconstituidosdelasiguienteestructura:<br />Estructura de un proceso<br />Estados de un proceso: Un proceso pasa de un estado a otro desde su creación hasta su destrucción, <br />Los estados por los cuales puede pasar un proceso son los siguientes:<br />Nuevo<br />•Cuando el proceso se está creando.<br />Ejecución<br />•Es cuando se están ejecutando instrucciones.<br />Espera<br />•Es cuando el proceso está esperando que ocurra un evento.<br />Listo<br />•Es cuando un proceso está a la espera de ser asignado a un procesador.<br />Terminado<br />•Es cuando el proceso ha terminado su ejecución.<br />Transiciones de estados<br />Cuando un proceso se crea, pasa a la cola de procesos listos. Se dice que existe una transición de estado cuando un proceso cambia de un estado a otro.<br />Estos estados de transición son los siguientes:<br />Transición: Nuevo –Listo.<br />Este estado indica que a un proceso recién creado se le permite competir por los recursos del CPU.<br />Transición: Listo –Ejecución.<br />Es cuando a un proceso tiene la CPU a su disposición, aquí se encuentra en ejecución.<br />Transición: Ejecución-Listo<br />Es cuando a un proceso se le expira el intervalo de tiempo asignado para estar en ejecución aquí existe un cambio de transición:<br />Ejecución –Bloqueado<br />Esta transición sucede cuando un proceso realiza una operación de Entrada/Salida antes de que termine su tiempo de ejecución. El proceso abandona la CPU y se bloquea asimismo.<br />Bloqueado –Listo<br />Ocurre cuando se acaba una operación de Entrada/Salida, terminando en el estado de Listo.<br />Ejecución –Terminado.<br />Esta transición ocurre cuando el proceso se ha terminado de ejecutar, y pasa a un estado de terminado.<br />Adueñándose del CPU.<br />Para prevenir que un proceso monopolice la CPU, el sistema operativo ajusta un reloj de interrupción de hardware para permitir al usuario ejecutar su proceso durante un intervalo de tiempo específico.<br />Bloque de control de procesos<br />La manifestación de un proceso en un sistema operativo es un bloque de control o de proceso. Este PCB representa una estructura de datos que contiene cierta información importante acerca del proceso.<br />Bloque de control de procesos.<br />La información que contiene este PCB es la siguiente:<br />-Estado actual del proceso.<br />-Id único del proceso.<br />-Prioridad del proceso.<br />-Apuntadores para localizar la memoria del proceso.<br />-Apuntadores para asignar recursos.<br />-Área de para preservar recursos.<br />Diagrama de estado de procesos.<br />2.4.2.1 MECANISMOS DE SEMÁFOROS<br />DEFINICION<br />Un mecanismo de semáforo es una variable protegida, cuyo valor sólo puede ser leído y alterado mediante las operaciones P y V, y una operación de asignación de valores iniciales e (Inicia semáforo). <br />Un mecanismo semáforo consta básicamente de dos operaciones primitivas señal (Signal) y espera (Wait) (Originalmente definidas como P y V por Disjkstra), que operan sobre un tipo especial de variable semáforo, “s”.<br />SIGNAL (s) : <br />Incrementa el valor de su argumento semáforo, s , en una operación indivisible.<br />WAIT (s) : <br />Decrementa el valor de su argumento semáforo , s , en tanto el resultado no sea negativo. <br />PROPIEDADES<br />pueden estar disponibles en un lenguaje de programación, como construcción del lenguaje, o como servicio del sistema operativo invocado mediante llamadas al sistema. <br />Los sistemas operativos diferencian a menudo entre semáforos contadores y semáforos binarios. El valor de un semáforo contador puede variar en un dominio no restringido, mientras que el valor de un semáforo binario solo puede ser 0 01. En algunos sistemas, los semáforos binarios se conocen como cerrojos mutex, ya que son cerrojos que proporcionan exclusión mutua<br />Los semáforos contadores se pueden usar para controlar el acceso a un determinado recurso formado por un numero finito de instancias. <br />Un semáforo cuya variable solo tiene permitido tomar los valores 0 (ocupado) y 1 (libre) se denomina Semáforo Binario. <br />IMPLEMENTACION DE SISTEMAS DE SEMAFOROS CON  COLAS<br />La implementación de los semáforos con espera activa tienen dos importantes desventajas : el potencial aplazamiento indefinido y la baja eficiencia debido al consumo de ciclos de procesador por parte de procesos bloqueados. <br />2.4.2.2  MECANISMO DE MONITORES.<br />Los monitores son estructuras de datos utilizadas en lenguajes de programación para sincronizar dos o más procesos o hilos de ejecución que usan recursos compartidos.<br />En el estudio y uso de los semáforos se puede ver que las llamadas a las funciones necesarias para utilizarlos quedan repartidas en el código del programa, haciendo difícil corregir errores y asegurar el buen funcionamiento de los algoritmos. <br />Para evitar estos inconvenientes se desarrollaron los monitores. La estructura de los monitores se ha implementado en varios lenguajes de programación, incluido Pascal concurrente, Modula-2, Modula-3 y Java, y como biblioteca de programas.<br />COMPONENTES<br />INICIALIZACIÓN: <br />Contiene el código a ser ejecutado cuando el monitor es creado.<br />DATOS PRIVADOS: <br />Contiene los procedimientos privados, que sólo pueden ser usados desde dentro del monitor y no son visibles desde fuera.<br />PROCEDIMIENTOS DEL MONITOR: <br />Son los procedimientos que pueden ser llamados desde fuera del monitor.<br />COLA DE ENTRADA: <br />Contiene a los threads que han llamado a algún procedimiento del monitor pero no han podido adquirir permiso para ejecutarlos aún.<br />EXCLUSIÓN MUTUA EN UN MONITOR: <br />Los monitores están pensados para ser usados en entornos multiproceso o multihilo, y por lo tanto muchos procesos o threads pueden llamar a la vez a un procedimiento del monitor. <br />Los monitores garantizan que en cualquier momento, a lo sumo un thread puede estar ejecutando dentro de un monitor, significa que sólo un thread estará en estado de ejecución mientras dura la llamada a un procedimiento del monitor. <br />El problema de que dos threads ejecuten un mismo procedimiento dentro del monitor es que se pueden dar condiciones de carrera, perjudicando el resultado de los cálculos. <br />Para evitar esto y garantizar la integridad de los datos privados, el monitor hace cumplir la exclusión mutua implícitamente, de modo que sólo un procedimiento esté siendo ejecutado a la vez. <br />De esta forma, si un thread llama a un procedimiento mientras otro thread está dentro del monitor, se bloqueará y esperará en la cola de entrada hasta que el monitor quede nuevamente libre.<br />Para que resulten útiles en un entorno de concurrencia, los monitores deben incluir algún tipo de forma de sincronización. Por ejemplo, supóngase un thread que está dentro del monitor y necesita que se cumpla una condición para poder continuar la ejecución. <br />En ese caso, se debe contar con un mecanismo de bloqueo del thread, a la vez que se debe liberar el monitor para ser usado por otro hilo. <br />Más tarde, cuando la condición permita al thread bloqueado continuar ejecutando, debe poder ingresar en el monitor en el mismo lugar donde fue suspendido. Para esto los monitores poseen variables de condición que son accesibles sólo desde adentro. <br />EXISTEN DOS FUNCIONES PARA OPERAR CON LAS VARIABLES DE CONDICIÓN:<br />cond_wait(c): <br />Suspende la ejecución del proceso que la llama con la condición c. El monitor se convierte en el dueño del lock y queda disponible para que otro proceso pueda entrar.<br />cond_signal(c): <br />Reanuda la ejecución de algún proceso suspendido con cond_wait bajo la misma condición. Si hay varios procesos con esas características elige uno. Si no hay ninguno, no hace nada.<br />Al contrario que los semáforos, la llamada a cond_signal(c) se pierde si no hay tareas esperando en la variable de condición c. <br />Las variables de condición indican eventos, y no poseen ningún valor.<br />Si otro thread provoca un evento, simplemente utiliza la función cond_signal con esa condición como parámetro. <br />De este modo, cada variable de condición tiene una cola asociada para los threads que están esperando que ocurra el evento correspondiente.<br />CARACTERÍSTICAS:<br />• Es un proceso que se encarga de verificar el funcionamiento de algún recurso garantizando la exclusión mutua (mutex).<br />• En un monitor los procesos se bloquean y desbloquean.<br />• Pueden existir diversas implementaciones no estandarizadas de un monitor.<br />• En Java los monitores están implementados de manera nativa con el modificador de los métodos syncronized.<br />• El monitor es el mecanismo que nos permite controlar el acceso a una región crítica, en este caso un método. También se puede utilizar semáforos como objetos mutex disponibles en el paquete java.util.concurrent.*<br />2.4.3 INTERBLOQUEO (DEADLOCK).<br />DEFINICION:<br />UN CONJUNTO DE PROCESOS SE ENCUENTRA EN ESTADO DE INTERBLOQUEO CUANDO CADA UNO DE ELLOS ESPERA UN SUCESO QUE SÓLO PUEDE ORIGINAR OTRO PROCESO DEL MISMO CONJUNTO<br />RECURSOS<br />Un sistema se compone de un número finito de recursos que se distribuyen entre varios procesos que compiten por ellos.<br />• Recursos<br />– Físicos<br />– Lógicos<br />– expropiables<br />– no expropiables<br />• Modo de operación:<br />– Solicitud<br />– Utilización<br />– Liberación<br />Llamadas al sistema<br />CONDICIONES PARA QUE SE PRODUZCA<br />INTERBLOQUEO<br />• Puede surgir si y sólo si en un sistema se presentan simultáneamente las condiciones:<br />– Exclusión mutua.<br />– Retención y espera<br />– No expropiación<br />– Espera circular<br />• No son completamente independientes<br />MODELADO DEL INTERBLOQUEO<br />• Los interbloqueos pueden describirse utilizando un grafo dirigido y bipartito G(N,A) llamado grafo de asignación de recursos<br />• Que consta en un conjunto de N nodos (vértices) y E arcos.<br />• 2 tipos de nodos<br />• 2 tipos de arcos<br />• Arco de solicitud. Es un arco que parte de un proceso Pi hacia un tipo de recurso Rj y se representa por Pi -> Rj (o (Pi, Rj)). Significa que el proceso Pi solicitó una instancia del recurso Rj y se encuentra esperándolo.<br />• Arco de asignación. Es un arco que sale de un tipo de recurso Rj y se dirige a un proceso Pi (representado por Rj -> Pi o (Rj, Pi)). Significa que se ha asignado un ejemplar del tipo de recurso Rj al proceso Pi.<br />• Gráficamente, se representa cada proceso con un círculo y cada tipo de recurso con un rectángulo.<br />• Si de algún tipo de recurso existe más de un ejemplar, se representa cada uno con un punto dentro del rectángulo.<br />• Un arco de solicitud parte entonces de un círculo y apunta a un rectángulo.<br />• Un arco de asignación parte desde un punto dentro del rectángulo y señala hacia un círculo.<br />Estados de los procesos:<br />El proceso P1 tiene asignado un recurso de tipo R2, y espera un recurso de tipo R1.<br />El proceso P2 tiene asignado un recurso de tipo R1 y otro de tipo R2, y espera un recurso de tipo R3.<br />El proceso P3 tiene asignado un recurso de tipo R3.<br />• Si el grafo de asignación de recursos no contiene ciclos, entonces ningún proceso del sistema se encuentra en interbloqueo.<br />• Si existe un ciclo, puede haber interbloqueo.<br />La presencia de un ciclo es condición necesaria pero<br />no suficiente para la existencia de interbloqueo.<br />• Si de cada tipo de recurso existe un único ejemplar, entonces la presencia de un ciclo determina que existe interbloqueo.<br />En este caso la existencia de un ciclo<br />si es condición necesaria y suficiente<br />para la existencia de interbloqueo.<br />GRAFO DE ASIGNACIÓN DE RECURSOS<br />GRAFO DE ASIGNACIÓN DE RECURSOS CON INTERBLOQUEO<br />2.5 Niveles, objetivos  y criterios de planificación.<br />Objetivos de planificación: El principal objetivo de la planificación es repartir el tiempo del procesador de forma que se optimicen algunos puntos del comportamiento del sistema. Generalmente se fija un conjunto de criterios con los que evaluar las diversas estrategias de planificación.<br />Criterios<br />El criterio más empleado establece dos clasificaciones. En primer lugar, se puede hacer una distinción entre los criterios orientados a los usuarios y los orientados al sistema. <br />CRITERIO ORIENTADO AL USUARIO:<br />Los criterios orientados al usuario se refieren al comportamiento del sistema tal y como lo perciben los usuarios o los procesos<br />CRITERIO ORIENTADO AL SISTEMA:<br />orientados al sistema, esto es, se centran en el uso efectivo y eficiente del procesador. Un ejemplo puede ser la productividad, es decir, el ritmo con el que los procesos terminan. La productividad es una medida muy válida del rendimiento de un sistema y que sería deseable maximizar.<br />Planificación a largo plazo.<br />Este planificador está presente en algunos sistemas que admiten además de procesos interactivos trabajos por lotes. <br />Usualmente , se les asigna una prioridad baja a los trabajos por lotes, utilizándose estos para mantener ocupados a los recursos del sistema durante períodos de baja actividad de los procesos interactivos. <br />Planificación a Medio Plazo<br />En los sistemas de multiprogramación y tiempo compartido varios procesos residen en la memoria principal.<br />El tamaño limitado de ésta hace que el número de procesos que residen en ella sea finito. Puede ocurrir que todos los procesos en memoria estén bloqueados, desperdiciándose así la CPU. <br />Planificación a corto plazo.<br />Se encarga de pasar de un proceso a otro en memoria principal. Determinando a cuál proceso listo se le asignará el CPU cuando éste se encuentra disponible. O Determina a qué proceso listo se le asigna la CPU cuando esta queda disponible y asigna la CPU al mismo, es decir que “despacha” la CPU al proceso.<br />2.6 TÉCNICAS DE ADMINISTRACIÓN  DEL PLANIFICADOR<br />FIFO: <br />Definición<br />Una cola es una estructura de datos de acceso restrictivo a sus elementos. Un ejemplo sencillo es la cola del cine o del autobús, el primero que llegue será el primero en entrar.<br />Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.<br />USOS CONCRETOS DEL FIFO<br />La particularidad de una estructura de datos de cola es el hecho de que sólo podemos acceder al primer y al último elemento de la estructura. Así mismo, los elementos sólo se pueden eliminar por el principio y sólo se pueden añadir por el final de la cola.<br />Ejemplos de colas en la vida real serían: personas comprando en un supermercado, esperando para entrar a ver un partido de béisbol, esperando en el cine para ver una película, una pequeña peluquería, etc. La idea esencial es que son todas líneas de espera.<br />El algoritmo de “Primero el trabajo mas corto” (SJF, Shortest Job First), que asocia a cada proceso la longitud de la siguiente rafaga de CPU de ese proceso. Cuando la CPU queda disponible se asigna el proceso cuya siguiente rafaga de CPU sea mas corta. Si hay dos procesos cuyas siguientes ráfagas de CPU tienen la misma duración, se emplea planificación FCFS (first come, first served) para romper el empate.<br />1.- No expropiador: Una vez que se asinga el procesador a un proceso no se le podra quitar <br />2.- Expropiador: Si un nuevo proceso parece en la lista de procesos listos con menor CPU-BURTS, se le quita la CPU para asignarla el nuevo proceso<br />VENTAJAS:El tiempo de espera será mucho menor, pues mientras los procesos de tiempo inferior terminan y ocupan tiempo en operaciones de E/SFácil implementación<br />PRIORIDADES:<br /> A cada proceso se le asigna un numero entero que representa su prioridad El planificador asigna el procesador al proceso con la mas alta prioridadSJF se puede ver como un algoritmo de prioridad, donde la prioridad está dada por el próximo CPU-BURSTEs adecuado para sistemas interactivos<br />Planificación de Asignación en Rueda (RR: Round Robin).<br />Los procesos se despachan en “FIFO” y disponen de una cantidad limitada de tiempo de cpu, llamada “división de tiempo” o “cuanto”. <br />Cada proceso tiene asignado un intervalo de tiempo de ejecución, llamado cuantum o cuanto. Si el proceso agota su cuantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se bloquea o termina antes de agotar su cuantum también se alterna el uso de la CPU. <br />El round robin es muy fácil de implementar. Todo lo que necesita el planificador es mantener una lista de los procesos listos. <br />Si un proceso no termina antes de expirar su tiempo de cpu ocurren las siguientes acciones: <br />La cpu es apropiada. <br />La cpu es otorgada al siguiente proceso en espera. <br />El proceso apropiado es situado al final de la lista de listos. <br />Es efectiva en ambientes de tiempo compartido. <br />La sobrecarga de la apropiación se mantiene baja mediante mecanismos eficientes de intercambio de contexto y con suficiente memoria principal para los procesos. <br />MULTI LEVEL FEED BACK QUEVES. (múltiples colas de realimentación).<br />DEFINICION*ES UN ALGORITMO DE PLANIFICACION QUE PERMITE A UN PROCESO MOVERSE ENTRE VARIAS COLAS CON DIFERENTES PRIORIDADES CADA UNA.* es un algoritmo de programación capaz de mover procesos usando unas estructuras de datos denominadas “COLAS”. Es usada para manejar procesos y asociarles una diferente prioridad para cada cola.<br />FUNCIONAMIENTO:<br />CLASIFICA LOS PROCESOS EN DIFERENTES GRUPOS O COLAS, CON LA FINALIDAD DE GESTIONAR LOS RECURSOS DE LA MANERA QUE CADA PROCESO NECESITA , YA SEA POR EL TAMAÑO DE MEMORIA, LA PRIORIDAD DEL PROCESO  O  EL TIPO DE PROCESO.<br />EL ALGORITMO ESCOGE EL PROCESO CON LA MÁS GRANDE PRIORIDAD QUE SE ENCUENTRA EN LA COLA Y LO CORRE DE MANERA PREVENTIVA. SI EL PROCESO OCUPA DEMASIADO TIEMPO DEL CPU ES MOVIDO A UNA COLA DE BAJA PRIORIDAD Y VICEVERSA, ASÍ COMO TAMBIÉN SEPARA LOS PROCESOS EN FUNCIÓN DE CARACTERÍSTICAS PARA EVITAR QUE LOS PROCESOS SE ADUEÑEN DEL CPU YA QUE TIENE UN MECANISMO DE ENVEJECIMIENTO QUE EVITA EL BLOQUEO INDEFINIDO.<br />EJEMPLO:<br />SE TIENE EL GRUPO DE PROCESOS FOREGROUND (INTERACTIVOS, PRIORITARIO O DE PRIMER PLANO) Y BACKGROUND (BATCH, PROCESOS O RUTINAS DE EJECUCIÓN QUE SE REALIZAN EN SEGUNDO PLANO.), QUE NECESITAN DIFERENTES TIEMPOS DE RESPUESTA. CADA UNO DE ELLOS ESTARÁ GESTIONADO EN UNA COLA DISTINTA CON UN ALGORITMO DE PLANIFICACIÓN DISTINTO, POR EJEMPLO LA COLA DE PROCESOS FOREGROUND CON ROUND ROBIN ,Y LA DE PROCESOS BACKGROUND CON FCFS.<br />OBJETIVO: <br />CUMPLIR CON LOS REQUISITOS DE DISEÑO, QUE SON  MEJORAR  EL REQUERIMIENTO A LOS PROCESOS , Y ATENDER A TODOS LOS PROCESOS DE LA MANERA QUE ESTOS NECESITEN.<br />CARACTERISTICAS DEL FEEDBACK<br />EL NÚMERO DE COLAS.<br />EL ALGORITMO DE PLANIFICACIÓN DE CADA COLA.<br />EL ALGORITMO DE PLANIFICACIÓN ENTRE LAS DISTINTAS COLAS.<br />EL MÉTODO USADO PARA DETERMINAR EN QUÉ COLA SE INTRODUCIRÁ UN PROCESO CUANDO HAYA QUE DARLE SERVICIO.<br />CONCLUSION:<br />ES UN ALGORITMO COMPLEJO YA QUE DEFINE UN PLANIFICADOR QUE DEBE DE VER LAS PROPIEDADES DE UN PROCESO PARA REALIZAR LA CORRECTA GESTION DE LOS RECURSOS DEL SISTEMA.<br />
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS
UNIDAD II SISTEMAS OPERATIVOS

Más contenido relacionado

La actualidad más candente

Unidad 2 sistemas operativos 2011
Unidad 2  sistemas operativos 2011Unidad 2  sistemas operativos 2011
Unidad 2 sistemas operativos 2011Abimael hernandez
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1honeyjimenez
 
Sistemas operativos 2 unidad
Sistemas operativos 2 unidadSistemas operativos 2 unidad
Sistemas operativos 2 unidadBenja villasente
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativosDeivis Romero
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De ProcesosJessica Suarez
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesosjulio izaguirre
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosLlabajo Baez
 
Sistemas operativos 2 da unidad
Sistemas operativos 2 da unidadSistemas operativos 2 da unidad
Sistemas operativos 2 da unidadJHOVANI189612GAZGA
 
Presentación1
Presentación1Presentación1
Presentación1janet290
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativosDaniel Vargas
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSlorenapardo
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUPTM
 
Estados y transiciones de un proceso
Estados y transiciones de un procesoEstados y transiciones de un proceso
Estados y transiciones de un procesoJHOVANI189612GAZGA
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De ProcesosAcristyM
 

La actualidad más candente (20)

Unidad 2 sistemas operativos 2011
Unidad 2  sistemas operativos 2011Unidad 2  sistemas operativos 2011
Unidad 2 sistemas operativos 2011
 
Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1Unidad 2 sist. oper. 1
Unidad 2 sist. oper. 1
 
Sistemas operativos 2 unidad
Sistemas operativos 2 unidadSistemas operativos 2 unidad
Sistemas operativos 2 unidad
 
Proceso
ProcesoProceso
Proceso
 
Procesos de los sistemas operativos
Procesos de los sistemas operativosProcesos de los sistemas operativos
Procesos de los sistemas operativos
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOSSISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Ejemplo Pdf
Ejemplo PdfEjemplo Pdf
Ejemplo Pdf
 
Procesos de los Sistemas Operativos
Procesos de los Sistemas OperativosProcesos de los Sistemas Operativos
Procesos de los Sistemas Operativos
 
Sistemas operativos 2 da unidad
Sistemas operativos 2 da unidadSistemas operativos 2 da unidad
Sistemas operativos 2 da unidad
 
Presentación1
Presentación1Presentación1
Presentación1
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 
SICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOSSICRONIZACION DE PROCESOS
SICRONIZACION DE PROCESOS
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
 
Sistemas operativos; procesos
Sistemas operativos; procesosSistemas operativos; procesos
Sistemas operativos; procesos
 
Estados y transiciones de un proceso
Estados y transiciones de un procesoEstados y transiciones de un proceso
Estados y transiciones de un proceso
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 

Similar a UNIDAD II SISTEMAS OPERATIVOS

Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativosfvaldivieso
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos Cristhian Rosales
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosCESAR
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesadorMiguel Joshua Godinez Barbosa
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosGUADALUPE
 
Ud Procesos
Ud  ProcesosUd  Procesos
Ud Procesosnaxoglez
 
Conceptos Basicos De Sistemas Operativos
Conceptos Basicos De Sistemas OperativosConceptos Basicos De Sistemas Operativos
Conceptos Basicos De Sistemas OperativosDBSEII
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De ProcesosAcristyM
 
Expocontrolcalidad
ExpocontrolcalidadExpocontrolcalidad
ExpocontrolcalidadLenin Lucano
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosAbimael hernandez
 

Similar a UNIDAD II SISTEMAS OPERATIVOS (20)

S..O. Unidad 2
S..O. Unidad 2S..O. Unidad 2
S..O. Unidad 2
 
Conceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas OperativosConceptos Básicos de Sistemas Operativos
Conceptos Básicos de Sistemas Operativos
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Tarea3 fernando lopez
Tarea3   fernando lopezTarea3   fernando lopez
Tarea3 fernando lopez
 
Portafolio 2
Portafolio 2Portafolio 2
Portafolio 2
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador104842258 unidad-2-administracion-de-procesos-del-procesador
104842258 unidad-2-administracion-de-procesos-del-procesador
 
Sistema opertivo
Sistema opertivoSistema opertivo
Sistema opertivo
 
Unidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De ProcesosUnidad 2 AdministracióN De Procesos
Unidad 2 AdministracióN De Procesos
 
Ud Procesos
Ud  ProcesosUd  Procesos
Ud Procesos
 
Conceptos Basicos De Sistemas Operativos
Conceptos Basicos De Sistemas OperativosConceptos Basicos De Sistemas Operativos
Conceptos Basicos De Sistemas Operativos
 
Unidad2
Unidad2Unidad2
Unidad2
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
So 2
So 2So 2
So 2
 
Expocontrolcalidad
ExpocontrolcalidadExpocontrolcalidad
Expocontrolcalidad
 
Procesos_so
Procesos_soProcesos_so
Procesos_so
 
Mecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmosMecanismos de exclusion mutua y algoritmos
Mecanismos de exclusion mutua y algoritmos
 

Último

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 

Último (19)

ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 

UNIDAD II SISTEMAS OPERATIVOS

  • 1. Proceso: La forma más general de definir un proceso es como un programa en ejecución que desencadena una serie de instrucciones a trabajar. ABCD<br />Diferencia entre proceso y programa Mientras que un programa se encuentra en modo pasivo, el proceso trabaja en modo activo.<br />Por ejemplo: Microsoft Word al estar guardado en disco duro, no tiene alguna interacción con el procesador. En cambio cuando hacemos clic el menú de inicio de Windows, convertirnos en proceso aquel programa.<br />Gestionamiento de los procesos<br />Losprocesossongestionadosporelsistemaoperativoyestaconstituidosdelasiguienteestructura:<br />Estructura de un proceso<br />Estados de un proceso: Un proceso pasa de un estado a otro desde su creación hasta su destrucción, <br />Los estados por los cuales puede pasar un proceso son los siguientes:<br />Nuevo<br />•Cuando el proceso se está creando.<br />Ejecución<br />•Es cuando se están ejecutando instrucciones.<br />Espera<br />•Es cuando el proceso está esperando que ocurra un evento.<br />Listo<br />•Es cuando un proceso está a la espera de ser asignado a un procesador.<br />Terminado<br />•Es cuando el proceso ha terminado su ejecución.<br />Transiciones de estados<br />Cuando un proceso se crea, pasa a la cola de procesos listos. Se dice que existe una transición de estado cuando un proceso cambia de un estado a otro.<br />Estos estados de transición son los siguientes:<br />Transición: Nuevo –Listo.<br />Este estado indica que a un proceso recién creado se le permite competir por los recursos del CPU.<br />Transición: Listo –Ejecución.<br />Es cuando a un proceso tiene la CPU a su disposición, aquí se encuentra en ejecución.<br />Transición: Ejecución-Listo<br />Es cuando a un proceso se le expira el intervalo de tiempo asignado para estar en ejecución aquí existe un cambio de transición:<br />Ejecución –Bloqueado<br />Esta transición sucede cuando un proceso realiza una operación de Entrada/Salida antes de que termine su tiempo de ejecución. El proceso abandona la CPU y se bloquea asimismo.<br />Bloqueado –Listo<br />Ocurre cuando se acaba una operación de Entrada/Salida, terminando en el estado de Listo.<br />Ejecución –Terminado.<br />Esta transición ocurre cuando el proceso se ha terminado de ejecutar, y pasa a un estado de terminado.<br />Adueñándose del CPU.<br />Para prevenir que un proceso monopolice la CPU, el sistema operativo ajusta un reloj de interrupción de hardware para permitir al usuario ejecutar su proceso durante un intervalo de tiempo específico.<br />Bloque de control de procesos<br />La manifestación de un proceso en un sistema operativo es un bloque de control o de proceso. Este PCB representa una estructura de datos que contiene cierta información importante acerca del proceso.<br />Bloque de control de procesos.<br />La información que contiene este PCB es la siguiente:<br />-Estado actual del proceso.<br />-Id único del proceso.<br />-Prioridad del proceso.<br />-Apuntadores para localizar la memoria del proceso.<br />-Apuntadores para asignar recursos.<br />-Área de para preservar recursos.<br />Diagrama de estado de procesos.<br />2.4.2.1 MECANISMOS DE SEMÁFOROS<br />DEFINICION<br />Un mecanismo de semáforo es una variable protegida, cuyo valor sólo puede ser leído y alterado mediante las operaciones P y V, y una operación de asignación de valores iniciales e (Inicia semáforo). <br />Un mecanismo semáforo consta básicamente de dos operaciones primitivas señal (Signal) y espera (Wait) (Originalmente definidas como P y V por Disjkstra), que operan sobre un tipo especial de variable semáforo, “s”.<br />SIGNAL (s) : <br />Incrementa el valor de su argumento semáforo, s , en una operación indivisible.<br />WAIT (s) : <br />Decrementa el valor de su argumento semáforo , s , en tanto el resultado no sea negativo. <br />PROPIEDADES<br />pueden estar disponibles en un lenguaje de programación, como construcción del lenguaje, o como servicio del sistema operativo invocado mediante llamadas al sistema. <br />Los sistemas operativos diferencian a menudo entre semáforos contadores y semáforos binarios. El valor de un semáforo contador puede variar en un dominio no restringido, mientras que el valor de un semáforo binario solo puede ser 0 01. En algunos sistemas, los semáforos binarios se conocen como cerrojos mutex, ya que son cerrojos que proporcionan exclusión mutua<br />Los semáforos contadores se pueden usar para controlar el acceso a un determinado recurso formado por un numero finito de instancias. <br />Un semáforo cuya variable solo tiene permitido tomar los valores 0 (ocupado) y 1 (libre) se denomina Semáforo Binario. <br />IMPLEMENTACION DE SISTEMAS DE SEMAFOROS CON COLAS<br />La implementación de los semáforos con espera activa tienen dos importantes desventajas : el potencial aplazamiento indefinido y la baja eficiencia debido al consumo de ciclos de procesador por parte de procesos bloqueados. <br />2.4.2.2 MECANISMO DE MONITORES.<br />Los monitores son estructuras de datos utilizadas en lenguajes de programación para sincronizar dos o más procesos o hilos de ejecución que usan recursos compartidos.<br />En el estudio y uso de los semáforos se puede ver que las llamadas a las funciones necesarias para utilizarlos quedan repartidas en el código del programa, haciendo difícil corregir errores y asegurar el buen funcionamiento de los algoritmos. <br />Para evitar estos inconvenientes se desarrollaron los monitores. La estructura de los monitores se ha implementado en varios lenguajes de programación, incluido Pascal concurrente, Modula-2, Modula-3 y Java, y como biblioteca de programas.<br />COMPONENTES<br />INICIALIZACIÓN: <br />Contiene el código a ser ejecutado cuando el monitor es creado.<br />DATOS PRIVADOS: <br />Contiene los procedimientos privados, que sólo pueden ser usados desde dentro del monitor y no son visibles desde fuera.<br />PROCEDIMIENTOS DEL MONITOR: <br />Son los procedimientos que pueden ser llamados desde fuera del monitor.<br />COLA DE ENTRADA: <br />Contiene a los threads que han llamado a algún procedimiento del monitor pero no han podido adquirir permiso para ejecutarlos aún.<br />EXCLUSIÓN MUTUA EN UN MONITOR: <br />Los monitores están pensados para ser usados en entornos multiproceso o multihilo, y por lo tanto muchos procesos o threads pueden llamar a la vez a un procedimiento del monitor. <br />Los monitores garantizan que en cualquier momento, a lo sumo un thread puede estar ejecutando dentro de un monitor, significa que sólo un thread estará en estado de ejecución mientras dura la llamada a un procedimiento del monitor. <br />El problema de que dos threads ejecuten un mismo procedimiento dentro del monitor es que se pueden dar condiciones de carrera, perjudicando el resultado de los cálculos. <br />Para evitar esto y garantizar la integridad de los datos privados, el monitor hace cumplir la exclusión mutua implícitamente, de modo que sólo un procedimiento esté siendo ejecutado a la vez. <br />De esta forma, si un thread llama a un procedimiento mientras otro thread está dentro del monitor, se bloqueará y esperará en la cola de entrada hasta que el monitor quede nuevamente libre.<br />Para que resulten útiles en un entorno de concurrencia, los monitores deben incluir algún tipo de forma de sincronización. Por ejemplo, supóngase un thread que está dentro del monitor y necesita que se cumpla una condición para poder continuar la ejecución. <br />En ese caso, se debe contar con un mecanismo de bloqueo del thread, a la vez que se debe liberar el monitor para ser usado por otro hilo. <br />Más tarde, cuando la condición permita al thread bloqueado continuar ejecutando, debe poder ingresar en el monitor en el mismo lugar donde fue suspendido. Para esto los monitores poseen variables de condición que son accesibles sólo desde adentro. <br />EXISTEN DOS FUNCIONES PARA OPERAR CON LAS VARIABLES DE CONDICIÓN:<br />cond_wait(c): <br />Suspende la ejecución del proceso que la llama con la condición c. El monitor se convierte en el dueño del lock y queda disponible para que otro proceso pueda entrar.<br />cond_signal(c): <br />Reanuda la ejecución de algún proceso suspendido con cond_wait bajo la misma condición. Si hay varios procesos con esas características elige uno. Si no hay ninguno, no hace nada.<br />Al contrario que los semáforos, la llamada a cond_signal(c) se pierde si no hay tareas esperando en la variable de condición c. <br />Las variables de condición indican eventos, y no poseen ningún valor.<br />Si otro thread provoca un evento, simplemente utiliza la función cond_signal con esa condición como parámetro. <br />De este modo, cada variable de condición tiene una cola asociada para los threads que están esperando que ocurra el evento correspondiente.<br />CARACTERÍSTICAS:<br />• Es un proceso que se encarga de verificar el funcionamiento de algún recurso garantizando la exclusión mutua (mutex).<br />• En un monitor los procesos se bloquean y desbloquean.<br />• Pueden existir diversas implementaciones no estandarizadas de un monitor.<br />• En Java los monitores están implementados de manera nativa con el modificador de los métodos syncronized.<br />• El monitor es el mecanismo que nos permite controlar el acceso a una región crítica, en este caso un método. También se puede utilizar semáforos como objetos mutex disponibles en el paquete java.util.concurrent.*<br />2.4.3 INTERBLOQUEO (DEADLOCK).<br />DEFINICION:<br />UN CONJUNTO DE PROCESOS SE ENCUENTRA EN ESTADO DE INTERBLOQUEO CUANDO CADA UNO DE ELLOS ESPERA UN SUCESO QUE SÓLO PUEDE ORIGINAR OTRO PROCESO DEL MISMO CONJUNTO<br />RECURSOS<br />Un sistema se compone de un número finito de recursos que se distribuyen entre varios procesos que compiten por ellos.<br />• Recursos<br />– Físicos<br />– Lógicos<br />– expropiables<br />– no expropiables<br />• Modo de operación:<br />– Solicitud<br />– Utilización<br />– Liberación<br />Llamadas al sistema<br />CONDICIONES PARA QUE SE PRODUZCA<br />INTERBLOQUEO<br />• Puede surgir si y sólo si en un sistema se presentan simultáneamente las condiciones:<br />– Exclusión mutua.<br />– Retención y espera<br />– No expropiación<br />– Espera circular<br />• No son completamente independientes<br />MODELADO DEL INTERBLOQUEO<br />• Los interbloqueos pueden describirse utilizando un grafo dirigido y bipartito G(N,A) llamado grafo de asignación de recursos<br />• Que consta en un conjunto de N nodos (vértices) y E arcos.<br />• 2 tipos de nodos<br />• 2 tipos de arcos<br />• Arco de solicitud. Es un arco que parte de un proceso Pi hacia un tipo de recurso Rj y se representa por Pi -> Rj (o (Pi, Rj)). Significa que el proceso Pi solicitó una instancia del recurso Rj y se encuentra esperándolo.<br />• Arco de asignación. Es un arco que sale de un tipo de recurso Rj y se dirige a un proceso Pi (representado por Rj -> Pi o (Rj, Pi)). Significa que se ha asignado un ejemplar del tipo de recurso Rj al proceso Pi.<br />• Gráficamente, se representa cada proceso con un círculo y cada tipo de recurso con un rectángulo.<br />• Si de algún tipo de recurso existe más de un ejemplar, se representa cada uno con un punto dentro del rectángulo.<br />• Un arco de solicitud parte entonces de un círculo y apunta a un rectángulo.<br />• Un arco de asignación parte desde un punto dentro del rectángulo y señala hacia un círculo.<br />Estados de los procesos:<br />El proceso P1 tiene asignado un recurso de tipo R2, y espera un recurso de tipo R1.<br />El proceso P2 tiene asignado un recurso de tipo R1 y otro de tipo R2, y espera un recurso de tipo R3.<br />El proceso P3 tiene asignado un recurso de tipo R3.<br />• Si el grafo de asignación de recursos no contiene ciclos, entonces ningún proceso del sistema se encuentra en interbloqueo.<br />• Si existe un ciclo, puede haber interbloqueo.<br />La presencia de un ciclo es condición necesaria pero<br />no suficiente para la existencia de interbloqueo.<br />• Si de cada tipo de recurso existe un único ejemplar, entonces la presencia de un ciclo determina que existe interbloqueo.<br />En este caso la existencia de un ciclo<br />si es condición necesaria y suficiente<br />para la existencia de interbloqueo.<br />GRAFO DE ASIGNACIÓN DE RECURSOS<br />GRAFO DE ASIGNACIÓN DE RECURSOS CON INTERBLOQUEO<br />2.5 Niveles, objetivos y criterios de planificación.<br />Objetivos de planificación: El principal objetivo de la planificación es repartir el tiempo del procesador de forma que se optimicen algunos puntos del comportamiento del sistema. Generalmente se fija un conjunto de criterios con los que evaluar las diversas estrategias de planificación.<br />Criterios<br />El criterio más empleado establece dos clasificaciones. En primer lugar, se puede hacer una distinción entre los criterios orientados a los usuarios y los orientados al sistema. <br />CRITERIO ORIENTADO AL USUARIO:<br />Los criterios orientados al usuario se refieren al comportamiento del sistema tal y como lo perciben los usuarios o los procesos<br />CRITERIO ORIENTADO AL SISTEMA:<br />orientados al sistema, esto es, se centran en el uso efectivo y eficiente del procesador. Un ejemplo puede ser la productividad, es decir, el ritmo con el que los procesos terminan. La productividad es una medida muy válida del rendimiento de un sistema y que sería deseable maximizar.<br />Planificación a largo plazo.<br />Este planificador está presente en algunos sistemas que admiten además de procesos interactivos trabajos por lotes. <br />Usualmente , se les asigna una prioridad baja a los trabajos por lotes, utilizándose estos para mantener ocupados a los recursos del sistema durante períodos de baja actividad de los procesos interactivos. <br />Planificación a Medio Plazo<br />En los sistemas de multiprogramación y tiempo compartido varios procesos residen en la memoria principal.<br />El tamaño limitado de ésta hace que el número de procesos que residen en ella sea finito. Puede ocurrir que todos los procesos en memoria estén bloqueados, desperdiciándose así la CPU. <br />Planificación a corto plazo.<br />Se encarga de pasar de un proceso a otro en memoria principal. Determinando a cuál proceso listo se le asignará el CPU cuando éste se encuentra disponible. O Determina a qué proceso listo se le asigna la CPU cuando esta queda disponible y asigna la CPU al mismo, es decir que “despacha” la CPU al proceso.<br />2.6 TÉCNICAS DE ADMINISTRACIÓN DEL PLANIFICADOR<br />FIFO: <br />Definición<br />Una cola es una estructura de datos de acceso restrictivo a sus elementos. Un ejemplo sencillo es la cola del cine o del autobús, el primero que llegue será el primero en entrar.<br />Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.<br />USOS CONCRETOS DEL FIFO<br />La particularidad de una estructura de datos de cola es el hecho de que sólo podemos acceder al primer y al último elemento de la estructura. Así mismo, los elementos sólo se pueden eliminar por el principio y sólo se pueden añadir por el final de la cola.<br />Ejemplos de colas en la vida real serían: personas comprando en un supermercado, esperando para entrar a ver un partido de béisbol, esperando en el cine para ver una película, una pequeña peluquería, etc. La idea esencial es que son todas líneas de espera.<br />El algoritmo de “Primero el trabajo mas corto” (SJF, Shortest Job First), que asocia a cada proceso la longitud de la siguiente rafaga de CPU de ese proceso. Cuando la CPU queda disponible se asigna el proceso cuya siguiente rafaga de CPU sea mas corta. Si hay dos procesos cuyas siguientes ráfagas de CPU tienen la misma duración, se emplea planificación FCFS (first come, first served) para romper el empate.<br />1.- No expropiador: Una vez que se asinga el procesador a un proceso no se le podra quitar <br />2.- Expropiador: Si un nuevo proceso parece en la lista de procesos listos con menor CPU-BURTS, se le quita la CPU para asignarla el nuevo proceso<br />VENTAJAS:El tiempo de espera será mucho menor, pues mientras los procesos de tiempo inferior terminan y ocupan tiempo en operaciones de E/SFácil implementación<br />PRIORIDADES:<br /> A cada proceso se le asigna un numero entero que representa su prioridad El planificador asigna el procesador al proceso con la mas alta prioridadSJF se puede ver como un algoritmo de prioridad, donde la prioridad está dada por el próximo CPU-BURSTEs adecuado para sistemas interactivos<br />Planificación de Asignación en Rueda (RR: Round Robin).<br />Los procesos se despachan en “FIFO” y disponen de una cantidad limitada de tiempo de cpu, llamada “división de tiempo” o “cuanto”. <br />Cada proceso tiene asignado un intervalo de tiempo de ejecución, llamado cuantum o cuanto. Si el proceso agota su cuantum de tiempo, se elige a otro proceso para ocupar la CPU. Si el proceso se bloquea o termina antes de agotar su cuantum también se alterna el uso de la CPU. <br />El round robin es muy fácil de implementar. Todo lo que necesita el planificador es mantener una lista de los procesos listos. <br />Si un proceso no termina antes de expirar su tiempo de cpu ocurren las siguientes acciones: <br />La cpu es apropiada. <br />La cpu es otorgada al siguiente proceso en espera. <br />El proceso apropiado es situado al final de la lista de listos. <br />Es efectiva en ambientes de tiempo compartido. <br />La sobrecarga de la apropiación se mantiene baja mediante mecanismos eficientes de intercambio de contexto y con suficiente memoria principal para los procesos. <br />MULTI LEVEL FEED BACK QUEVES. (múltiples colas de realimentación).<br />DEFINICION*ES UN ALGORITMO DE PLANIFICACION QUE PERMITE A UN PROCESO MOVERSE ENTRE VARIAS COLAS CON DIFERENTES PRIORIDADES CADA UNA.* es un algoritmo de programación capaz de mover procesos usando unas estructuras de datos denominadas “COLAS”. Es usada para manejar procesos y asociarles una diferente prioridad para cada cola.<br />FUNCIONAMIENTO:<br />CLASIFICA LOS PROCESOS EN DIFERENTES GRUPOS O COLAS, CON LA FINALIDAD DE GESTIONAR LOS RECURSOS DE LA MANERA QUE CADA PROCESO NECESITA , YA SEA POR EL TAMAÑO DE MEMORIA, LA PRIORIDAD DEL PROCESO O EL TIPO DE PROCESO.<br />EL ALGORITMO ESCOGE EL PROCESO CON LA MÁS GRANDE PRIORIDAD QUE SE ENCUENTRA EN LA COLA Y LO CORRE DE MANERA PREVENTIVA. SI EL PROCESO OCUPA DEMASIADO TIEMPO DEL CPU ES MOVIDO A UNA COLA DE BAJA PRIORIDAD Y VICEVERSA, ASÍ COMO TAMBIÉN SEPARA LOS PROCESOS EN FUNCIÓN DE CARACTERÍSTICAS PARA EVITAR QUE LOS PROCESOS SE ADUEÑEN DEL CPU YA QUE TIENE UN MECANISMO DE ENVEJECIMIENTO QUE EVITA EL BLOQUEO INDEFINIDO.<br />EJEMPLO:<br />SE TIENE EL GRUPO DE PROCESOS FOREGROUND (INTERACTIVOS, PRIORITARIO O DE PRIMER PLANO) Y BACKGROUND (BATCH, PROCESOS O RUTINAS DE EJECUCIÓN QUE SE REALIZAN EN SEGUNDO PLANO.), QUE NECESITAN DIFERENTES TIEMPOS DE RESPUESTA. CADA UNO DE ELLOS ESTARÁ GESTIONADO EN UNA COLA DISTINTA CON UN ALGORITMO DE PLANIFICACIÓN DISTINTO, POR EJEMPLO LA COLA DE PROCESOS FOREGROUND CON ROUND ROBIN ,Y LA DE PROCESOS BACKGROUND CON FCFS.<br />OBJETIVO: <br />CUMPLIR CON LOS REQUISITOS DE DISEÑO, QUE SON MEJORAR EL REQUERIMIENTO A LOS PROCESOS , Y ATENDER A TODOS LOS PROCESOS DE LA MANERA QUE ESTOS NECESITEN.<br />CARACTERISTICAS DEL FEEDBACK<br />EL NÚMERO DE COLAS.<br />EL ALGORITMO DE PLANIFICACIÓN DE CADA COLA.<br />EL ALGORITMO DE PLANIFICACIÓN ENTRE LAS DISTINTAS COLAS.<br />EL MÉTODO USADO PARA DETERMINAR EN QUÉ COLA SE INTRODUCIRÁ UN PROCESO CUANDO HAYA QUE DARLE SERVICIO.<br />CONCLUSION:<br />ES UN ALGORITMO COMPLEJO YA QUE DEFINE UN PLANIFICADOR QUE DEBE DE VER LAS PROPIEDADES DE UN PROCESO PARA REALIZAR LA CORRECTA GESTION DE LOS RECURSOS DEL SISTEMA.<br />