Um grande advento da capacidade de computação veio quando os engenheiros desenvolveram sistemas de multiprogramação . Sistemas de multiprogramação permitiu que muitos programas diferentes , chamados de processos, para ser executado em um sistema ao mesmo tempo. No entanto , estes processos só poderiam compartilhar os recursos do sistema através do uso de um sistema de agendamento que aloca tempo do processador para os processos . Vários algoritmos foram desenvolvidos para programação, dois mais notáveis sendo Round- Robin agendamento e programação de Prioridade. Multithreading e Programação
Os primeiros computadores construídos eram sistemas processo de execução simples. Em seguida , os engenheiros construíram sistemas contendo memória interna acessível ao processador que armazenar vários programas rodando ao mesmo tempo. Estes sistemas , chamados de sistemas multiprogramados ou multithreading , forçar o processador a trabalhar em vários processos através de um sistema conhecido como agendamento. O processador programações de tempo para cada processo em execução com base em um algoritmo. De acordo com o cronograma, cada programa acessa o processador em uma ordem particular. Quando pensamos programas são executados ao mesmo tempo , eles realmente estão se revezando no processador várias vezes por segundo.
Round Robin Scheduling
Um dos primeiros algoritmos de escalonamento é chamado de Robin algoritmo Round. Este algoritmo listas de processos em execução e dá a cada processo uma fatia de tempo do processador , chamado de quanta, para executar comandos ou recursos do sistema. Após o tempo do processo de expirar, o processador que descarrega processo e carrega o processo seguinte , independentemente se o primeiro processo de acabamentos ou não . O algoritmo determina quanto tempo cada processo fica e qual o processo pode ter um impacto significativo sobre o desempenho do computador.
Prioridade Agendamento
Uma alternativa para Rodada agendamento Robin é prioridade de agendamento . Programação de prioridade utiliza um algoritmo de atribuição de prioridade para designar processos de acordo com a sua importância. Alguns algoritmos atribuir prioridade , devido à quantidade de tempo que o processo tem tido desde a sua última vez no processador. Os processos são frequentemente autorizados a utilizar o processador até que sua tarefa esteja concluída. Isso ajuda a manter importantes processos no processador e também mantém processos menos importantes chegue a entrar no processador.
Round Robin Versus Prioridade
Há certas situações em que cada algoritmo funciona melhor . O algoritmo Round Robin mantém todos os processos que se deslocam sobre o processador , e não permite qualquer um processo a monopolizar os recursos de sistema . No entanto, uma má seleção de quanta pode manter processos de ficar tempo suficiente para terminar qualquer tarefa, e, assim, reduzir a eficiência. Algoritmos de prioridade garantir processos importantes obter mais tempo no computador , mas às vezes às custas de processos menores.