TEMA 1: «GESTIÓN DE PROCESOS»

Slides:



Advertisements
Presentaciones similares
GESTION DE PROCESOS Procesos y tareas
Advertisements

SISTEMAS OPERATIVOS.
TEMA 1 Introducción a la Programación Concurrente
Administración de procesos Lic. Orlando Zamora Rdz.
Sistemas Operativos Administración del procesador.
Planificación de Monoprocesadores
I11 A y i 11 B Séptimo semestre.
III - Gestión de memoria
Planificador de Procesos
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Administración de procesos y del procesador.
Subsistemas De un Sistema Operativo Celeste Domínguez Romo
Uno de los conceptos mas importantes que gira entorno a un sistema operativo es el de proceso. Un proceso es un programa en ejecución junto con el entorno.
Sistemas Operativos Unidad II Procesos.
Introducción al software
Modelo de procesos de dos estados
INGENIERIA EN SOFTWARE y HARDWARE
Administración de procesos y del procesador.
HERRAMIENTAS INFORMATICAS
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Alejandro Ledezma Milanez Sonia Lizbeth Hernández Martinez Zaira Samara Chavez Hernandez Gilberto Saduj Castañeda Garcia.
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Un sistema operativo es un software, es decir, forma parte de la.
Administración del Procesador
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Sistemas Operativos Procesos.
Planificación de procesos
Profesor: Rodrigo Sanhueza Figueroa
Capítulo 6: Planificación del CPU – Parte a
SISTEMA OPERATIVO Un sistema operativo es un programa que actúa como intermediario entre el usuario y el hardware de un computador y su propósito es proporcionar.
EL SISTEMA OPERATIVO.
Hilos En La Computación. (THREADS).
Características de un sistema operativo
Planificación de Procesos
Teoría de Sistemas Operativos Departamento de Electrónica 2º Semestre, 2002 Gabriel Astudillo Muñoz
Introducción a los Sistemas Operativos
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
Gestión de procesos Sistemas Operativos Edwin Morales
Sistemas Operativos Tema 4
Introducción a Procesos.  Contexto de ejecución: Conjunto de variables y parámetros, que tiene independencia de otro procesos.  Contexto de E/S ◦ Descriptores.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Administrador de procesos
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Sistemas Distribuidos
Cuentas de usuarios y grupos en windows 2008 server
Sistemas Operativos Unidad III Procesos.
Estructura de los Sistemas Operativos
Un ordenador no puede funcionar sin sistema operativo.
Clasificación y estructura. Alejandra Rivero Esteban
comenzar Listo Ejecutando Terminado Bloqueado Un proceso ejecuta y solo abandona el control de la CPU cuando lanza E/S o termina. La cola de listos se.
Procesos ITS - Informática Sistemas Operativos II Javier Sellanes.
GESTIÓN DE PROCESOS.
Unidad 2 – Gestión de Procesos
Sistemas Operativos.
Por Luis Esteban Monsalve Martínez
LSI. Freddy Veloz Sistemas Operativos
INTERRUPCIONES – ABRAZO MORTAL
TEMA: PROCESOS y PLANIFICACIÓN
Licenciatura Tecnologías de la Información y Comunicación
Elementos y tipos de sistemas operativos
Funciones principales!
Sesión 8 Procesos.
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
TIPOS DE SISTEMAS OPERATIVOS.  Que es un sistema operativo??  Es el encargado de brindar al usuario una forma amigable y sencilla de operar, interpretar,
Planificación de uso del procesador Rina Arauz. Planificación de CPU 2 UNAN-Leon La ejecución de un trabajo se compone de secuencias de procesador y de.
Cristina Sánchez.  Linux y Windows son sistemas multiusos. Esto permite que varias personas puedan usar el mismo ordenador para realizar sus tareas.
SISTEMAS OPERATIVOS Contenido: Descripción del proceso proceso nulo estado del procesador imagen del proceso información del BCP Miguel Ángel Martínez.
Planificación de CPU Conceptos Básicos Criterios de Planificación Algoritmos de Planificación Planificación con Múltiples Procesadores Planificación Real-Time.
Transcripción de la presentación:

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

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

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.

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.

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

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.

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

5. BLOQUE DE CONTROL DE PROCESOS

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.

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.

7. MODELO DE ESTADOS DE UN PROCESO

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.

7. MODELO DE ESTADOS DE UN PROCESO

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

7. MODELO DE ESTADOS DE UN PROCESO

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.

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.

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.

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.

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.

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.

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 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.

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

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.

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

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

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).

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

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, ...

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.

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