Os agendadores de dois níveis são úteis apenas para gerenciar a troca?


10

O agendamento de dois níveis é útil quando um sistema está executando mais processos do que cabem na RAM: um agendador de nível inferior alterna entre processos residentes e um agendador de nível superior alterna entre grupos de processos.

Não encontro outra menção ao agendamento de dois níveis nos Sistemas Operacionais de Andrew Tanenbaum : Design and Implementation , 1ª ed. O Exercício 2.22 pergunta por que o planejamento em dois níveis pode ser usado; Não sei se existe uma verificação de compreensão de leitura ou se existem outros motivos não mencionados de forma destacada no texto.

O agendamento em dois níveis é útil para gerenciar outras contenções de recursos, além da memória?


11
Pode ser bom para caches e E / S de disco, mas isso não está "além da memória".
Raphael

Como o @Raphael diz, mas em outras palavras, evita / reduz a debulha.
21812 Dave Clarke

Respostas:


8

Existem outras formas de agendamento em dois níveis além do tipo que você descreve. Por exemplo, um nível de agendamento pode ser por usuário e o outro por processo, com o objetivo de fornecer a um usuário com 20 processos a mesma quantidade de tempo de CPU que um usuário com 1 processo. Com um planejador de nível único, cada processo pode receber 1/21 do tempo da CPU.

Outra forma de agendamento de dois níveis pode ser por processo e por thread, com o objetivo de fornecer a um processo com 20 threads a mesma quantidade de tempo de CPU que um processo com 1 thread.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.