UNIDAD 2 ADMINISTRACIÓN DE PROCESOS
2.1 DESCRIPCION Y CONTROL  DE  PROCESOS SISTEMAS OPERATIVOS
DESCRIPCIÓN DEL PROCESO Un proceso en UNIX es un conjunto más bien complejo de estructuras de datos que  proporcionan al sistema operativo toda la información necesaria para administrarlo y expandirlo.
CONTROL DEL PROCESO La creación de procesos en UNIX se hace por medio de la llamada  fork ( )  al núcleo del sistema.
2.2 DEFINICION DE PROCESO SISTEMAS OPERATIVOS
Un proceso es una instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, pila y datos,
2.3 ESTADOS DE PROCESOS SISTEMAS OPERATIVOS
El  proceso se esta creando. NUEVO (NEW)
Se están ejecutando instrucciones. EN EJECUCION (RUNNING)
El proceso esta esperando que ocurra algún suceso (como la terminación de una operación  de E/S o la recepción de una señal). EN ESPERA (WAITING):
El proceso esta esperando que se le asigne a un procesador. LISTO (READY)
El proceso  termino su ejecución. TERMINADO (TERMINATED)
2.4 CONTROL DE PROCESOS SISTEMAS OPERATIVOS
La mayoría de los procesadores dan soporte para dos modos de ejecución por lo menos. Ciertas instrucciones pueden ejecutarse sólo en modo privilegiado. Entre éstas están la lectura o modificación de registros de control, instrucciones primitivas de E/S e instrucciones relativas a la gestión de memoria. Además, se puede acceder a ciertas regiones de memoria sólo en el modo más privilegiado.
2.5 PROCESOS E HILOS
Un hilo es básicamente una tarea que puede ser ejecutada en paralelo con otra tarea. permiten dividir un programa en dos o mas tareas que corren simultáneamente, por medio de la multiprogramación.  Un hilo de ejecución, característica que permite a una  aplicación realizar varias tareas a la vez . Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc.
A-El proceso está en ejecución y necesita algún elemento para poder ejecutarse. Pasa de Ejecución a Bloqueado.  B-Es la que pasa del Estado de Ejecución a activo. A terminado su proceso y pasa a activo para dejar paso a otras aplicaciones.  C-La tarea que está en Activo pasa a estar en Ejecución.  D-El proceso pasa de estar bloqueado a estar activo porque ya tiene lo que necesita.
El proceso sigue en ejecución mientras al menos uno de sus hilos de ejecución siga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados.
Puede verse la concurrencia de procesos como la ejecución simultánea de varios procesos. Si tenemos un multiprocesador o un  sistema distribuido  la concurrencia parece clara, en un momento dado cada procesador ejecuta un proceso.
2.6 CONCURRENCIA EXCLUSIÓN MUTUA Y SINCRONIZACIÓN
En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.
La concurrencia puede presentarse en tres contextos diferentes: •   Múltiples aplicaciones : la multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas. •   Aplicaciones estructuradas : como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.
•   Estructura del sistema operativo: las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos o hilos.
2.7 PRINCIPIOS GENERALES DE LA CONCURRENCIA
En un sistema multiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.
2.8 EXCLUSIÓN MUTUA; SOLUCIÓN POR HARDWARE Y SOFTWARE
Podemos comprender que los botones de exclusión mutua son similares a los botones de activación excepto que se agrupan, de tal forma que sólo uno puede estar seleccionado/pulsado en un momento dado. Ejemplo de ello es para aquellos usuarios que necesita seleccionar un valor entre una pequeña lista de opciones.
2.9 SEMAFOROS
Un semáforo binario es un indicador de condición (S) que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: O y 1. Si, para un semáforo binario. S=1 entonces el recurso está disponible y la tarea lo puede utilizar; si S=0 el recurso no está disponible y el proceso debe esperar. = = 0 ó 1
Los semáforos sólo permiten tres operaciones sobre ellos:       Espera.       Señal.       Inicializar. wait (variable) begin    while (variable)>=0 do {esperar}    variable=variable-1 end signal (variable) begin    variable=variable+1 end
2.10 MONITORES
Un monitor es una estructura formada por una cabecera que los identifica, un conjunto de variables globales a todos los procedimientos del monitor, un conjunto de procedimientos y un bloque de inicialización, el cual se ejecuta una única vez, cuando se crea el monitor. {    nombre {   variables globales accesibles desde todos los procedimientos {   procedimiento A {   procedimiento B {    {   inicialización (solo se ejecuta una vez)
La intercalación y la superposición pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son consecuencia de la velocidad de ejecución de los procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades: Compartir recursos globales es riesgoso  Para el sistema operativo es difícil gestionar la asignación óptima de recursos.
2.11 PASO DE MENSAJES
Entiendo que Paso de Mensajes es un estándar que se establece para la comunicación entre los nodos que  se ejecutan en un programa. Son un conjunto de bibliotecas de rutinas que pueden ser utilizadas en programas escritos en los lenguajes de programación  C , C++, Fortran y Ada. Una de las ventajas es que los programas que utilizan estás bibliotecas son portables. Un ejemplo claro de paso de mensajes es como se hace con los semáforos, monitores, etc.
2.12 CONCURRENCIA E INTERBLOQUEO (DEADLOCK)
Interbloqueo.  Bloqueo permanente de un conjunto de procesos que juntos compiten por recursos del sistema o se comunican entre ellos. Se dice que dos procesos se encuentran en estado de deadlock (interbloqueo, bloqueo mutuo o abrazo mortal) cuando están esperando por condiciones que nunca se van a cumplir. Se podría hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están compitiendo por recursos del sistema.
La concurrencia comprende un gran número de cuestiones de diseño incluyendo la comunicación entre procesos, la compartición y competencia por los recursos, la sincronización de la ejecución de varios procesos y la asignación del procesador a los procesos.
2.13 PRINCIPIOS DEL INTERBLOQUEO
Tiene lugar cuando ninguno de los procesos que compiten por los recursos del sistema o interactúan entre si puede avanzar por carecer de algún recurso o esperar a que se produzca algún tipo de evento.
2.14  ACCIONES A REALIZAR ANTE UN INTERBLOQUEO PREVENCIÓN, DETECCIÓN, PREDICCIÓN Y EVITAR
La estrategia de prevención consiste, a grandes rasgos, en diseñar un sistema de manera que esté excluida a priori la posibilidad de interbloqueo. PREVENCIÓN DE INTERBLOQUEOS
DETECCIÓN DE INTERBLOQUEOS Las estrategias de detección de interbloqueos no limitan el acceso a los recursos ni restringen las acciones de los procesos como ocurría con las estrategias de prevención de interbloqueos, mediante las estrategias de detección de interbloqueos se concederán los recursos que los procesos necesitan siempre que sea posible.
PREDICCIÓN DE INTERBLOQUEO En la predicción de interbloqueo, se decide dinámicamente si la petición actual de un recurso podría, de concederse, llevar potencialmente a un interbloqueo. La predicción de interbloqueo necesita, por tanto, conocer las peticiones futuras de recursos.

Unidad 2 AdministracióN De Procesos

  • 1.
  • 2.
    2.1 DESCRIPCION YCONTROL DE PROCESOS SISTEMAS OPERATIVOS
  • 3.
    DESCRIPCIÓN DEL PROCESOUn proceso en UNIX es un conjunto más bien complejo de estructuras de datos que proporcionan al sistema operativo toda la información necesaria para administrarlo y expandirlo.
  • 4.
    CONTROL DEL PROCESOLa creación de procesos en UNIX se hace por medio de la llamada fork ( ) al núcleo del sistema.
  • 5.
    2.2 DEFINICION DEPROCESO SISTEMAS OPERATIVOS
  • 6.
    Un proceso esuna instancia de ejecución de un programa, caracterizado por su contador de programa, su palabra de estado, sus registros del procesador, su segmento de texto, pila y datos,
  • 7.
    2.3 ESTADOS DEPROCESOS SISTEMAS OPERATIVOS
  • 8.
    El procesose esta creando. NUEVO (NEW)
  • 9.
    Se están ejecutandoinstrucciones. EN EJECUCION (RUNNING)
  • 10.
    El proceso estaesperando que ocurra algún suceso (como la terminación de una operación de E/S o la recepción de una señal). EN ESPERA (WAITING):
  • 11.
    El proceso estaesperando que se le asigne a un procesador. LISTO (READY)
  • 12.
    El proceso termino su ejecución. TERMINADO (TERMINATED)
  • 13.
    2.4 CONTROL DEPROCESOS SISTEMAS OPERATIVOS
  • 14.
    La mayoría delos procesadores dan soporte para dos modos de ejecución por lo menos. Ciertas instrucciones pueden ejecutarse sólo en modo privilegiado. Entre éstas están la lectura o modificación de registros de control, instrucciones primitivas de E/S e instrucciones relativas a la gestión de memoria. Además, se puede acceder a ciertas regiones de memoria sólo en el modo más privilegiado.
  • 15.
  • 16.
    Un hilo esbásicamente una tarea que puede ser ejecutada en paralelo con otra tarea. permiten dividir un programa en dos o mas tareas que corren simultáneamente, por medio de la multiprogramación. Un hilo de ejecución, característica que permite a una aplicación realizar varias tareas a la vez . Los distintos hilos de ejecución comparten una serie de recursos tales como el espacio de memoria, los archivos abiertos, situación de autenticación, etc.
  • 17.
    A-El proceso estáen ejecución y necesita algún elemento para poder ejecutarse. Pasa de Ejecución a Bloqueado. B-Es la que pasa del Estado de Ejecución a activo. A terminado su proceso y pasa a activo para dejar paso a otras aplicaciones. C-La tarea que está en Activo pasa a estar en Ejecución. D-El proceso pasa de estar bloqueado a estar activo porque ya tiene lo que necesita.
  • 18.
    El proceso sigueen ejecución mientras al menos uno de sus hilos de ejecución siga activo. Cuando el proceso finaliza, todos sus hilos de ejecución también han terminado. Asimismo en el momento en el que todos los hilos de ejecución finalizan, el proceso no existe más y todos sus recursos son liberados.
  • 19.
    Puede verse laconcurrencia de procesos como la ejecución simultánea de varios procesos. Si tenemos un multiprocesador o un sistema distribuido la concurrencia parece clara, en un momento dado cada procesador ejecuta un proceso.
  • 20.
    2.6 CONCURRENCIA EXCLUSIÓNMUTUA Y SINCRONIZACIÓN
  • 21.
    En un sistemamultiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.
  • 22.
    La concurrencia puedepresentarse en tres contextos diferentes: • Múltiples aplicaciones : la multiprogramación se creó para permitir que el tiempo de procesador de la máquina fuese compartido dinámicamente entre varias aplicaciones activas. • Aplicaciones estructuradas : como ampliación de los principios del diseño modular y la programación estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos concurrentes.
  • 23.
    Estructura del sistema operativo: las mismas ventajas de estructuración son aplicables a los programadores de sistemas y se ha comprobado que algunos sistemas operativos están implementados como un conjunto de procesos o hilos.
  • 24.
    2.7 PRINCIPIOS GENERALESDE LA CONCURRENCIA
  • 25.
    En un sistemamultiprogramado con un único procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.
  • 26.
    2.8 EXCLUSIÓN MUTUA;SOLUCIÓN POR HARDWARE Y SOFTWARE
  • 27.
    Podemos comprender quelos botones de exclusión mutua son similares a los botones de activación excepto que se agrupan, de tal forma que sólo uno puede estar seleccionado/pulsado en un momento dado. Ejemplo de ello es para aquellos usuarios que necesita seleccionar un valor entre una pequeña lista de opciones.
  • 28.
  • 29.
    Un semáforo binarioes un indicador de condición (S) que registra si un recurso está disponible o no. Un semáforo binario sólo puede tomar dos valores: O y 1. Si, para un semáforo binario. S=1 entonces el recurso está disponible y la tarea lo puede utilizar; si S=0 el recurso no está disponible y el proceso debe esperar. = = 0 ó 1
  • 30.
    Los semáforos sólopermiten tres operaciones sobre ellos:       Espera.       Señal.       Inicializar. wait (variable) begin    while (variable)>=0 do {esperar}    variable=variable-1 end signal (variable) begin    variable=variable+1 end
  • 31.
  • 32.
    Un monitor esuna estructura formada por una cabecera que los identifica, un conjunto de variables globales a todos los procedimientos del monitor, un conjunto de procedimientos y un bloque de inicialización, el cual se ejecuta una única vez, cuando se crea el monitor. {    nombre {   variables globales accesibles desde todos los procedimientos {   procedimiento A {   procedimiento B {    {   inicialización (solo se ejecuta una vez)
  • 33.
    La intercalación yla superposición pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son consecuencia de la velocidad de ejecución de los procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades: Compartir recursos globales es riesgoso Para el sistema operativo es difícil gestionar la asignación óptima de recursos.
  • 34.
    2.11 PASO DEMENSAJES
  • 35.
    Entiendo que Pasode Mensajes es un estándar que se establece para la comunicación entre los nodos que se ejecutan en un programa. Son un conjunto de bibliotecas de rutinas que pueden ser utilizadas en programas escritos en los lenguajes de programación C , C++, Fortran y Ada. Una de las ventajas es que los programas que utilizan estás bibliotecas son portables. Un ejemplo claro de paso de mensajes es como se hace con los semáforos, monitores, etc.
  • 36.
    2.12 CONCURRENCIA EINTERBLOQUEO (DEADLOCK)
  • 37.
    Interbloqueo. Bloqueopermanente de un conjunto de procesos que juntos compiten por recursos del sistema o se comunican entre ellos. Se dice que dos procesos se encuentran en estado de deadlock (interbloqueo, bloqueo mutuo o abrazo mortal) cuando están esperando por condiciones que nunca se van a cumplir. Se podría hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están compitiendo por recursos del sistema.
  • 38.
    La concurrencia comprendeun gran número de cuestiones de diseño incluyendo la comunicación entre procesos, la compartición y competencia por los recursos, la sincronización de la ejecución de varios procesos y la asignación del procesador a los procesos.
  • 39.
    2.13 PRINCIPIOS DELINTERBLOQUEO
  • 40.
    Tiene lugar cuandoninguno de los procesos que compiten por los recursos del sistema o interactúan entre si puede avanzar por carecer de algún recurso o esperar a que se produzca algún tipo de evento.
  • 41.
    2.14 ACCIONESA REALIZAR ANTE UN INTERBLOQUEO PREVENCIÓN, DETECCIÓN, PREDICCIÓN Y EVITAR
  • 42.
    La estrategia deprevención consiste, a grandes rasgos, en diseñar un sistema de manera que esté excluida a priori la posibilidad de interbloqueo. PREVENCIÓN DE INTERBLOQUEOS
  • 43.
    DETECCIÓN DE INTERBLOQUEOSLas estrategias de detección de interbloqueos no limitan el acceso a los recursos ni restringen las acciones de los procesos como ocurría con las estrategias de prevención de interbloqueos, mediante las estrategias de detección de interbloqueos se concederán los recursos que los procesos necesitan siempre que sea posible.
  • 44.
    PREDICCIÓN DE INTERBLOQUEOEn la predicción de interbloqueo, se decide dinámicamente si la petición actual de un recurso podría, de concederse, llevar potencialmente a un interbloqueo. La predicción de interbloqueo necesita, por tanto, conocer las peticiones futuras de recursos.