Introduzir o aluno aos fundamentos do desenvolvimento de software de sistemas, desafios técnicos, metodológicos e estado da arte.
Introdução ao software de sistema e evolução, projeto e desenvolvimento de sistemas operacionais e bibliotecas de sistema, desenvolvimento de aplicações portáveis, emuladores, depuração de software de sistema.
Fundamentos conceituais: introdução ao software de sistema, evolução histórica e estado da arte. Projeto de software de sistema: projeto e desenvolvimento de sistemas operacionais, bibliotecas de programação estáticas e dinâmicas, compiladores, utilitários de sistema. Programação de software de sistema: ferramentas, depuração, emuladores, testes. Portabilidade de software: desenvolvimento de software portável, compilação cruzada, porte de bibliotecas e compiladores, requisitos de desempenho e manutenção. Estudo de caso: padrão POSIX, comparações com outros padrões.
Livros Texto: Bach, Maurice J. The design of the UNIX operating system. Vol. 1. Englewood Cliffs, NJ: Prentice-Hall, 1986. Bibliografia Complementar: Loosemore, Sandra, et al. The GNU C library reference manual. Boston: Free software foundation, 2001. Raymond, Eric S. The art of Unix programming. Addison-Wesley Professional, 2003.