Pesquisando Sistemas Operacionais
O iniciante em qualquer nova área de conhecimento sofre muito, na minha experiência, com as exigências transversais ao puro conhecimento que se impõe a ele.
O programador iniciante, por exemplo, sofre com a ferramenta de compilação, com o ambiente de compilação, com as peculiaridades do linker e do loader no sistema que ele está usando.
Da mesma forma, quem deseja iniciar uma pesquisa em sistemas operacionais deve lidar com problemas transversais aos algortimos de escalonamento e gerência de memória, como a singela atividade de bootar o kernel.
Reencontrei hoje uma ferramenta que me auxiliou muito nas minhas primeiras tentativas: o GRUB. Essa ferramenta não só facilita o processo de boot, resolvendo os problemas iniciais, como oferece ao kernel um protocolo de início muito similar ao protocolo de início da própria linguagem de programação, com uma função main.
O projeto GRUB vai além e oferece código-fonte em assembler e C para um kernel capaz de imprimir "Hello World!" de modo que qualquer programador minimamente determinado poderá iniciar seus estudos.
