Eu estou tentando entender o agendamento de fila de feedback multinível e me deparei com o seguinte exemplo de William Stallings sistemas operacionais e princípios de Design (7th ed).
Eu tenho esse processo:
E o resultado no livro é este:
Eu acredito que estou fazendo os primeiros passos, mas quando eu chegar ao processo E
Tempo de CPU meu próximo processo é B
não D
como no exemplo do livro.
Eu não consigo entender se existem n
RQ
e depois de cada vez que um processo recebe o tempo da CPU ele é rebaixado para um tempo de prioridade menor RQ
ou se, por exemplo, processo A
é em RQ1
e não há processo no poder RQ
, o processo é promovido para essa fila pronta (é assim que eu estou fazendo).
Alguém pode me explicar o processo como, no exemplo acima, depois E
é processado, D
Obtém tempo de CPU e eles E
(e não B
) é servido?
Respostas:
1 para resposta № 1O algoritmo de feedback multinível seleciona sempre o primeiro job da fila mais baixa (ou seja, a fila com a prioridade mais alta) que não está vazia.
Quando o trabalho E sai de RQ1 (tempo 9), o trabalho D está na fila RT2, mas o trabalho B em RT3. Assim, B é executado. Por favor, considere a figura modificada, onde os números vermelhos indicam a fila na qual a tarefa é executada.
Como você pode ver, o job B já saiu do RT2 na hora 9 (mais precisamente, ele deixa o RT2 no tempo 6), enquanto o job D acabou de entrar.