Um sistema operacional intervém após cada intervalo de tempo / quantum?

0

No contexto do agendamento de processos, o sistema operacional intervém depois que cada intervalo de tempo / quantum termina? Por exemplo, se o computador estava ocioso e 4 tarefas chegam: t1, t2, t3 e t4, e elas são programadas usando o primeiro a chegar, primeiro, normalmente consideramos que t1, t2, t3, t4 estão na CPU, mas isso não é uma simplificação? Porque nós t1, OS, t2, SO, t3 OS t4 é o que realmente aconteceria? Se é verdade que o sistema operacional intervém após cada intervalo de tempo (também conhecido como quantum) isso não é muito ineficiente?

    
por Celeritas 05.12.2013 / 05:22

2 respostas

1

Não necessariamente. Normalmente, o agendador reduzirá a prioridade dinâmica de uma tarefa depois que seu quantum expirar, mas se ainda for a tarefa de maior prioridade, ela receberá outra. Em geral, sim, quando a tarefa é executada por tempo suficiente, o SO assume o controle e alterna para outro. Por que isso seria ineficiente?

    
por 05.12.2013 / 05:28
0

Acredito que em sistemas operacionais modernos os intervalos de tempo são de tamanho variável. O agendador é chamado após a manutenção de todas as interrupções (teclado, mouse, tela sensível ao toque, rede, transferência de disco concluída, ...), bem como as interrupções do temporizador.

Grosso modo, o planejador é projetado para estimar a média móvel dos tempos entre as chamadas do sistema de bloqueio de um processo. Antes de o planejador dar o controle ao processo X, ele configura um temporizador que interromperá por vez apenas um pouco mais que a média móvel do processo X. Se o agendador está fazendo um bom trabalho de adivinhar o tempo até a próxima chamada de sistema de bloqueio, então uma grande fração de processos libera voluntariamente a CPU fazendo uma chamada de sistema de bloqueio.

O objetivo é obter processos interativos para fazer um pouco de computação, fazer uma chamada de sistema de bloqueio para solicitar alguns dados a partir de um dispositivo lento e, em seguida, reagendar novamente assim que os dados forem retornados. Se o escalonador tiver que decidir entre o agendamento entre dois processos, então todas as outras coisas sendo iguais, isso favorecerá o processo que está tornando as chamadas do sistema de bloqueio mais freqüentes. Isso tende a maximizar o número de solicitações simultâneas de bloqueio de E / S, o que melhora a taxa de transferência geral do sistema.

    
por 05.12.2013 / 15:37