Livros que eu recomendo para qualquer um:<br>Programacao em C:<br>&nbsp;- The C Programming Language, Kernighan e Dennis Ritchie<br>&nbsp;Classico dos classicos em programacao em C, pode ate'&nbsp; achar<br>&nbsp;um livro que introduza mais facilmente os conceitos de C, mas 
<br>&nbsp;esse livro e'&nbsp; essencial.<br>&nbsp;- The Practice Of Programming, R. Pike e Kernighan,<br>&nbsp;Depois que voce ja souber programar em C, esse livro vai te dar umas<br>&nbsp;BOAS dicas de como ser um bom programador. Interfaces, debugging,
<br>&nbsp;estilo de programacao (capitulo MUITO bom livro hahaha ), testando,<br>&nbsp;portabilidade e etc.<br>&nbsp;- Mastering Algorithms in C, da O'reilly me esqueci o autor<br>&nbsp;(em portugues e': dominando algoritmos em C), esse livro
<br>vai te mostrar de maneira bem pratica algumas das melhores<br>estruturas de dados em C: listas, pilhas, hash tables, e etc.<br>Muito bom esse livro por sinal, essas estruturas voce vai encon-<br>trar e usar massivamente.
<br><br>Programacao em UNIX:<br>&nbsp;- Advanced Programming in UNIX Environment, W. Richard Stevens<br>&nbsp;Cobre programacao em ambientes UNIX em geral, MUITO bom, muito <br>&nbsp;completo vai te mostrar na pratica as coisas, alem do que qualquer livro 
<br>&nbsp;do Stevens e' muito bom!<br>&nbsp;- UNIX Network Programming Vol. 1, W. Richard Stevens<br>&nbsp;E' O LIVRO para se ter quando se quiser programar em BSD Sockets,<br>&nbsp;MUITO BOM, completo, na minha opiniao e' a UNICA referencia para quem
<br>&nbsp;quer trabalhar com isso.<br>&nbsp;- UNIX Network Programming Vol. 2, W. Richard Stevens<br>&nbsp;Cobre Inter Process Communication, talvez nao seja util logo de cara para<br>&nbsp;voce, mas conforme os seus programas forem se tornando mais complexos,
<br>&nbsp;algum tipo de sincronizacao, sharing de informacoes, utilizacao de threads e <br>&nbsp;etc, vao ser necessarios. Este livro tambem e'&nbsp; muito bom.<br>&nbsp;- The Art Of UNIX Programming, Eric S. Raymond, <br>&nbsp;Esse ai e'&nbsp; de pirar, realmente mostra o amago do modo UNIX de fazer as
<br>&nbsp;coisas. Muito bom para educar um programador sobre as maneiras de se fazer<br>&nbsp;as coisas em UNIX, (esse livro o autor disponibiliza on-line:<br>&nbsp;<a href="http://www.catb.org/esr/writings/taoup/">http://www.catb.org/esr/writings/taoup/
</a>, da um olhada, e'&nbsp; quase zen :))<br><br>Sistemas Operacionais:<br>&nbsp;Eu comecaria por esses dois titulos e depois iria me aprofundando em qual<br>distribuicao fosse mais do seu gosto:<br><br>&nbsp;- Design of UNIX Operating System, Bach
<br>&nbsp;Esse livro e'&nbsp; antigo, mas da uma boa introducao para os conceitos de UNIX,<br>&nbsp;e como sao implementadas as coisas no kernel.<br>&nbsp;- Design and Implementation of Operating Systems, Tanenbaum.<br>&nbsp;Muito bom,vc provavelmente vai estudar ele na faculdade, bastante pratico, 
<br>&nbsp;explica os conceitos e depois mostra no minix eles sendo implementados,<br>&nbsp;otima leitura.<br>&nbsp;<br>&nbsp;Depois que voce ja tiver habituado com o kernel-land, voce pode atacar com:<br>&nbsp;- Understanding the Linux Kernel, da O'reilly (esqueci o autor):
<br>&nbsp;Livro muito bom, cobre o kernel 2.6.x, e explica as internas do kernel do linux<br><br>&nbsp;- Design and Implementation of the FreeBSD Operating System, McKusick, <br>Ouvi dizer que e' um otimo livro, eu particularmente nunca o li, mas acredito que
<br>deva ser referencia na area.<br><br>Enfim, entreguei o ouro pra voce, com esse livros ai, NAO TEM COMO voce<br>nao se tornar um otimo programador em ambientes UNIX e quem sabe ate'&nbsp; um<br>desenvolvedor de alguns sistemas operacionais.
<br><br>Boa sorte,<br>Victor F. Loureiro Lima<br>