Índice de Documentação Adicional do Kernel¶
A necessidade de um documento como este tornou-se evidente na lista de discussão linux-kernel, uma vez que as mesmas perguntas, solicitando referências de informações, apareciam repetidamente.
Felizmente, à medida que cada vez mais pessoas chegam ao GNU/Linux, mais pessoas se interessam pelo Kernel. No entanto, ler o código-fonte nem sempre é o suficiente. É fácil entender o código, mas perder os conceitos, a filosofia e as decisões de design por trás dele.
Infelizmente, não há muitos documentos disponíveis para iniciantes começarem. E, mesmo quando existem, não havia um local “bem conhecido” que os centralizasse. Estas linhas tentam suprir essa falta.
POR FAVOR, se você conhece algum artigo não listado aqui ou se escrever um novo documento, inclua uma referência a ele aqui, seguindo o processo de envio de patches do kernel. Quaisquer correções, ideias ou comentários também são bem-vindos.
Todos os documentos estão catalogados com os seguintes campos: o “Título” do documento, o(s) “Autor(es)”, a “URL” onde podem ser encontrados, algumas “Palavras-chave” úteis para pesquisar tópicos específicos e uma breve “Descrição” do documento.
Note
Os documentos em cada seção deste documento estão ordenados por sua data de publicação, do mais recente para o mais antigo. O(s) mantenedor(es) deve(m) remover periodicamente recursos à medida que se tornem obsoletos ou desatualizados; com exceção de livros fundamentais.
Documentação na árvore do Kernel¶
Os manuais Sphinx devem ser compilados com make {htmldocs | pdfdocs | epubdocs}.
Nome: linux/Documentation
- Autor:
Muitos.
- Localização:
Documentation/
- Palavras-chave:
arquivos de texto, Sphinx.
- Descrição:
Documentação que acompanha o código-fonte do kernel, dentro do diretório Documentation. Algumas páginas deste documento (incluindo este próprio documento) foram movidas para lá e podem estar mais atualizadas do que a versão web.
Documentação on-line¶
Título: Linux Kernel Mailing List Glossary
- Autor:
diversos
- URL:
- Data:
versão contínua (rolling)
- Palavras-chave:
glossário, termos, linux-kernel.
- Descrição:
Da introdução: “Este glossário destina-se a ser uma breve descrição de algumas das siglas e termos que você poderá ouvir durante as discussões sobre o kernel Linux”.
Título: The Linux Kernel Module Programming Guide
- Autor:
Peter Jay Salzman, Michael Burian, Ori Pomerantz, Bob Mottram, Jim Huang.
- URL:
- Data:
2021
- Palavras-chave:
módulos, livro GPL, /proc, ioctls, chamadas de sistema, manipuladores de interrupção.
- Descrição:
Um excelente livro sob licença GPL sobre o tópico de programação de módulos. Repleto de exemplos. Atualmente, a nova versão está sendo mantida ativamente em https://github.com/sysprog21/lkmpg.
Livros Publicados¶
Title: The Linux Memory Manager
- Autor:
Lorenzo Stoakes
- Editora:
No Starch Press
- Data:
Fevereiro 2025
- Páginas:
1300
- ISBN:
978-1718504462
- Notas:
Gerenciamento de memória. Rascunho completo disponível como acesso antecipado para ré-venda, lançamento completo agendado para o outono de 2025. Veja https://nostarch.com/linux-memory-manager para mais informações.
Title: Practical Linux System Administration: A Guide to Installation, Configuration, and Management, 1st Edition
- Autor:
Kenneth Hess
- Editora:
O’Reilly Media
- Data:
Maio, 2023
- Páginas:
246
- ISBN:
978-1098109035
- Notas:
Administração de sistemas
Title: Linux Kernel Debugging: Leverage proven tools and advanced techniques to effectively debug Linux kernels and kernel modules
- Autor:
Kaiwan N Billimoria
- Editora:
Packt Publishing Ltd
- Data:
Agosto, 2022
- Páginas:
638
- ISBN:
978-1801075039
- Notas:
Livro sobre depuração (debugging)
Title: Linux Kernel Programming: A Comprehensive Guide to Kernel Internals, Writing Kernel Modules, and Kernel Synchronization
- Autor:
Kaiwan N Billimoria
- Editora:
Packt Publishing Ltd
- Data:
Março, 2021 (Segunda edição publicada em 2024)
- Páginas:
754
- ISBN:
978-1789953435 (O ISBN da segunda edição é 978-1803232225)
Title: Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization: Create user-kernel interfaces, work with peripheral I/O, and handle hardware interrupts
- Autor:
Kaiwan N Billimoria
- Editora:
Packt Publishing Ltd
- Data:
Março, 2021
- Páginas:
452
- ISBN:
978-1801079518
Title: Linux System Programming: Talking Directly to the Kernel and C Library
- Autor:
Robert Love
- Editora:
O’Reilly Media
- Data:
Junho, 2013
- Páginas:
456
- ISBN:
978-1449339531
- Notas:
Livro fundamental
Título: Linux Kernel Development, 3rd Edition
- Autor:
Robert Love
- Editora:
Addison-Wesley
- Data:
Julho de 2010
- Páginas:
440
- ISBN:
978-0672329463
- Notas:
Livro fundamental
Título: Linux Device Drivers, 3rd Edition
- Autores:
Jonathan Corbet, Alessandro Rubini e Greg Kroah-Hartman
- Editora:
O’Reilly & Associates
- Data:
2005
- Páginas:
636
- ISBN:
0-596-00590-3
- Notas:
Livro fundamental. Mais informações em http://www.oreilly.com/catalog/linuxdrive3/ Formato PDF, URL: https://lwn.net/Kernel/LDD3/
Título: The Design of the UNIX Operating System
- Autor:
Maurice J. Bach
- Editora:
Prentice Hall
- Data:
1986
- Páginas:
471
- ISBN:
0-13-201757-1
- Notas:
Livro fundamental
Diversos¶
Nome: Cross-Referencing Linux
- URL:
- Palavras-chave:
Navegação em código-fonte.
- Descrição:
Outro navegador web para o código-fonte do kernel Linux. Possui muitas referências cruzadas para variáveis e funções. Você pode ver onde elas são definidas e onde são utilizadas.
Nome: Linux Weekly News
- URL:
- Palavras-chave:
últimas notícias do kernel.
- Descrição:
O título diz tudo. Há uma seção fixa sobre o kernel que resume o trabalho dos desenvolvedores, correções de bugs, novos recursos e versões produzidas durante a semana.
Nome: The home page of Linux-MM
- Autor:
A equipe Linux-MM.
- URL:
- Palavras-chave:
gerenciamento de memória, Linux-MM, mm patches, TODO, docs, mailing list.
- Descrição:
Site dedicado ao desenvolvimento do Gerenciamento de Memória do Linux. Patches relacionados à memória, HOWTOs, links, desenvolvedores mm... Não perca se você estiver interessado no desenvolvimento do gerenciamento de memória!
Nome: Kernel Newbies IRC Channel and Website
- URL:
- Palavras-chave:
IRC, novatos, canal, tirar dúvidas.
- Descrição:
#kernelnewbies em irc.oftc.net. O canal #kernelnewbies é uma rede de IRC dedicada ao hacker de kernel “novato” (newbie). O público consiste principalmente de pessoas que estão aprendendo sobre o kernel, trabalhando em projetos do kernel ou hackers profissionais que desejam ajudar pessoas menos experientes. O #kernelnewbies está na rede de IRC OFTC. Tente acessar irc.oftc.net como seu servidor e então digite /join #kernelnewbies. O site kernelnewbies também hospeda artigos, documentos, FAQs...
Nome: linux-kernel mailing list archives and search engines
- URL:
- URL:
- Palavras-chave:
linux-kernel, arquivos, busca.
- Descrição:
Alguns dos arquivadores da lista de discussão linux-kernel. Se você conhece algum outro (ou um melhor), por favor, me avise.
Nome: The Linux Foundation YouTube channel
- URL:
- Palavras-chave:
linux, vídeos, linux-foundation, youtube.
- Descrição:
A Linux Foundation faz o upload de gravações de vídeo de seus eventos colaborativos, conferências de Linux (incluindo a LinuxCon) e outras pesquisas originais e conteúdos relacionados ao Linux e ao desenvolvimento de software.
Rust¶
Título: Rust for Linux
- Autor:
diversos
- URL:
- Data:
versão contínua (rolling)
- Palavras-chave:
glossário, termos, linux-kernel, rust.
- Descrição Do site:
“Rust for Linux é o projeto que adiciona suporte à linguagem Rust ao kernel Linux. Este site pretende ser um hub de links, documentação e recursos relacionados ao projeto”.
Título: Learn Rust the Dangerous Way
- Autor:
Cliff L. Biffle
- URL:
- Data:
Acessado em 11 de setembro de 2024
- Palavras-chave:
rust, blog.
- Descrição:
Do site: “LRtDW é uma série de artigos que coloca os recursos do Rust em contexto para programadores C de baixo nível que talvez não tenham uma formação formal em Ciência da Computação, o tipo de pessoa que trabalha com firmware, engines de jogos, kernels de SO e afins. Basicamente, pessoas como eu.”. O site ilustra conversões de linha por linha de C para Rust.
Título: The Rust Book
- Autor:
Steve Klabnik e Carol Nichols, com contribuições da comunidade Rust
- URL:
- Data:
Acessado em 11 de setembro de 2024
- Palavras-chave:
rust, livro.
- Descrição:
Do site: “Este livro abraça totalmente o potencial do Rust para capacitar seus usuários. É um texto amigável e acessível destinado a ajudá-lo a elevar não apenas seu conhecimento de Rust, mas também seu alcance e confiança como programador em geral. Então mergulhe de cabeça, prepare-se para aprender e bem-vindo à comunidade Rust!”.
Título: Rust for the Polyglot Programmer
- Autor:
Ian Jackson
- URL:
https://www.chiark.greenend.org.uk/~ianmdlvl/rust-polyglot/index.html
- Data:
Dezembro de 2022
- Palavras-chave:
rust, blog, tooling.
- Descrição:
Do site: “Existem muitos guias e introduções ao Rust. Este é algo diferente: destina-se ao programador experiente que já conhece muitas outras linguagens de programação. Tento ser abrangente o suficiente para servir de ponto de partida para qualquer área do Rust, mas evito entrar em detalhes excessivos, exceto onde as coisas não são como você poderia esperar. Além disso, este guia não é inteiramente isento de opiniões, incluindo recomendações de bibliotecas (crates), ferramentas, etc.”.
Título: Fasterthanli.me
- Autor:
Amos Wenger
- URL:
- Data:
Acessado em 11 de setembro de 2024
- Palavras-chave:
rust, blog, notícias.
- Descrição:
Do site: “Eu crio artigos e vídeos sobre como os computadores funcionam. Meu conteúdo é de formato longo, didático e exploratório e frequentemente uma desculpa para ensinar Rust!”.
Título: Comprehensive Rust
- Autor:
Equipe Android do Google
- URL:
- Data:
Acessado em 13 de setembro de 2024
- Palavras-chave:
rust, blog.
- Descrição:
Do site: “O curso cobre todo o espectro do Rust, desde a sintaxe básica até tópicos avançados como genéricos e tratamento de erros”.
Título: The Embedded Rust Book
- Autor:
Múltiplos colaboradores, principalmente Jorge Aparicio
- URL:
- Data:
Acessado em 13 de setembro de 2024
- Palavras-chave:
rust, blog.
- Descrição:
Do site: “Um livro introdutório sobre o uso da linguagem de programação Rust em sistemas embarcados ‘Bare Metal’, como microcontroladores”.
Título: Experiment: Improving the Rust Book
- Autor:
Cognitive Engineering Lab na Brown University
- URL:
- Data:
Acessado em 22 de setembro de 2024
- Palavras-chave:
rust, blog.
- Descrição:
Do site: “O objetivo deste experimento é avaliar e melhorar o conteúdo do Rust Book para ajudar as pessoas a aprenderem Rust de forma mais eficaz”.
Título: New Rustacean (podcast)
- Autor:
Chris Krycho
- URL:
- Data:
Acessado em 22 de setembro de 2024
- Palavras-chave:
rust, podcast.
- Descrição:
Do site: “Este é um podcast sobre aprender a linguagem de programação Rust do zero! Além desta página inicial elegante, todo o conteúdo do site é construído com as próprias ferramentas de documentação do Rust”.
Título: Opsem-team (repositório)
- Autor:
Equipe de semântica operacional (Operational semantics team)
- URL:
- Data:
Acessado em 22 de setembro de 2024
- Palavras-chave:
rust, repositório.
- Descrição:
Do README: “A equipe opsem é a sucessora do grupo de trabalho unsafe-code-guidelines e é responsável por responder a muitas das perguntas difíceis sobre a semântica do Rust inseguro (unsafe Rust)”.
Título: You Can’t Spell Trust Without Rust
- Autor:
Alexis Beingessner
- URL:
https://repository.library.carleton.ca/downloads/1j92g820w?locale=en
- Data:
2015
- Palavras-chave:
rust, mestrado, tese.
- Descrição:
Esta tese foca no sistema de propriedade (ownership) do Rust, que garante a segurança de memória ao controlar a manipulação de dados e o tempo de vida, enquanto também destaca suas limitações e o compara a sistemas semelhantes no Cyclone e C++.
Nome: Apresentações de Rust no Linux Plumbers (LPC) 2024
- Título:
Rust microconference
- URL:
- Título:
Rust for Linux
- URL:
- Título:
Journey of a C kernel engineer starting a Rust driver project
- URL:
- Título:
Crafting a Linux kernel scheduler that runs in user-space using Rust
- URL:
- Título:
openHCL: A Linux and Rust based paravisor
- URL:
- Palavras-chave:
rust, lpc, apresentações.
- Descrição:
Uma série de palestras do LPC relacionadas ao Rust.
Nome: The Rustacean Station Podcast
- URL:
- Palavras-chave:
rust, podcasts.
- Descrição:
Um projeto comunitário para a criação de conteúdo em podcast sobre a linguagem de programação Rust.
Este documento foi originalmente baseado em:
https://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html
e escrito por Juan-Mariano de Goyeneche.