Resumen del proceso de algoritmo de planificación

FCFS (orden de llegada) primero que llega algoritmo:

algoritmos de gestión de colas simples, mantienen una cola, entonces la única final de la línea de espera para.

No preferente.

Desventajas: no lo suficientemente inteligente como para los procesos intensivos de CPU hostiles, tales como: un proceso intensivo de la CPU requiere sólo 1 ms de tiempo de funcionamiento, pero hay un proceso de io intensiva para leer antes de 5s. Incluso si los procesos intensivos de CPU sólo tienen que ejecutar de 1 ms, pero deben esperar a 5s completos para correr!

 

 

SJF (más corta de trabajo primero) más corta de trabajo en primer lugar:

Este algoritmo supone que podemos predecir el tiempo necesario para cada proceso en ejecución. Por ejemplo, hay cinco procesos, cada vez que se ejecuta es: 1,3,2,5,1.

Este nombre sugiere algoritmo, el proceso de ejecutar el menor tiempo necesario para tomar la primera carrera, por lo que el orden de ejecución: 1,1,2,3,5. De hecho, en el método algoritmo voraz.

planificación SJF es mejor esquema (codiciosos), pero la pregunta es cómo predecir el tiempo de funcionamiento? Así que, de hecho, este algoritmo sólo como una comparación, no realmente lograr.

No preferente.

 

SJF algoritmo y una variante: la prioridad menor tiempo restante. Seleccione el tiempo de funcionamiento restante es proceso de programación mínima, por lo que el algoritmo se adelantó .

 

RR (Round Robin) ronda robin programación:

Cada proceso se le asigna un intervalo de tiempo, es generalmente 20 ~ 50 ms. Cada proceso sólo puede usar el tiempo de un intervalo de tiempo, si es que no se quede fuera del intervalo de tiempo en la carrera ha terminado, puede programar el próximo proceso directamente, si no se ejecutan fuera de servicio segmento de tiempo se ha completado, el sistema procesará de nuevo en el equipo cola.

se requiere un tiempo de selección de rebanada, porque en el proceso de cambiar a cambio de contexto. Si el cambio de contexto tiempo que un pequeño número de intervalos de tiempo, la eficiencia de la programación de round-robin que será muy malo, porque pasamos demasiado tiempo en el proceso de conmutación.

Dado que el sistema cambiará automáticamente al siguiente proceso después de la finalización de un intervalo de tiempo, el algoritmo de programación RR se adelantó.

 

Prioridad de programación:

Considere la programación RR dijo antes, todos los procesos "igual". Pero en la práctica no es el caso, las personas tienen rango o grado, el proceso se puede dividir en importante no es importante. Tales como los procesos interactivos en el primer plano es muy importante y necesidad de volver rápidamente resultados. Si el proceso de mantenimiento de datos en segundo plano, no importa más adelante.

Así que agregamos un nivel de prioridad (por lo general un número entero), para el proceso de alta prioridad nuestra prioridad de planificación prioridad del proceso después de la aplicación, re-planificación de los procesos de baja prioridad para cada proceso. Como proceso de io-intensiva, obviamente, debemos establecer una prioridad más alta, después de todo, estos procesos sólo tienen que tomar un poco de tiempo de CPU, después de que el trabajo es el hardware io mano. Por lo tanto debemos dar io proceso intensivo de programación de prioridad, así que después de un poco de tiempo de ejecución, el proceso-io intensiva ya no necesita la CPU. Por lo tanto, la prioridad debe ser menor proceso de CPU que el proceso-io intensiva.

Pero hay una tal pregunta: ¿Si estamos añadiendo proceso de alta prioridad (por ejemplo, 2), pero antes de que tengamos una prioridad 1, ya que el proceso ha sido de aprovechar el proceso de alta prioridad que nunca ha sido plazo, esto es, sin duda ningún árabe. Por lo tanto, la prioridad no debe fijarse, por ejemplo, podemos unir el tiempo de espera factor decisivo, ya que el tiempo de espera se hace más largo, y poco a poco aumentar su prioridad, como retrasó y, finalmente, se ejecutará el proceso.

algoritmo de planificación de prioridad se unirá el factor de tiempo de programación de espera es en realidad un algoritmo de planificación relación de respuesta de alta prioridad : "(tiempo de espera la ejecución del proceso de tiempo + proceso) Relación de respuesta tiempo de ejecución = / proceso", de acuerdo con esta fórmula para obtener la programación de relación de respuesta. Alta respuesta en el mismo tiempo de espera, el tiempo de ejecución del trabajo más corto que el primer algoritmo, la proporción de respuesta más alta, satisfacer los segmentos prioritarios de trabajo, mientras que la respuesta aumenta a medida que el tiempo de espera se hace mayor que el nivel de prioridad se incrementará, se puede prevenir el hambre. La ventaja es que tanto la duración de la operación, calcular la desventaja respuesta es significativamente más caro que para el sistema de lotes.

Derecho de prioridad.

 

 

Multinivel programación de colas:

El algoritmo de planificación interna para lograr una pluralidad de colas, la cola de 1 cada proceso se puede ejecutar un segmento de tiempo, cada proceso puede ejecutar 2 cola 2, cola 3 cada proceso puede ejecutar 4, cada proceso puede ejecutar colas 4 8 dos, y así sucesivamente.

Supongamos que hay n colas, entonces el primer n-1 son FCFS colas de programación, un último cola está programada RR.

Por la necesidad de realizar un proceso de 100 intervalos de tiempo, para unirse a una cola, un segmento de tiempo en la carrera 2 cola. Después de dos intervalos de tiempo adicionales en la carrera Cola 3. Finalmente, el proceso necesitamos 1 + 2 + 4 + 8 + 16 + 32 + 64, un total de siete cambios de contexto. Si utilizamos lo anterior dicho algoritmo RR que tarda un total de 100 veces!

Para diferentes colas, la cola de alta prioridad si hay proceso, a continuación, vaciar la cola de alta prioridad prioridad, entonces la situación después de la cola de prioridad más alta segundo, y así sucesivamente. .

Este algoritmo de planificación puede ser un buen equilibrio entre la evolución a largo y corto curso.

Pasos a seguir:

1, en el proceso de entrar en la cola de espera para ser planificado, el primero en entrar en la más alta prioridad de espera Q1.
2, primero la cola de alta prioridad proceso de programación. Si una alta prioridad en la cola no tiene un proceso de programación, el tiempo de proceso del planificador cola de prioridad. Por ejemplo: Q1, Q2, Q3 tres colas, cuando el proceso si y sólo si no hay espera en Q1 a Q2 despacho en el mismo sentido, el Q3 programación espacio-tiempo va a ir solamente Q1, Q2 son.
3, la misma cola para cada proceso, el tiempo de asignación de planificación de ranura de acuerdo con FCFS. Como el tiempo de cola Q1 rebanada es N, entonces Q1 si la tarea no se ha completado después de un intervalo de tiempo N, el proceso pasa a la cola de espera Q2, Q2 cuando el intervalo de tiempo se agota el trabajo aún no se ha completado, proceder a la siguiente ha sido etapa de colas, hasta su finalización.
4, al final de una cola en el proceso de QN respectivo de acuerdo con round-robin asignación de planificación de intervalos de tiempo.
5, en el proceso de cola de baja prioridad en tiempo de ejecución, existen llega un nuevo trabajo, entonces tienen que poner de inmediato la parte posterior del equipo en el extremo proceso en ejecución de la cola actual, entonces el procesador distribuido a proceso de alta prioridad. En otras palabras, en cualquier momento, sólo cuando el primer 1 ~ i-1 colas están vacías, el proceso de implementación irá a la i-ésima fila (preventiva). Nota especial, cuando se vuelva a ejecutar el proceso a la cola actual, el último intervalo de tiempo asignado solamente no se ha completado, ya no se les asigna segmento de tiempo completo correspondiente a la cola.

Derecho de prioridad.

Supongo que te gusta

Origin www.cnblogs.com/FdWzy/p/12556498.html
Recomendado
Clasificación