Experimento del sistema operativo tres (prioridad y intervalo de tiempo de la programación del proceso)

Una . Propósito

  Comprender la concurrencia del proceso en ejecución

    Comprender los diversos estados del proceso y sus transiciones. 

   Comprender la estructura de PCB en la gestión de procesos

         Domine el algoritmo de programación del proceso de número de prioridad

Dos . Contenido Experimental

   Con VC preparado para lograr proceso de realización del proceso de programación de simulación de programación. El algoritmo de programación utiliza un algoritmo que combina números de prioridad dinámicos y segmentos de tiempo. Los requisitos son los siguientes :

  • La información relacionada con el proceso, como el identificador de proceso y el tiempo de proceso, se coloca en PCB ;
  • Diseñe tres colas de proceso de ejecución, finalización y listo;
  • La cola preparada se organiza en orden descendente de prioridad, y cada vez que se selecciona el proceso preparado con la prioridad más alta para ejecutarse. El número de prioridad inicial se establece en un número mayor (como 30 ) menos el tiempo de ejecución del proceso, y el número de prioridad se ajusta a medida que se ejecuta el proceso;
  • Cada vez que se ejecuta el proceso, el número de prioridad se reduce en un valor fijo (como 3 ), el tiempo de CPU se incrementa en 1 y el tiempo requerido por el proceso se reduce en 1. Si el tiempo requerido por el proceso se convierte en 0 , significa que el proceso se completa y su estado se establece en "F" , Inserte su PCB en la cola de finalización, si la cola lista no está vacía, cambie la primera PCB de la cola lista al estado de ejecución. Si el proceso no se completa, compare su número de prioridad con el primer número de prioridad de PCB en la cola lista , si es pequeño, cámbielo al estado listo, insértelo en la posición apropiada en la cola lista y cambie la primera PCB en la cola lista Está corriendo Repita el proceso anterior hasta que la cola de preparación esté vacía y todos los procesos se completen.

    Estructura de datos relacionados:

          typedef struct node { 

                 char name [10]; // identificador de proceso

                 int prio; // Prioridad de proceso

                 int CPUT; // proceso toma CPU tiempo

                 needt int; // proceso desde la finalización de la requerida CPU tiempo

                char state; // Process state struct node * next;

        }TARJETA DE CIRCUITO IMPRESO;

 

3. Código experimental

     Consulte el código en el Experimento 2 para completar el código del algoritmo.

Requisitos:

   Escribir un diagrama de flujo de la implementación del algoritmo.

   Programación para lograr la función requerida por el problema.

   Resultados experimentales para probar múltiples conjuntos de datos

  

Supongo que te gusta

Origin www.cnblogs.com/byczyz/p/12755507.html
Recomendado
Clasificación