Fuente: http://1.bp.blogspot.com
La gestión de procesos es la tarea
fundamental de cualquier sistema operativo moderno. El sistema operativo debe
asignar recursos a los procesos, permitir el intercambio de información entre
los mismos, proteger los recursos de un proceso del resto y facilitar la
sincronización de procesos. Para alcanzar estos objetivos, el sistema operativo
mantiene una estructura de datos para cada proceso que describe su estado y los
recursos que posee y que permite al sistema operativo imponer un control sobre
los procesos (PCB Bloque de Control de Proceso).
En
un monoprocesador multiprogramado, debe intercalarse en el tiempo, la ejecución
de múltiples procesos. En un multiprocesador, no sólo puede intercalarse la
ejecución sino que los procesos se pueden ejecutar simultáneamente. Ambos,
intercalación y ejecución simultánea, son formas de concurrencia y llevan a una
multitud de problemas complejos, tanto para el programador de aplicaciones como
para el sistema operativo. El sistema operativo debe llevar a cabo la función
de planificar y ofrecer mecanismos para compartir y sincronizar procesos.
El
Administrador de procesos le permite revisar los procesos que se
estén ejecutando y comprobar el rendimiento del sistema. Después de
diagnosticar el sistema, puede elegir finalizar procesos que considere no
deseados para mejorar la velocidad de procesamiento del equipo, optimizar los
procesos o ignorar procesos en próximos análisis.
Estados y transiciones de un proceso:
Los bloques
de control de procesos se almacenan en listas, una para cada posible estado:
Fuente: http://ac.itdurango.mx
Un proceso, a lo largo de su vida, alterna entre diferentes estados de ejecución. Estos son:
Nuevo: Se solicitó al sistema operativo la creación de un proceso, y sus
recursos y estructuras están siendo creadas.
Listo:
Está listo para ser asignado para su
ejecución en un procesador.
En
ejecución: El proceso está siendo ejecutado en
este momento.
Bloqueado:
En espera de algún evento para poder
continuar ejecutándose.
Terminado:
El proceso terminó de ejecutarse; sus
estructuras están a la espera de ser limpiadas por el sistema
operativo.
Diagrama de Transición entre los Estados de un Proceso
Fuente: http://sistop.gwolf.org/html/img/dot/estados_proceso.png
Control
de procesos:
PCB
(Bloque de control de procesos): Conjunto de datos donde
se
incluye el estado de un
proceso en cada momento, los recursos
usados, registros, etc.
Objetivos:
1) Que el sistema
operativo localice la información sobre el proceso.
2) Mantener registrados
los datos del proceso en caso de suspensión o reanudación de la ejecución.
Información
contenida:
1) Estado del proceso: Contenido
del contador de programa, estado del cpu en cuanto a prioridad del proceso,
modo de ejecución, etc. y estado de los registros internos de la computadora.
2) Estadísticas de tiempo y ocupación de recursos:
Planificación del CPU.
3) Ocupación de memoria interna y externa:
Swapping.
4) Recursos en uso.
5) Archivos en uso.
6) Privilegios.
Fuente: http://ac.itdurango.mx
SCB
(Bloque de control del sistema): Objetivos globales
similares al PCB, además enlaza los PCB’s de los procesos existentes.
Cambio de un proceso a otro suponiendo un solo cpu, una tarea
en ejecución a la vez y 2 procesos activos (A y B) compitiendo por el cpu, ambos
en memoria principal.
Fuente: http://ac.itdurango.mx
Cambio de A por B:
1. Deja de ejecutar el proceso
en curso (A).
2. Se salva el estado del proceso
A para su regreso al punto de interrupción.
3. Cede el control al kernel.
4. Cambio de contexto (de
modo usuario a modo supervisor).
5. El kernel estudia si el
proceso B está preparado para su ejecución.
6. Si si, cambio de
contexto (de modo supervisor a modo usuario).
7. Repone el estado de B
(si es que se había interrumpido antes).
8. Pone en ejecución a B.
Referencias Electrónicas
- Sistemas Operativos, Administración de procesos, disponible en: http://sistop.gwolf.org/html/02_administracion_de_procesos.html
- Administración de Procesos, disponible en: http://www.slideshare.net/soniderosonidero/unidad-2-administracin-de-procesos-3702723
- Administrador de los Procesos en los Sistema Operactivos, disponible en: http://www.paretologic.com/es/pchealthadvisor/help/605.htm

No hay comentarios:
Publicar un comentario