Í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.