O Minix utiliza um algoritmo de escalonamento para multiniveis. Processos com mesma prioridade são colocados em filas pela função enqueue. O processo com o ponteiro head é o primeiro a ser executado enquanto o processo com o ponteiro tail é o último a ser executado. Quem determina essa política de escalonamento é a função shed. Ela é chamada sempre que um processo é adicionado a uma fila, decidindo onde ele será colocado.
Quando um processo demora muito para terminar sua execução ele pode acabar usando todo o seu quantum, assim sendo movido para o final da fila e recebendo um novo valor de quantum. No caso de um processo bloqueado que foi acordado, ele é colocado no começo da fila de execução e usa o que restou de seu quantum antes de ter sido bloqueado.
Assim, é a função Sched que determina a política de agendamento dos processos no Minix, checando se um processo ainda tem tempo e se não tiver, dá um novo quantum e possivelmente aumenta sua prioridade.
O Minix utiliza um algoritmo de escalonamento para multiniveis. Processos com mesma prioridade são colocados em filas pela função enqueue. O processo com o ponteiro head é o primeiro a ser executado enquanto o processo com o ponteiro tail é o último a ser executado. Quem determina essa política de escalonamento é a função shed. Ela é chamada sempre que um processo é adicionado a uma fila, decidindo onde ele será colocado.
Quando um processo demora muito para terminar sua execução ele pode acabar usando todo o seu quantum, assim sendo movido para o final da fila e recebendo um novo valor de quantum. No caso de um processo bloqueado que foi acordado, ele é colocado no começo da fila de execução e usa o que restou de seu quantum antes de ter sido bloqueado.
Assim, é a função Sched que determina a política de agendamento dos processos no Minix, checando se um processo ainda tem tempo e se não tiver, dá um novo quantum e possivelmente aumenta sua prioridade.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar