Leitura recomendada para entender melhor os componentes internos do Unix / Linux [fechado]

54

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.

Hemant
fonte
11
com a sua experiência, apenas a leitura da fonte do kernel ajudaria.) #
307
3
O RTFS é sempre o melhor, mas algumas vezes uma pequena leitura facilita a compreensão da fonte.
Stephen Jazdzewski
Alguém que tenha privilégios de edição realmente deve editar esse título.
precisa saber é o seguinte
11
Atualmente, estou seguindo o conselho de Matt Might em seu artigo, O que todo especialista em ciência da computação deve saber . Ele recomendou o ambiente de programação Unix de Kernighan e Pike, Linux Server Hacks, manual de administração de sistemas UNIX e Linux de Nemeth, Synder, Hein e Whaley, desenvolvimento de kernel Linux de Love e programação de rede Unix de Stevens, Fenner e Rudoff.
Anthony
11
@ Anthony, esses são excelentes recursos, mas mais orientados para a terra do usuário / linha de comando. Além disso, particularmente o Linux está mudando muito rapidamente agora, você precisa se manter atualizado. Recursos agradáveis ​​são LWN e kernelnewbies .
vonbrand

Respostas:

36

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.

miguel.de.icaza
fonte
9
por que um livro com 864 páginas é chamado de "para os impacientes"?
amphibient
12
@ amphibient Presumo que você não tenha visto a edição "para o paciente".
Christopher Poile 5/10
3
Isto não é "internos" ....
user997112
14
zvolkov
fonte
2
+1 para o livro do Lions. O xv6 do MIT é uma versão moderna do Lions v6 que roda em máquinas x86 e usa ANSI C. É possível fazer o download do código-fonte e do livro associado.
Daniel Näslund
8

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.

  • Algum livro sobre gerenciamento de memória virtual

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.

Se você precisar estudar o design e o conceito de sistemas operacionais, sugiro o seguinte livro: Conceitos de Sistema Operacional .

parte suja
fonte
11
Há outro livro sobre o gerenciador de memória virtual do linux. Inclui explicações sobre o código-fonte. URL: ptgmedia.pearsoncmg.com/images/0131453483/downloads/… (Legal para fazer o download)
dirtybit
+1. livro sobre "gerenciador de memória virtual"? parece muito interessante. obrigado :-).
Hemant
6

Kernel Linux O'REILLY em poucas palavras
e drivers de dispositivo Linux O'REILLY

Stephen Jazdzewski
fonte
11
Em resumo, o kernel do Linux é sobre como construir e instalar o kernel, não sobre os internos do Linux / Unix. Para não dizer que não é um bom livro, mas sou um pouco tendenciosa. Ah, esses dois livros são on-line gratuitos, se você quiser vê-los lá.
Greg KH
2

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/

cannedprimates
fonte
2

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.

Larry Smithmier
fonte
1

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.

Phil Miller
fonte