Please enable JavaScript.
Coggle requires JavaScript to display documents.
Administracion de Procesos (Estados de un proceso (Nuevo Se solicitó al…
Administracion de Procesos
PROCESO
es la
imagen en memoria de un programa, junto con la información relacionada con el estado de su ejecución
Un programa
es una entidad pasiva, una lista de instrucciones; un proceso es una entidad activa, que –empleando al programa– define la actuación que
tendrá el sistema.
Estados de un proceso
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 iniciar o continuar su ejecución pero el sistema no le ha
asignado un procesador
En ejecución El proceso está siendo ejecutado en este momento. Sus instrucciones
están siendo procesadas en algún procesador
Bloqueado En espera de algún evento para poder continuar su ejecución (aun
si hubiera un procesador disponible, no podría avanzar).
Zombie El proceso ha finalizado su ejecución, pero el sistema operativo debe
realizar ciertas operaciones de limpieza para poder eliminarlo de la lista
Terminado El proceso terminó de ejecutarse; sus estructuras están a la espera
de ser limpiadas por el sistema operativo
La información que debe manipular el sistema operativo relativa a cada uno
de los procesos actuales se suele almacenar en una estructura llamada bloque de control de proceso (PCB - Process Control Block). El PCB incluye campos como:
Estado del proceso El estado actual del proceso
Contador de programa Cuál es la siguiente instrucción a ser ejecutada por el
proceso
Registros del CPU La información específica del estado del CPU mientras el
proceso está en ejecución
Información de contabilidad Información de la utilización de recursos que ha
tenido este proceso —puede incluir el tiempo total empleado y otros
Procesos e hilos
La programación basada en hilos puede hacerse completamente y de forma
transparente en espacio de usuario (sin involucrar al sistema operativo).
Patrones de trabajo con hilos
Hay tres patrones en los que caen generalmente los modelos de hilos; se
puede emplear más de uno de estos patrones en diferentes áreas de cada aplicación, e incluso se pueden anidar (esto es, se podría tener una línea de ensamblado
dentro de la cual uno de los pasos sea un equipo de trabajo
Concurrencia
la concurrencia no se refiere a dos o más
eventos que ocurren a la vez sino a dos o más eventos cuyo orden es no determideterminista,
esto es, eventos acerca de los cuales no se puede predecir
Prevención de bloqueos
Se presentan a continuación algunos algoritmos que implementan la prevención
de bloqueos
Serialización
Una manera de evitar bloqueos por completo sería el que un sistema operativo
jamás asignara recursos a más de un proceso a la vez