2.2 Programación del procesador

2.2.1 El concepto de programación

1. El concepto básico de programación
En un sistema de multiprogramación, el número de procesos suele ser mayor que el número de procesadores, por lo que es inevitable que los procesos compitan por los procesadores .La programación del procesador consiste en asignar procesadores, es decir, seleccionar un proceso de la cola lista de acuerdo con un algoritmo determinado (justo y eficiente) y asignarle el procesador para que se ejecute, a fin de realizar la ejecución concurrente del proceso.

2. Nivel de programación La frecuencia de la programación de alto nivel a la programación de bajo nivel aumenta gradualmente
1)作业调度Programación avanzada
2)中级调度Programación de memoriaLa función es mejorar la tasa de utilización de la memoria y el rendimiento del sistema, transferir el proceso que no se puede ejecutar temporalmente a la memoria externa. En este momento, el proceso se llama 挂起态, si la memoria está libre, transferir el proceso con las condiciones de ejecución a la memoria y modificar el estado a就绪态
3)进程调度Programación de bajo nivel 最基本,必不可少

2.2.2 Calendario, traspaso y proceso de programación


现代操作系统中,不能进行进程调度和切换的情况有以下几种:
1) En el proceso de interrupción del procesamiento
2) El proceso está ensistema operativo En la sección crítica del kernel 普通临界区可以进程调度
3) Otras operaciones atómicas que necesitan proteger completamente las interrupciones


应当进行进程调度和切换的情况如下:
1) Cuando ocurre una condición de programación y el proceso actual no puede continuar ejecutándose, se puede realizar la programación y la conmutación. Si el sistema realiza la programación y la conmutación en este caso, esProgramación sin privaciones.
2) El procesamiento de interrupciones finaliza o el procesamiento de trampas finaliza.

2.2.3 El método de programación del proceso

1. Método de programación sin privación (no preventivo), incluso si un proceso más importante o urgente ingresa a la cola lista, deje que el proceso en ejecución continúe ejecutándose hasta que el proceso se complete o un evento determinado ingrese al estado de bloqueo. Procesador.Sobrecarga del sistema simple y baja, adecuada para la mayoría de los sistemas de procesamiento por lotes 不适合分时系统和大多数实时系统。

2. Método de programación de privaciones (preventivo) Si hay un proceso más importante o urgente que necesita usar el procesador, el proceso en ejecución se suspende inmediatamente y el procesador es asignado a este proceso más importante o urgente. Usando la programación de privaciones,Tiene beneficios obvios para mejorar el rendimiento del sistema y la eficiencia de respuesta.

2.2.4 Principios básicos de programación

Los diferentes algoritmos de programación tienen características diferentes. Al elegir un algoritmo de programación, se deben considerar las características del algoritmo. Para comparar el rendimiento del algoritmo de programación, los indicadores de evaluación son los siguientes:
1) Utilización de la CPU. La CPU es uno de los recursos más importantes y costosos en un sistema informático, por lo que la CPU debe mantenerse "ocupada" tanto como sea posible para maximizar la utilización de este recurso.

利用率=忙碌的时间/总时间

2) Rendimiento del sistema. == indica el número de trabajos completados por la CPU en una unidad de tiempo. == Los trabajos largos necesitan consumir más tiempo de procesador, por lo que reducirá el rendimiento del sistema. Para trabajos cortos, necesitan consumir menos tiempo de procesador, por lo que se puede mejorar el rendimiento del sistema. Los diferentes algoritmos y métodos de programación también tendrán un mayor impacto en el rendimiento del sistema.

3) Tiempo de respuesta. El tiempo de respuesta se refiere al tiempo que transcurre desde que se envía el trabajo hasta que se completa. Es la suma del tiempo dedicado a esperar el trabajo, hacer cola en la cola lista, ejecutar en el procesador y realizar operaciones de entrada y salida.

作业的周转时间可用公式表示如下:


带权周转时间 = 作业周转时间/作业实际运行时间


周转时间 = 作业完成时间-作业提交时间

平均周转时间 = (作业1的周转时间+..+作业n的周转时间)/n

带权周转时间 = 作业周转时间/作业实际运行时间

平均带权周转时间 = (作业1的带权周转时间+...+作业n的带权周转时间)/n

4) Tiempo de espera. El tiempo de espera se refiere a 进程处于等处理机状态的时间之和,Cuanto mayor sea el tiempo de espera,
menor será la satisfacción del usuario .
Por tanto, 5) Tiempo de respuesta. El tiempo de respuesta se refiere a衡量一个调度算法的优劣,常常只需简单地考察等待时间。
从用户提交请求到系统首次产生响应所用的时间。

2.2.5 Algoritmo de programación típico

1. Algoritmo de programación por orden de llegada (FCFS)
Se puede utilizar para la programación de trabajos y la programación de procesos.
Inserte la descripción de la imagen aquí

2. Algoritmo de programación de prioridad de trabajo corto (SJF)

Inserte la descripción de la imagen aquí

3. Algoritmo de programación de prioridades优先级用于描述作业运行的紧迫程度
Se puede utilizar para la programación de trabajos y la programación de procesos.

Según si se puede privar, se puede dividir en los dos tipos siguientes:
1) Algoritmo de programación de prioridad de no privación
2) Algoritmo de programación de prioridad de privación

Según la prioridad del proceso
1) Proceso del sistema> Proceso del usuario
2) Proceso de E / S> Proceso de cálculo
3) Proceso interactivo> Proceso no interactivo

4. Algoritmo de programación de prioridades de alta tasa de respuesta
Se utiliza principalmente para la programación de trabajos.
Inserte la descripción de la imagen aquí

5. Algoritmo de programación por turnos por intervalos de tiempo 主要适用于分时系统

El sistema organiza todos los procesos en una cola de acuerdo con el orden de la hora de llegada (先来先服务的原则), pero solo puede ejecutarse durante un intervalo de tiempo, después de un intervalo de tiempo,Incluso si el proceso no se completa, el procesador debe liberarse被剥夺Dar el próximo proceso listoEl proceso privado vuelve a la cola de la cola lista y vuelve a la cola.

若时间片选择的足够大,时间片轮转法退化为先来先服务算法

6. Algoritmo de programación de la cola de comentarios de varios niveles (que combina las ventajas de los algoritmos anteriores)抢占式调度算法
Desarrollo integral del método de rotación de segmentos de tiempo y el método de programación de prioridades
Inserte la descripción de la imagen aquí
1) Configure múltiples colas listas y asigne diferentes prioridades, el primer nivel es el más alto y el segundo nivel es el segundo.
2) El tamaño del intervalo de tiempo de ejecución dado al proceso en la cola es diferente,El segmento de tiempo de cola con alta prioridad es pequeño (第二级队列的时间片是第一级时间片的两倍,第三级时间片的大小是第二级时间片大小的两倍)
3) Después de que un nuevo proceso ingrese a la memoria, primero colóquelo al final de la cola de primer nivel, ** 按FCFS等待调度** Cuando sea el turno del proceso para ejecutarse,Si se puede completar dentro del intervalo de tiempo, el sistema se puede retirar, si no, saltar al final de la cola de segundo nivel, y así sucesivamente.
4) Solo cuando la cola de primer nivel está vacía, el programador programará los procesos en la cola de segundo nivel

Las ventajas de las colas de retroalimentación de varios niveles son las siguientes:
1) 2) Tiempo de respuesta corto 3) La ejecución parcial después de las colas anteriores no se dejará de procesar durante mucho tiempo短作业优先

例题


Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí


Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí


Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí


Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_38220799/article/details/109081847
Recomendado
Clasificación