• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Gestión de procesos|
1
2. GESTION DE PROCESOS 
 
2.1 Introducción a los procesos 
 
SO se define como “un conjunto de extensiones software del hardware original, que culminanen una máquina virtual que sirve como un entorno de programación de alto nivel que gestionael flujo de trabajo en una red de computadores”.Un proceso es la unidad más pequeña de trabajo individualmente planificable por un SO.La intención de activar un programa ejecutable (compilado y enlazado) es anunciada al SOmediante una orden especializada o por una llamada al SO provista para este fin. El SOresponde creando un proceso.Así pues, el proceso es un concepto dinámico que se refiere a un programa en ejecución, quesufre frecuentes cambios de estado y atributos.
Multiprogramación:
Ejecución concurrente de más de un trabajo o programa que haceobtener una mejor utilización del sistema.
Sistemas de tiempo compartido:
A cada programa se le asigna un mismo intervalo de tiempode ejecución en un sistema con multiprogramación interactiva.
Multitarea:
Capacidad que tienen los sistemas operativos de ejecutar de forma simultáneavarios procesos.
Multiprocesamiento:
Computador que dispone de varios procesadores.
2.2 Relación entre los procesos 
 
El SO debe suministrar los servicios necesarios que permitan el procesamiento concurrente.Estos servicios proporcionan los medios para la realización de:a) Ejecución concurrente de los procesosb) Sincronización entre procesosc) Comunicación entre procesosEl SO debe disponer de algoritmos de planificación y gestión de procesos que se encarguende:1) Decidir qué proceso se ejecutará o tomará el procesador2) Llevar cuenta de los estados de los procesos, sus prioridades y toda la restanteinformación relevante acerca de ellos.Dependiendo de la interacción entre los procesos, se pueden clasificar:a)
Procesos independientes:
No se comunican o sincronizan entre ellos. En sistemasmonoprocesador, no existen, ya que todos los procesos compiten entre ellos por laposesión del procesador.b)
Procesos cooperativos:
Se comunican y sincronizan sus actividades para realizaruna labor común.c)
Procesos competitivos:
Al compartirse los recursos de un computador, los procesosnecesariamente deben competir entre ellos.
2.3 Especificación de los procesos 
 
Los procesos generados por el sistema operativo se denominan
implícitos
. Una vez terminadasu ejecución, su eliminación también la realiza el propio SO. Así mismo, el SO proporciona entiempo real los servicios que son necesarios para que el usuario pueda definir procesos deforma
explícita
. Los programas acceden a estos servicios realizando
llamadas al sistema.
 Estas llamadas pueden aparecer incrustadas en el código de un programa de usuario o delpropio sistema.
 
Gestión de procesos|
2
Al comienzo de la ejecución del programa principal de un usuario se inicia la ejecución de unproceso. El proceso que crea otro nuevo se denomina
proceso padre
(parent process), y elproceso creado se denomina
proceso hijo
(child process). Una vez creado el proceso hijo, laejecución de ambos transcurre de manera concurrente.
2.4 Estados de los procesos 
 
Un proceso puede encontrarse en un instante determinado en uno de los siguientes estados:a)
Activo.
Está ejecutándose en un instante dado.b)
Preparado.
En este estado se encuentran todas las tareas que están listas paraejecutarse pero que esperan a que un/el procesador quede libre.c)
Bloqueado o suspendido.
Tareas que están a la espera de que se cumpla algunacondición y, por lo tanto, no están preparadas para ejecutarse.d)
Nonato.
El programa existe pero todavía no es conocido por el SO.e)
Muerto.
El proceso ha terminado su ejecución o bien el SO ha detectado un error fataly lo ha transferido a dicho estado.Se denomina
estado global del sistema
en un instante determinado, al conjunto de recursos yprocesos existentes con sus estados correspondientes. El SO cambia el estado global delsistema modificando el estado de los procesos y la asignación de los recursos, en respuesta aeventos externos o internos.
2.4.1 Transiciones entre los estados 
El SO posee un módulo, el planificador, que se encarga de
activar 
los procesos que están enestado preparado. Toda
interrupción 
hace que la tarea que está activa en ese instante deje deejecutarse a favor del SO que decidirá de entre los procesos preparados, cuál de ellos tieneque ponerse en el estado activo.
 
Gestión de procesos|
3
2.5 El bloque de control de procesos 
 
El sistema mantiene toda la información sobre un proceso en una estructura de datosdenominada
bloque de control de procesos (BCP)
.En el BCP se guarda la información que necesita el sistema para controlar al proceso y darcuenta de sus recursos y toda la que influye en la ejecución de un programa:a) El identificador único del proceso (
pid 
)b) El estado de procesoc) La prioridadd) El estado hardwaree) La información para gestionar la memoriaf) La información de estado del sistema E/Sg) La información de contabilidad y planificaciónCuando el sistema operativo cambia el procesador entre tareas, utiliza la zona del BCP en laque deja toda la información necesaria para que se pueda proseguir la ejecución de la tareacuando ésta retome el procesador.En la información contable se mantiene la información necesaria para permitir que losalgoritmos de planificación del SO puedan conseguir organizar los procesos de modo que seobtenga el mejor comportamiento posible del sistema o lo que es equivalente, el rendimientoóptimo en el uso de procesador. Informaciones relevantes son: hora de inicio del proceso, eltiempo real del uso del procesador, el tiempo de espera para conseguir un determinado recursoy el tiempo medio transcurrido desde que el proceso está preparado hasta que consigue elprocesador.
2.5.1 Listas de procesos 
El SO mantiene listas de BCP para cada uno de los estados del sistema. Cada procesopertenece a una única lista.El planificador del SO se encarga de gestionar el paso de los procesos de una lista a otra,manteniendo las listas ordenadas y actualizadas de la forma más conveniente para las rutinasque operan sobre ellas.El proceso puede estar en una lista única de estados bloqueados o en una lista de estadossuspendidos ligada en exclusiva a un dispositivo o evento.
2.6 Procesos y hebras 
Podemos ver el proceso como una entidad formada por una o más unidades de ejecucióndenominadas
hebras
(threads) y un conjunto de recursos asociados. Si un proceso pasa alestado activo una hebra toma posesión del procesador; ésta se puede interrumpir para que sepase a ejecutar otra hebra, y así sucesivamente hasta que el proceso sale de dicho estado.Los recursos no están asociados a las hebras, si no al proceso; éste es el que puede accederde forma protegida a los recursos del sistema y se encarga de su gestión entre las hebras.La creación de una hebra dentro de un proceso requiere menos tiempo que la creación de unproceso nuevo. También mejora el tiempo de conmutación entre hebras con respecto al de losprocesos. Además, las hebras comparten la memoria y los ficheros asignados al proceso, loque facilita su comunicación y sincronización.La implementación en base a hebras en lugar de procesos aumenta la velocidad del sistema.Parte de la planificación se realiza tomando como base a éstas. Un proceso está en ejecucióncuando se está ejecutando al menos una de sus hebras. En el estado preparado alguna hebradebe de estarlo para poder pasar a ejecución. La suspensión del proceso, sin embargo, afectaa todas las hebras, ya que el sistema operativo lo transfiere fuera de la memoria principal y lagestión se realiza, por lo tanto, a nivel de proceso.
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...