Gestión de procesos - Carolina Muñoz

Page 1

GESTIÓN DE PROCESOS


¿Qué es la gestión de procesos? La Gestión por Procesos es la forma de gestionar toda la organización basándose en los Procesos. En tendiendo estos como una secuencia de actividades orientadas. Generar un valor añadido sobre una ENTRADA para conseguir un resultado, y una SALIDA que a su vez satisfaga los requerimientos del Cliente

¿Qué son


Los procesos Del sistema? Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por:  Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.  Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.  Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.  Otra información que permite al sistema operativo su planificación.


Estados del un proceso: El estado de un proceso es definido por la actividad corriente en que se encuentra. Los estados de un proceso son:  Nuevo: cuando el proceso es creado.  Ejecutado: el proceso tiene asignado un procesador y está ejecutando sus instrucciones  Bloqueado: el proceso está esperando por un evento (que se complete un pedido de E/S o una señal)  Listo: el proceso está listo para ejecutar, solo necesita del recurso procesador  Finalizado: el proceso finalizó su ejecución


Bloque de control de proceso Es un registro especial donde el sistema operativo agrupa toda la informaciรณn que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripciรณn en tiempo de ejecuciรณn durante toda la vida del proceso.


Elementos de información La información almacenada en un bloque de control de proceso incluye típicamente algunos o todos los campos siguientes:  Identificador del proceso (Process Identificator PID-, de sus siglas en inglés).  Estado del proceso. Por ej.: listo, en espera, bloqueado.  Contador de programa: dirección de la próxima instrucción a ejecutar.  Valores de registro de CPU. Se utilizan también en el cambio de contexto.  Espacio de direcciones de memoria.  Prioridad en caso de utilizarse dicho algoritmo para planificación de CPU.  Lista de recursos asignados (incluyendo descriptores de archivos y sockets abiertos).  Estadísticas del proceso.  Datos del propietario (owner).  Permisos asignados.

 Signals pendientes de ser servidos. (Almacenados en un mapa de bits).


Creación y Terminación de un Proceso Creación de procesos: los procesos se crean mediante una llamada al sistema de “crear proceso”, durante el curso de su ejecución se construye las estructuras de datos que son usadas para administrar los procesos y le asigna espacio de direcciones.

Los procesos pueden ser creados por:  El sistema operativo.  Por otro proceso (en este caso el proceso creador se denomina padre mientras que al proceso creado se le llama hijo).  Por las aplicaciones de usuario.  Por la entrada de un nuevo usuario al sistema. Terminación de un proceso: Un proceso termina cuando ejecuta su última instrucción y pide al sistema operativo que lo elimine. En este momento, el proceso puede devolver un valor de estado a su proceso padre.


¿Qué son las hebras, hilos y Thread? En sistemas operativos, un hilo de ejecución, hebra, subproceso o piolín es un hilo muy


pequeĂąo que puede ser planificado por un sistema operativo. Es propio de cada hilo el contador de programa, la pila de ejecuciĂłn y el estado de la CPU (incluyendo el valor de los registros).

Estados de los hilos, hebras o Thread


Los principales estados de los hilos son: Ejecución, Listo y Bloqueado

¿Qué característica tiene un entorno multihilo? Un programa multihilo contiene dos o más partes que se pueden ejecutar de manera concurrente o simultánea. La programación multihilo es algo más que el paralelismo: se refiere también al diseño de programas más sencillos aprovechando ciertas


características de la implementación de la plataforma Java La multitarea basada en hilos permite escribir programas muy eficientes que hacen una utilización óptima del procesador, minimizando el tiempo libre que éste tiene.

Planificación de procesos La planificación de procesos se refiere a cómo determina el sistema operativo al orden en que irá cediendo el uso del procesador a los procesos que lo vayan solicitando, y a las políticas que empleará para que el uso que den a dicho tiempo no sea excesivo respecto al uso esperado del sistema.

¿Para qué se hace esto? La Planificación de procesos tiene como principales objetivos la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.  Equidad: Todos los procesos deben ser atendidos.


 Eficacia: El procesador debe estar ocupado el 100% del tiempo.  Tiempo de respuesta: El tiempo empleado en dar respuesta a las solicitudes del usuario debe ser el menor posible.  Tiempo de regreso: Reducir al mínimo el tiempo de espera de los resultados esperados por los usuarios por lotes.  Rendimiento: Maximizar el número de tareas que se procesan por cada hora.


Niveles para planificar procesos

 Planificación a largo plazo: Este planificador está presente en algunos sistemas que admiten además de procesos interactivos trabajos por lotes. El objetivo primordial del planificador a largo plazo es el de dar al planificador de la CPU una mezcla equilibrada de trabajos, tales como los limitados por la CPU (utilizan mucho la CPU) o la E/S.  Planificación a medio plazo:


El planificador a medio plazo es el encargado de regir las transiciones de procesos entre memoria principal y secundaria, actúa intentando maximizar la utilización de los recursos.  Planificación a corto plazo: La misión de este consiste en asignar la CPU a uno de los procesos ejecutables del sistema, para ello sigue un determinado algoritmo

Criterios de la planificación de procesos La planificación hace referencia a un conjunto de políticas y mecanismos incorporados al "SO" que gobiernan el orden en que se ejecutan los trabajos que se deben ser completados por el sistema informático. Un planificador es un módulo del sistema operativo que selecciona el siguiente trabajo y el siguiente proceso que tomará control sobre el procesador entre las medidas de rendimiento y los criterios de optimización más habituales que los planificadores utilizan los siguientes criterios: utilización del procesador y productividad.


Operaciones básicas de un proceso Para operar sobre un proceso, los sistemas operativos actuales suministran ciertas funciones, que pueden ser ejecutadas ya sea desde el mismo proceso o desde el intérprete de comandos, si es un usuario el que solicita algún servicio de dicho sistema. Entre las operaciones sobre procesos que con mayor frecuencia ofrecen los sistemas operativos se encuentran la creación, terminación o destrucción, suspensión y reanudación de procesos. Actualmente, en la mayoría de los S.O., los procesos pueden ejecutarse de forma concurrente, pudiéndose crear y eliminar de forma dinámica, por lo que es necesario que estos sistemas brinden un mecanismo para la creación y terminación de procesos.

Comandos utilizados en Windows y Linux para la manipulación de procesos top El comando top es un clásico para mostrar los recursos usados por tu sistema y así poder ver cual de ellos consume más.


htop Es un “top” mejorado, no suele venir instalado en las distribuciones Linux. Sobre todo es más fácil de interpretar que su hermano top y además puedes realizar operaciones como parar un proceso usando las teclas (la imágen que encabeza este post es una captura de htop). ps El comando más usado (y universal) para manipular procesos en Linux. Muestra todos los procesos y además puedes realizar operaciones con ellos. Recuerda que puedes enlazarlos con otros comandos (por ejemplo con “grep” para buscar un proceso específico) usando las famosas pipes o tuberías. 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: 1


pgrep firefox pkill & killall Estos comandos pueden matar procesos dando el nombre del mismo renice Este comando 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: 1 renice 19 PID xkill Si ejecutas este comando desde un terminal en modo gráfico, el cursor cambiará a un símbolo “X” y con él podrás matar cualquier programa gráfico abierto que tengas en tus escritorios.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.