5.1 Programas y procesos.
Enviado por Rimma • 18 de Abril de 2018 • 1.212 Palabras (5 Páginas) • 378 Visitas
...
Estos son:
- El proceso se está ejecutando de modo usuario
- El proceso se está ejecutando en modo supervisor.
- El proceso no se está ejecutando, pero está listo para ser ejecutado cuando lo indique el planificador de tareas. Puede haber varios procesos simultáneamente en este estado.
- El proceso está durmiendo. Un proceso entra en este estado cuando no puede proseguir su ejecución porque está esperando a que se complete una operación de entrada-salida.
En un sistema mono-procesador no puede haber más de un proceso ejecutándose a la vez, un proceso no permanece siempre en un mismo estado, sino que está continuamente cambiando de acuerdo con unas reglas bien definidas. Estos cambios de estado vienen impuestos por la competencia que existe entre los procesos para compartir un recurso escaso como es la CPU. Un diagrama de transición de estados es un grafo dirigido, cuyos nodos representan los estados que pueden alcanzar los procesos y cuyas ramas representan los eventos que hacen que un proceso cambie de un estado a otro.
5.3 Tabla de procesos y área de usuarios
Todo proceso tiene asociadas una entrada en la tabla de procesos y un área de usuario estas son dos estructuras que van a describir el estado del proceso y que le van a permitir al núcleo su control.
La tabla de procesos tiene campos que van a ser accesibles desde el núcleo pero a los campos del área solo necesitan ser visibles por el proceso.
Las áreas de usuario se reservan cuando se cran un proceso y no es necesario que una entrada de la tabla de procesos que no aloja a ningún proceso tenga reservada un área de usuarios.
5.4 Contexto de un proceso
Cuando se ejecuta un proceso, se dice que el sistema se está ejecutando en el contexto de un proceso. Cuando el núcleo decide que debe ejecutar otro proceso, realiza un cambio de contexto, lo que da lugar a que el núcleo guarde la información necesaria para poder continuar con la ejecución del proceso interrumpido en el mismo punto donde lo dejo. De igual manera, cuando el proceso cambia del modo usuario al modo supervisor, el núcleo guarda información para cuando el proceso tenga que volver al modo usuario. Sin embargo, el cambio de modo usuario a supervisor y viceversa, no se contempla como un cambio de contexto.
Desde un punto de vista formal, el contexto de un proceso es la unión de su contexto del nivel de usuario, su contexto de registro y contexto de nivel de sistema.
El contexto del nivel de usuario se compone de los segmentos de texto, datos y pila del proceso, así como las zonas de memoria compartidas que se encuentran en la zona de direcciones virtuales de proceso. Las partes del espacio de direcciones virtuales que periódicamente no residen en memoria principal debido al intercambio o a la paginación, también son parte del contexto del nivel de usuario.
El contexto de registros se compone de las siguientes partes:
- Contador de programa
- Registro de estado del procesador
- Puntero de pila
- Registros de propósito general
El contexto del nivel sistema de un proceso tiene una parte estática y una parte dinámica. Todo proceso tiene una parte estática del contexto del nivel de usuario, pero puede tener un número variable de partes dinámicas. La parte dinámica es vista como la pila de capas de contexto que el núcleo puede introducir y sacar según los eventos que se produzcan.
...