1 / 31

TEMA 1: «GESTIÓN DE PROCESOS»

TEMA 1: «GESTIÓN DE PROCESOS». Administración de Sistemas Operativos. PROCESOS COMPONENTES DE LOS PROCESOS OPERACIONES CON PROCESOS CLASIFICACIÓN BLOQUE DE CONTROL DE PROCESOS ESTADOS DE UN PROCESO MODELOS DE ESTADOS HILOS PLANIFICACIÓN DE PROCESOS ALGORITMOS DE PLANIFICACIÓN

Download Presentation

TEMA 1: «GESTIÓN DE PROCESOS»

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TEMA 1: «GESTIÓN DE PROCESOS» Administración de Sistemas Operativos

  2. PROCESOS • COMPONENTES DE LOS PROCESOS • OPERACIONES CON PROCESOS • CLASIFICACIÓN • BLOQUE DE CONTROL DE PROCESOS • ESTADOS DE UN PROCESO • MODELOS DE ESTADOS • HILOS • PLANIFICACIÓN DE PROCESOS • ALGORITMOS DE PLANIFICACIÓN • CAMBIO DE CONTEXTO • CRITERIOS PARA ELEGIR UN ALGORITMO • PROCESOS EN EL SISTEMA OPERATIVO • PROCESOS EN LINUX • PROCESOS EN WINDOWS INDICE

  3. Un programa, en su versión ejecutable, es un conjunto de instrucciones máquina y datos almacenados en un fichero. En cuanto lo ponemos en ejecución lo convertimos en un proceso. • Si lo ejecutamos varias veces, estamos generando varios procesos del mismo programa (cada uno con su contador de programa, registros, variables) • Los procesos los gestiona el S.O. Los S.O. multitarea (Windows, Linux) permiten la ejecución simultánea de múltiples procesos. • La CPU se va repartiendo entre los diferentes procesos, de modo que todos ellos se vayan ejecutando en “tiempo compartido”. • Una ráfaga de CPU es una secuencia de instrucciones que puede ejecutar un proceso sin pasar a un estado de espera. La ejecución de un proceso consta de innumerables ráfagas de CPU. • Para observar y llevar el control de los procesos que se encuentran en ejecución en el sistema, Windows proporciona una herramienta denominada Administrador de tareas. Un proceso es un programa en ejecución. 1. PROCESOS

  4. Sus componente son: • Las instrucciones del programa asociado al proceso • El estado de ejecución del proceso • La memoria de trabajo del proceso (memoria reservada y contenidos • Otra información que permite al S.O. su planificación. • Los S.O. multihilo, un proceso consta de uno o más hilos, la memoria de trabajo y el estado de ejecución. 2. COMPONENTES DE LOS PROCESOS

  5. El S.O. se encarga de: • La creación de los procesos • Arranque del sistema. • Ejecución de una llamada al sistema para la creación de otro proceso • Petición de usuario para crear un proceso • Inicio de un trabajo por lotes. • La destrucción de los procesos • Salida normal (proceso acaba de forma voluntaria) • Salida por error (acaba por insuficiencia de datos: no existe el archivo solicitado) • Error fatal (divisiones por 0, memoria inaccesible) • Eliminación por otro proceso • La Comunicación entre procesos 3. OPERACIONES CON PROCESOS

  6. Cooperativos o independientes. • Cooperativos: dos o más procesos cooperan mediante señales de forma que uno obliga a detenerse a los otros hasta que reciban una señal para continuar (semáforos). Se mantiene una cola (first in firstout) de procesos en espera del semáforo. Por ejemplo, un programa de impresión produce caracteres que son usados por el controlador de la impresora • Independiente: no puede afectar ni ser afectados por otros procesos (no comparte datos con otros procesos) • Apropiativos o no apropiativos • Apropiativos: ocupan todo el tiempo del procesador hasta que deciden dejarlo por si mismos • No apropiativos: ocupan por un periodo de tiempo el procesador hasta que se produce un cambio de contexto. Cambio de contexto: interrupción o señal que llega al procesador para hacer el cambio de proceso. • Primer plano o segundo plano. • Primer plano:interactuan con el usuario. • Segundo plano: se crean para tareas bien definidas y no necesitan la intervención del usuario. También llamados demonios y en Windows servicios. 4. CLASIFICACIÓN

  7. En el S.O.: Un proceso se representa por: Un Bloque de Control del Proceso (PCB, Process Control Block). • Es un conjunto de registros que almacena información sobre el proceso: • Estado del proceso: Nuevo, Listo, en Ejecución, Bloqueado • Contador del programa: Dirección siguiente instrucción a ejecutar • Registros de la CPU: Contenidos al final de la ultima ejecución (contador de programa, puntero a pila, registros de datos, etc.) • Información planificación CPU: prioridad, apuntadores a las colas, algoritmo usado • Información contable y de identificación: Número de proceso, tiempo real y de CPU utilizado. • Información estado E/S: Solicitudes E/S pendientes, lista archivos abiertos, etc.. • Se utiliza para ejecutar procesos concurrentes: cuando hay un cambio de contexto 5. BLOQUE DE CONTROL DE PROCESOS

  8. 5. BLOQUE DE CONTROL DE PROCESOS

  9. Surgen de la necesidad de controlar la ejecución de cada proceso. • Obedecen a la participación y disponibilidad dentro del S.O. • Los procesadores solo pueden ejecutar un proceso a la vez. • Existen varios modelos: Modelo de 3 estados, Modelo de 5 estados, Modelo de 7 estados. 6. ESTADOS DE UN PROCESO

  10. Modelo de 3 estados • Ejecución: proceso que está haciendo uso del procesador • Bloqueado: proceso que no puede ejectuarse hasta que un evento externo sea llevado a cabo. • Listo: procesos que dispongan de todos los recursos para comenzar o proseguir su ejecución y a la espera de que se les conceda el control del procesador. 7. MODELO DE ESTADOS DE UN PROCESO

  11. 7. MODELO DE ESTADOS DE UN PROCESO

  12. Modelo de 5 estados • Nuevo: Primer estado. Su función principal es la de llevar la contabilidad de los procesos entrantes. • Ejecución: proceso que está haciendo uso del procesador • Bloqueado: proceso que no puede ejecutarse hasta que un evento externo sea llevado a cabo. • Listo: procesos que dispongan de todos los recursos para comenzar o proseguir su ejecución y a la espera de que se les conceda el control del procesador. • Terminado: Acaba el proceso y se liberan los recursos. Su función es llevar la contabilidad de los procesos que salen. 7. MODELO DE ESTADOS DE UN PROCESO

  13. 7. MODELO DE ESTADOS DE UN PROCESO

  14. Modelo de 7 estados • Nuevo: Primer estado. Su función principal es la de llevar la contabilidad de los procesos entrantes. • Ejecución: proceso que está haciendo uso del procesador • Bloqueado: proceso que no puede ejecutarse hasta que un evento externo sea llevado a cabo. • Listo: procesos que dispongan de todos los recursos para comenzar o proseguir su ejecución y a la espera de que se les conceda el control del procesador.. • Terminado: Acaba el proceso y se liberan los recursos. Su función es llevar la contabilidad de los procesos que salen. • Bloqueado suspendido y Listo suspendido que son los procesos que tardan mucho en ejecutarse y por esto se le da un tratamiento distinto para que no congestionen la entrada de nuevos procesos 7. MODELO DE ESTADOS DE UN PROCESO

  15. Modelo de 7 estados 7. MODELO DE ESTADOS DE UN PROCESO

  16. Unidad mínima de procesamiento que puede ser planificada por el S.O. • Un hilo es una tarea que puede ser ejecutada en paralelo con otra tarea. • Los hilos de un mismo proceso comparten los recursos asignados. Cuando un hilo modifica un dato en la memoria, los otros hilos del proceso acceden al dato modificado. • El proceso sigue en ejecución mientras al menos uno de los hilos esté ejecutándose. • Cuando todos los hilos terminan, el proceso finaliza y libera todos los recursos. • Es más rápido cambiar de un hilo a otro que de un proceso a otro. 8. HILOS

  17. Planificador: selecciona el proceso que va a ejecutarse. • Hay distintos planificadores que participan en diferentes momentos: • De largo plazo: elige entre la cola de listos, para cargarlo en memoria. • De corto plazo(CPU scheduler): elige entre los que están listos en memoria para darle la CPU • De medio plazo: selecciona un proceso de entre los que están en memoria para llevarlo temporariamente a memoria secundaria por necesidades de espacio • Activador: Es el que da el control de la CPU al proceso elegido por el planificador de corto plazo. 9. PLANIFICACIÓN DE PROCESOS

  18. Función: elegir a cual de los procesos que están en la cola de listos se le asignara la CPU. • FCFS (first-come, first-serve). Se le asigna la CPU al proceso que la requirió primero. Se maneja a través de una cola FIFO (First In FirstOut), tal que cuando un proceso requiere CPU, se coloca la final de la cola. Para asignarle CPU se elige el proceso cuya PCB esta primera en la cola. Ventaja: El código para implementar este algoritmos es simple y comprensible. Inconveniente: El tiempo promedio de espera puede ser largo. Atendiendo procesos mas cortos primero, aumentamos la productividad. 10. ALGORITMOS DE PLANIFICACIÓN

  19. Shortest-job-firstScheduling (SJF). Planificación primero el trabajo mas corto. Elige entre los procesos de la cola de listos, aquel que tenga la próxima ráfaga de CPU mas corta (dato previamente conocido). Ventaja: Permite que el tiempo de espera promedio sea bajo. Inconveniente: Se puede utilizar en planificadores de largo plazo, pero no en los de corto plazo pues no hay manera de conocer la medida de la próxima ráfaga (se podría aproximar considerando el valor de la previa) • Por prioridad.Se le asocia un valor a cada proceso que representa la prioridad, y se le asigna la CPU al proceso de la cola de listos que tenga la mayor prioridad. La prioridad puede ser fija o variable. Si es fija, ese valor no varia en el ciclo de vida del proceso. Si es variable, significa que ese valor puede cambiar dinámicamente de manera tal que haya factores (p.ej: tiempo de espera en colas) que sugieran elevar la prioridad de procesos postergados y evitar la inanición. 10. ALGORITMOS DE PLANIFICACIÓN

  20. Round-RobinScheduling (RR). Se la asigna a cada proceso de la cola de listos un intervalo de tiempo de CPU, quantum. La cola de listos se mantiene como una cola FIFO y la CPU se va asignando dándole un máximo de 1 quantum a cada proceso. Si el proceso no va a usar todo ese tiempo, usa lo necesario y libera la CPU. Se elige otro proceso de la cola. Si excede el quantum, se produce una interrupción. En ambos casos al dejar la CPU hay un cambio de contexto. Inconveniente: El tiempo promedio de espera puede ser largo. Depende fuertemente de la elección del quantum (mayor que el tiempo usado en un cambio de contexto). • Colas multinivel En un sistema puede haber requerimientos de tiempo de respuesta distintos si conviven proceso interactivos con procesos por lotes. Se divide la cola de listos en distintas colas según el tipo de proceso. Cada cola puede tener su algoritmo de planificación. 10. ALGORITMOS DE PLANIFICACIÓN

  21. Colas multinivel con retroalimentación. Un proceso puede moverse entre colas. Los procesos se separan de acuerdo a la ráfaga de CPU que usan. Si esta usando mucha CPU se lo baja a una cola de menor prioridad. Se trata de mantener los procesos interactivos y de mucha I/O en las colas de mayor prioridad. Si además un proceso estuvo demasiado tiempo en una cola de baja prioridad puede moverse a una cola de mayor prioridad para prevenir inanición. 10. ALGORITMOS DE PLANIFICACIÓN

  22. Cambio de contexto (cambio de proceso): Es el cambio del proceso en ejecución. • Requiere: • Guardar el estado del proceso que se estaba ejecutando (PCB). • Cargar el estado (PCB) guardado para el nuevo proceso que se ejecutará. • Su duración es un “gasto de tiempo” (típica de 1-100 microsegundos) y depende de: • La velocidad de la memoria. • El número de registros. • Existencia de instrucciones especiales (una sola instrucción • para cargar o almacenar todos los registros), Etc. 11. CAMBIO DE CONTEXTO

  23. Equidad: todos los procesos usan la CPU de forma equitativa. • Eficiencia(utilización de la CPU): 100% uso, es decir, no existan tiempos ociosos. • Tiempo de retorno (o de trabajo global): tiempo que tarda en ejecutarse un proceso concreto. • Tiempo de respuesta: minimizar el tiempo de respuesta para usuarios interactivos. • Tiempo de espera: tiempo que un proceso espera en la cola de procesos listos hasta entrar por primera vez en la CPU. • Rendimiento(productividad): número de trabajos procesados por unidad de tiempo 12. CRITERIOS PARA ELEGIR UN ALGORITMO

  24. Un sistema operativo multiusuario y multitarea • Tiene que ser capaz de atender múltiples tareas de diferentes usuarios (un programa no es un proceso hasta que no se ejecuta) • Es capaz de gestionar varios procesos de diferentes usuarios al mismo tiempo ( repartiendo el tiempo de CPU) • Asigna a cada proceso de ellos un identificador único (PID - número de identificación de proceso). • Almacena en una lista de procesos (BCP), con información relevante de cada proceso: el espacio de memoria asignado, estado actual, prioridad de ejecución, (PID), PID del proceso padre (PPID), usuario y grupo propietarios (UID, GID)... • Nos permite ver los procesos, terminarlos antes de que terminen por sí mismos y cambiar su prioridad. • El propietario de un proceso es el usuario que lo lanza ,y es quien (además de administrador/root) puede terminarlos. 13. GESTIÓN DE PROCESOS EN EL SISTEMA OPERATIVO

  25. Top: muestra los recursos usados por tu sistema (ver cual de ellos consume más). Htop ( “top” mejorado), no suele venir instalado en las distribuciones Linux. Más fácil de interpretar que top y además puedes realizar operaciones como parar un proceso usando las teclas. ps: muestra todos los procesos y además puedes realizar operaciones con ellos. Puedes enlazarlos con otros comandos usando tuberías. ps-A | grep firefox pstree: visualiza todos los procesos en forma de árbol para mostrar sus dependencias. Kill: Comando para matar o parar un proceso, funciona dando su ID. pgrep: Devuelve el ID del proceso que coincide con la búsqueda: pgrepfirefox Renice: cambia el valor “nice” de un proceso en ejecución. El valor “nice” determina la prioridad del proceso. Un valor de -19 es de muy alta prioridad, mientras que un valor 19 es de baja prioridad. Por defecto el valor es el 0. Necesita el PID del proceso: renice 19 PID 14. PROCESOS EN LINUX (COMANDOS)

  26. Monitor del sistema 14. PROCESOS EN LINUX (ENTORNO GRÁFICO)

  27. Los demonios son procesos del sistema que actúan sin que el usuario lo solicite(servicios en Windows) • Getty:Atiende las peticiones de login desde un terminal conectado en serie. • inetd: Como getty, pero para terminales en red (demonio de servicios de TCP/IP). • lpsched: Se encarga del sistema de impresión. • xinetd: Inicializa los servicios de red. • cups: Proporciona acceso a las impresoras. • init: Es el demonio más importante del sistema. • Muchos demonios (todos ellos hijos de init), se cargan en memoria en el arranque del sistema, la mayoría lanzados a través de los ficheros script del directorio /etc/rc.d, y permanecen a la espera de que ocurra algún evento para entrar en funcionamiento. Estos procesos no están asignados a ninguna terminal (en la columna TTY, correspondiente al comando ps, aparece un signo de interrogación). 14. PROCESOS EN LINUX (DEMONIOS)

  28. Administrador de tareas 15. PROCESOS EN WINDOWS (HERRAMIENTA GRÁFICA)

  29. Un servicio es un tipo de aplicación que se ejecuta en segundo plano en el sistema (demonio en Linux) • Pueden iniciarse automáticamente cuando el equipo arranca, se pueden pausar y reiniciar, y no muestran ninguna interfaz de usuario. • Los servicios proporcionan características del sistema operativo, tales como servicios web, registro de eventos, servicios de archivos, impresión, criptografía, informes de errores, ... 15. PROCESOS EN WINDOWS (SERVICIOS)

  30. Administrador de servicios • Los servicios también se pueden administrar desde el complemento Servicios de Microsoft Management Console. • Para configurar el inicio de un servicio, debemos ser miembros del grupo Operadores de cuentas, Administradores. Por seguridad, sería conveniente utilizar Ejecutar como para llevar a cabo este procedimiento. 15. PROCESOS EN WINDOWS (SERVICIOS)

  31. Administración de S.O. Ed: Garceta 17. BIBLIOGRAFÍA

More Related