Una aparición importante en las capacidades de cómputo se produjo cuando ingenieros desarrollaron sistemas de multiprogramación . Sistemas de multiprogramación permite muchos programas diferentes , llamados procesos se ejecuten en un sistema al mismo tiempo. Sin embargo , estos procesos sólo podían compartir los recursos del sistema a través del uso de un sistema de programación que asigna tiempo de procesador a los procesos . Varios algoritmos han sido desarrollados para la programación , dos más notables siendo planificación Round - Robin y programación de prioridad . Multithreading y Programación
Las primeras computadoras eran construidos los sistemas de proceso de ejecución individuales. A continuación, ingenieros construyeron sistemas que contienen memoria interna accesible por el procesador que almacenan múltiples programas que se ejecutan al mismo tiempo . Estos sistemas , llamados multiprogramado o sistemas multithreading , obligan al procesador para trabajar en varios procesos a través de un sistema conocido como programación . El horarios de tiempo de procesador para cada proceso que se ejecuta sobre la base de un algoritmo . De acuerdo con el calendario , cada programa accede el procesador en un orden particular . Cuando pensamos en los programas se ejecutan al mismo tiempo, que realmente están tomando turnos en el procesador varias veces por segundo.
Round Robin Scheduling
Uno de los algoritmos de planificación más tempranas se llama el algoritmo Round Robin . Este algoritmo muestra los procesos en ejecución y da a cada proceso una porción de tiempo de procesador , llamado quanta , para ejecutar comandos o recursos del sistema . Una vez transcurrido el tiempo del proceso , se descarga el procesador de ese proceso y carga el próximo proceso , independientemente de si los primeros finalice el proceso o no. El algoritmo determina la cantidad de tiempo que cada proceso obtiene y qué proceso puede tener un impacto significativo en el rendimiento de la computadora .
Prioridad de programación
Una alternativa a Round Robin programación es la programación prioritaria . Programación Prioridad utiliza un algoritmo de asignación de prioridades para designar los procesos de acuerdo a su importancia. Algunos algoritmos asignan prioridad debido a la cantidad de tiempo que el proceso ha tenido desde su última vuelta en el procesador . Los procesos son a menudo les permite usar el procesador hasta que su tarea se ha completado . Esto ayuda a mantener los procesos importantes en el procesador y también mantiene procesos menos importantes siempre de alcanzar el procesador.
Round Robin Versus Prioridad
Hay ciertas situaciones en las que trabaja cada algoritmo mejor . El algoritmo Round Robin conserva todos los procesos de movimiento en el procesador y no permite que cualquier proceso de monopolizar los recursos del sistema . Sin embargo , una mala selección de quanta puede mantener procesos de conseguir el tiempo suficiente para terminar cualquier tarea, y por lo tanto reducir la eficiencia . Algoritmos de prioridad garantizar procesos importantes quedan más tiempo en el equipo, pero a veces a expensas de los procesos de menores.