next up previous contents index
Next: bnnk_addproc Up: Estrutura do BananaKernel Previous: bnnk_close

Escalonador de processos

Para simplificar a visualização do escalonador de processos, definiu-se como um processo qualquer função cujas variáveis são estáticas e que foi adicionada à lista de processos. Assim, evita-se códigos complexos para carregar um binário nos formatos comuns de saída dos compiladores, como ELF e a.out .

O módulo do escalonador de processos fornece funções para adicionar e remover processos, além de uma função para troca de contexto.

bnnk_addproc() 
inclui um novo processo á lista de processos;
bnnk_delproc() 
remove um processo desta lista; e
bnnk_swapproc() 
muda o contexto para o próximo processo.
bnnk_procstat()
imprime na tela uma tabela contendo o identificador do processo, o seu endereço na memória, sua prioridade (na versão intermediária), entre outras informações.

Para cada função do escalonador de processos, serão descritos os seus parâmetros de entrada e saída e mostrado o seu protótipo.

Assim como o gerenciador de memória, o escalonador de processos possui uma função para mostrar o estado dos processos existentes, chamada bnnk_procstat , também chamada sem parâmetros.



 

rafael@safecore.net