Eu trabalhei em ambientes * nix nos últimos quatro anos como desenvolvedor de aplicativos (principalmente em C).
Por favor, sugira alguns livros / blogs etc. para melhorar meu conhecimento interno * nix.
Eu trabalhei em ambientes * nix nos últimos quatro anos como desenvolvedor de aplicativos (principalmente em C).
Por favor, sugira alguns livros / blogs etc. para melhorar meu conhecimento interno * nix.
Respostas:
Aqui estão algumas sugestões sobre como entender o "espírito" do Unix, além das ótimas recomendações que foram feitas nos posts anteriores:
"The Unix Programming Environment", de Kernighan e Pike: um livro antigo, mas mostra a essência do ambiente Unix. Também o ajudará a se tornar um usuário de shell eficaz.
"Unix para o impaciente" é um recurso útil para aprender a navegar no ambiente Unix. Um dos meus favoritos.
Se você quer se tornar um usuário avançado, não há nada melhor do que as "Unix Power Tools" de O'Reilly, que consistem nas dicas e truques coletivos dos profissionais do Unix.
Outro livro que eu não vi mencionado que é uma leitura divertida e educativa é o "Sistemas Operacionais, Design e Implementação", o livro de Andy Tanenbaum que incluía o código fonte de um sistema operacional Unix completo em 12k linhas de código.
Você definitivamente quer ler Programação Avançada no Ambiente Unix por Stevens . Não deixe que o título Avançado o assuste, é muito legível.
Livros / sites / manuais que uso frequentemente:
O kernel do Linux : este livro é publicado online como parte do TLDP (The Linux Documentation Project). Ele não é atualizado e não é um manual interno, mas fornece informações úteis e materiais introdutórios sobre os princípios e mecanismos do kernel.
Noções básicas sobre o Linux Kernel: IMHO, é o melhor livro para iniciantes que tem experiência em design e conceito de sistemas operacionais. É aceito como atualizado, abrange a versão 2.6 do kernel. Existe uma versão em HTML do livro na web, mas acho que é provavelmente o warez.
Ao estudar os componentes internos do kernel do linux, você geralmente precisa aprender como o hardware funciona e o que o hardware fornece de maneira abstrata. A Intel tem ótimos manuais para isso.
Manuais do desenvolvedor de software das arquiteturas Intel 64 e IA-32 : Informações atualizadas e detalhadas.
Manual de referência do programador Intel 80386 : Sei que isso é um pouco antigo, mas aprendi muitas coisas com este manual.
Se você precisar estudar o design e o conceito de sistemas operacionais, sugiro o seguinte livro: Conceitos de Sistema Operacional .
Kernel Linux O'REILLY em poucas palavras
e drivers de dispositivo Linux O'REILLY
Linux Systems Programming ou qualquer outro livro de Robert Love (estes são todos os livros da O'Reilly):
Concordo com todos os outros e devo dizer que o APUE de Stevens (tenho a segunda edição) é um clássico. Eu também gostaria de acrescentar que A Arte da Programação UNIX, de Eric Raymond, está na lista com Stevens na minha lista.
Bem, para o BSD Unices, existe o projeto e implementação do sistema operacional 4.4BSD, cujas partes agora estão aparentemente disponíveis gratuitamente em http://www.freebsd.org/doc/en/books/design-44bsd/
Drivers de dispositivo Linux é outro bom recurso. Daria a você outra maneira de entrar no funcionamento interno. Do prefácio:
Este é, na superfície, um livro sobre como escrever drivers de dispositivo para o sistema Linux. Esse é um objetivo digno, é claro; é provável que o fluxo de novos produtos de hardware não diminua tão cedo e alguém precisará fazer com que todos esses novos gadgets funcionem com o Linux. Mas este livro também é sobre como o kernel do Linux funciona e como adaptar seu funcionamento às suas necessidades ou interesses. Linux é um sistema aberto; com este livro, esperamos que seja mais aberto e acessível a uma comunidade maior de desenvolvedores.
Para entender o porquê e o que o kernel deve suportar, dê uma olhada em The Art of Unix Programming, de Eric Raymond. Leva as coisas a um nível filosófico razoavelmente alto, mas combinaria bem com os detalhes minuciosos de outros livros.
Posso sugerir os dois livros a seguir também (além dos outros):
Mencionei o primeiro extensivamente (se eu tivesse melhor memória e tivesse mais tempo, saberia muito mais do que sei agora; mas isso é outra história). Atualmente, estou lendo o segundo.