La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

TEMA 1: «GESTIÓN DE PROCESOS»

Presentaciones similares


Presentación del tema: "TEMA 1: «GESTIÓN DE PROCESOS»"— Transcripción de la presentación:

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

2 INDICE 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

3 Un proceso es un programa en ejecución.
1. PROCESOS Un proceso es un programa en ejecución. 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.

4 2. COMPONENTES DE LOS PROCESOS
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.

5 3. OPERACIONES CON PROCESOS
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

6 4. CLASIFICACIÓN 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 first out) 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.

7 5. BLOQUE DE CONTROL DE PROCESOS
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

8 5. BLOQUE DE CONTROL DE PROCESOS

9 6. ESTADOS DE UN PROCESO 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.

10 7. MODELO DE ESTADOS DE UN PROCESO
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.

11 7. MODELO DE ESTADOS DE UN PROCESO

12 7. MODELO DE ESTADOS DE UN PROCESO
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.

13 7. MODELO DE ESTADOS DE UN PROCESO

14 7. MODELO DE ESTADOS DE UN PROCESO
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 PROCESOS SUSPENDIDOS.-Una de las razones para implementar el estado de bloqueado es poder hacer que los procesos se puedan mantener esperando algun suceso, por ejemplo una entrad/salida. sin embargo al ser mucho mas lentas es decir que todos los procesos en memoria esten esperando en estado BLOQUEADO y que no haya memoria dispononible para nuevos procesos se lleva a cabo moviendo una parte de un proceso o un proceso completo desde la memoria principal al disco quedando en el estado suspendido despues del intercambio se puede aceptar se puede aceptar un nuevo proceso o traer a la memoria un proceso suspendido anteriormente

15 7. MODELO DE ESTADOS DE UN PROCESO

16 Unidad mínima de procesamiento que puede ser planificada por el S.O.
8. HILOS 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.

17 9. PLANIFICACIÓN DE PROCESOS
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.

18 10. ALGORITMOS DE PLANIFICACIÓN
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 First Out), 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.

19 10. ALGORITMOS DE PLANIFICACIÓN
Shortest-job-first Scheduling (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.

20 10. ALGORITMOS DE PLANIFICACIÓN
Round-Robin Scheduling (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.

21 10. ALGORITMOS DE PLANIFICACIÓN
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.

22 11. CAMBIO DE CONTEXTO 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 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.

23 12. CRITERIOS PARA ELEGIR UN ALGORITMO
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

24 13. GESTIÓN DE PROCESOS EN EL SISTEMA OPERATIVO
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.

25 14. PROCESOS EN LINUX (COMANDOS)
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: pgrep firefox 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

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

27 14. PROCESOS EN LINUX (DEMONIOS)
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).

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

29 15. PROCESOS EN WINDOWS (SERVICIOS)
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, ...

30 15. PROCESOS EN WINDOWS (SERVICIOS)
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.

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


Descargar ppt "TEMA 1: «GESTIÓN DE PROCESOS»"

Presentaciones similares


Anuncios Google