Familiarizar os alunos com uma implementação completa de um sistema operacional de código-fonte aberto, suscetível de ser usado, modificado e distribuído livremente.
Sistemas Unix e correlatos. Linux. Aplicativos GNU.
Introdução - Breve introdução histórica. Multics, Unix. O projeto GNU e a Free Software Fundation. Linux. a licença GPL e correlatas. Desenvolvimento de aplictivos: Software livre vs. e open-source. O funcionamento de um sistema GNU/Linux (camadas). Gerenciador de boot - Grand Unified Bootoloader (GRUB). Funcionamento. Interpretador de comandos. Configuração. Master Boot Record (MBR). Midia de recuperação. O Kernel Linux - Inicialização. Scheduler, prioridades, niceness. Gerenciamento de memória virtual (VM). System V INIT - Init, telinit e rc. Configuração e inittab. Links simbólicos. Runlevels. Implementação no Debian. Upstart. Sistemas de boot alternativos. Tópicos de programação - Debuggers. GDB: O depurador do projeto GNU. Depuradores de memória. A compilação do kernel Linux. Programas específicos para a depuração do kernel Linux. Desenvolvimento de aplicativos urtilizando POSIX pthreads. A implementação do Projeto GNU dos POSIX pthreads. Shells. X11. Gerenciadores de janelas.
Redigida quase na sua totalidade em língua inglesa, consistirá principalmente na documentação do projeto GNU, como também de outras referências disponíveis na Internet, que serão divulgadas oportunamente.