xref: /linux/Documentation/translations/pt_BR/process/kernel-docs.rst (revision bba2c3615bd6cfee7456d1130f2e6b01b3f4e9ba)
1.. SPDX-License-Identifier: GPL-2.0
2
3Índice de Documentação Adicional do Kernel
4==========================================
5
6A necessidade de um documento como este tornou-se evidente na lista de discussão
7linux-kernel, uma vez que as mesmas perguntas, solicitando referências de
8informações, apareciam repetidamente.
9
10Felizmente, à medida que cada vez mais pessoas chegam ao GNU/Linux, mais pessoas
11se interessam pelo Kernel. No entanto, ler o código-fonte nem sempre é o
12suficiente. É fácil entender o código, mas perder os conceitos, a filosofia
13e as decisões de design por trás dele.
14
15Infelizmente, não há muitos documentos disponíveis para iniciantes começarem.
16E, mesmo quando existem, não havia um local "bem conhecido" que os centralizasse.
17Estas linhas tentam suprir essa falta.
18
19POR FAVOR, se você conhece algum artigo não listado aqui ou se escrever um novo
20documento, inclua uma referência a ele aqui, seguindo o processo de envio de
21patches do kernel. Quaisquer correções, ideias ou comentários também são
22bem-vindos.
23
24Todos os documentos estão catalogados com os seguintes campos: o "Título" do
25documento, o(s) "Autor(es)", a "URL" onde podem ser encontrados, algumas
26"Palavras-chave" úteis para pesquisar tópicos específicos e uma breve
27"Descrição" do documento.
28
29.. note::
30
31   Os documentos em cada seção deste documento estão ordenados por sua data de
32   publicação, do mais recente para o mais antigo. O(s) mantenedor(es) deve(m)
33   remover periodicamente recursos à medida que se tornem obsoletos ou
34   desatualizados; com exceção de livros fundamentais.
35
36Documentação na árvore do Kernel
37--------------------------------
38
39Os manuais Sphinx devem ser compilados com ``make {htmldocs | pdfdocs | epubdocs}``.
40
41    * Nome: **linux/Documentation**
42
43      :Autor: Muitos.
44      :Localização: Documentation/
45      :Palavras-chave: arquivos de texto, Sphinx.
46      :Descrição: Documentação que acompanha o código-fonte do kernel,
47        dentro do diretório Documentation. Algumas páginas deste documento
48        (incluindo este próprio documento) foram movidas para lá e podem
49        estar mais atualizadas do que a versão web.
50
51Documentação on-line
52--------------------
53
54    * Título: **Linux Kernel Mailing List Glossary**
55
56      :Autor: diversos
57      :URL: https://kernelnewbies.org/KernelGlossary
58      :Data: versão contínua (rolling)
59      :Palavras-chave: glossário, termos, linux-kernel.
60      :Descrição: Da introdução: "Este glossário destina-se a ser uma breve
61        descrição de algumas das siglas e termos que você poderá ouvir durante
62        as discussões sobre o kernel Linux".
63
64    * Título: **The Linux Kernel Module Programming Guide**
65
66      :Autor: Peter Jay Salzman, Michael Burian, Ori Pomerantz, Bob Mottram,
67        Jim Huang.
68      :URL: https://sysprog21.github.io/lkmpg/
69      :Data: 2021
70      :Palavras-chave: módulos, livro GPL, /proc, ioctls, chamadas de sistema,
71        manipuladores de interrupção.
72      :Descrição: Um excelente livro sob licença GPL sobre o tópico de
73        programação de módulos. Repleto de exemplos. Atualmente, a nova versão
74        está sendo mantida ativamente em https://github.com/sysprog21/lkmpg.
75
76Livros Publicados
77-----------------
78
79    * Title: **The Linux Memory Manager**
80
81      :Autor: Lorenzo Stoakes
82      :Editora: No Starch Press
83      :Data: Fevereiro 2025
84      :Páginas: 1300
85      :ISBN: 978-1718504462
86      :Notas: Gerenciamento de memória. Rascunho completo disponível como acesso
87        antecipado para ré-venda, lançamento completo agendado para o
88        outono de 2025. Veja https://nostarch.com/linux-memory-manager
89        para mais informações.
90
91    * Title: **Practical Linux System Administration: A Guide to Installation, Configuration, and Management, 1st Edition**
92
93      :Autor: Kenneth Hess
94      :Editora: O'Reilly Media
95      :Data: Maio, 2023
96      :Páginas: 246
97      :ISBN: 978-1098109035
98      :Notas: Administração de sistemas
99
100    * Title: **Linux Kernel Debugging: Leverage proven tools and advanced techniques to effectively debug Linux kernels and kernel modules**
101
102      :Autor: Kaiwan N Billimoria
103      :Editora: Packt Publishing Ltd
104      :Data: Agosto, 2022
105      :Páginas: 638
106      :ISBN: 978-1801075039
107      :Notas: Livro sobre depuração (debugging)
108
109    * Title: **Linux Kernel Programming: A Comprehensive Guide to Kernel Internals, Writing Kernel Modules, and Kernel Synchronization**
110
111      :Autor: Kaiwan N Billimoria
112      :Editora: Packt Publishing Ltd
113      :Data: Março, 2021 (Segunda edição publicada em 2024)
114      :Páginas: 754
115      :ISBN: 978-1789953435 (O ISBN da segunda edição é 978-1803232225)
116
117    * 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**
118
119      :Autor: Kaiwan N Billimoria
120      :Editora: Packt Publishing Ltd
121      :Data: Março, 2021
122      :Páginas: 452
123      :ISBN: 978-1801079518
124
125    * Title: **Linux System Programming: Talking Directly to the Kernel and C Library**
126
127      :Autor: Robert Love
128      :Editora: O'Reilly Media
129      :Data: Junho, 2013
130      :Páginas: 456
131      :ISBN: 978-1449339531
132      :Notas: Livro fundamental
133
134    * Título: **Linux Kernel Development, 3rd Edition**
135
136      :Autor: Robert Love
137      :Editora: Addison-Wesley
138      :Data: Julho de 2010
139      :Páginas: 440
140      :ISBN: 978-0672329463
141      :Notas: Livro fundamental
142
143    * Título: **Linux Device Drivers, 3rd Edition**
144
145      :Autores: Jonathan Corbet, Alessandro Rubini e Greg Kroah-Hartman
146      :Editora: O'Reilly & Associates
147      :Data: 2005
148      :Páginas: 636
149      :ISBN: 0-596-00590-3
150      :Notas: Livro fundamental. Mais informações em
151        http://www.oreilly.com/catalog/linuxdrive3/
152        Formato PDF, URL: https://lwn.net/Kernel/LDD3/
153
154    * Título: **The Design of the UNIX Operating System**
155
156      :Autor: Maurice J. Bach
157      :Editora: Prentice Hall
158      :Data: 1986
159      :Páginas: 471
160      :ISBN: 0-13-201757-1
161      :Notas: Livro fundamental
162
163Diversos
164--------
165
166    * Nome: **Cross-Referencing Linux**
167
168      :URL: https://elixir.bootlin.com/
169      :Palavras-chave: Navegação em código-fonte.
170      :Descrição: Outro navegador web para o código-fonte do kernel Linux.
171        Possui muitas referências cruzadas para variáveis e funções. Você pode
172        ver onde elas são definidas e onde são utilizadas.
173
174    * Nome: **Linux Weekly News**
175
176      :URL: https://lwn.net
177      :Palavras-chave: últimas notícias do kernel.
178      :Descrição: O título diz tudo. Há uma seção fixa sobre o kernel que
179        resume o trabalho dos desenvolvedores, correções de bugs, novos recursos
180        e versões produzidas durante a semana.
181
182    * Nome: **The home page of Linux-MM**
183
184      :Autor: A equipe Linux-MM.
185      :URL: https://linux-mm.org/
186      :Palavras-chave: gerenciamento de memória, Linux-MM, mm patches, TODO,
187        docs, mailing list.
188      :Descrição: Site dedicado ao desenvolvimento do Gerenciamento de Memória
189        do Linux. Patches relacionados à memória, HOWTOs, links, desenvolvedores
190        mm... Não perca se você estiver interessado no desenvolvimento do
191        gerenciamento de memória!
192
193    * Nome: **Kernel Newbies IRC Channel and Website**
194
195      :URL: https://www.kernelnewbies.org
196      :Palavras-chave: IRC, novatos, canal, tirar dúvidas.
197      :Descrição: #kernelnewbies em irc.oftc.net.
198        O canal #kernelnewbies é uma rede de IRC dedicada ao hacker de kernel
199        "novato" (newbie). O público consiste principalmente de pessoas que estão
200        aprendendo sobre o kernel, trabalhando em projetos do kernel ou hackers
201        profissionais que desejam ajudar pessoas menos experientes.
202        O #kernelnewbies está na rede de IRC OFTC.
203        Tente acessar irc.oftc.net como seu servidor e então digite /join #kernelnewbies.
204        O site kernelnewbies também hospeda artigos, documentos, FAQs...
205
206    * Nome: **linux-kernel mailing list archives and search engines**
207
208      :URL: https://subspace.kernel.org
209      :URL: https://lore.kernel.org
210      :Palavras-chave: linux-kernel, arquivos, busca.
211      :Descrição: Alguns dos arquivadores da lista de discussão linux-kernel.
212        Se você conhece algum outro (ou um melhor), por favor, me avise.
213
214    * Nome: **The Linux Foundation YouTube channel**
215
216      :URL: https://www.youtube.com/user/thelinuxfoundation
217      :Palavras-chave: linux, vídeos, linux-foundation, youtube.
218      :Descrição: A Linux Foundation faz o upload de gravações de vídeo de seus
219        eventos colaborativos, conferências de Linux (incluindo a LinuxCon) e
220        outras pesquisas originais e conteúdos relacionados ao Linux e ao
221        desenvolvimento de software.
222
223Rust
224----
225
226    * Título: **Rust for Linux**
227
228      :Autor: diversos
229      :URL: https://rust-for-linux.com/
230      :Data: versão contínua (rolling)
231      :Palavras-chave: glossário, termos, linux-kernel, rust.
232      :Descrição Do site: "Rust for Linux é o projeto que adiciona suporte à
233        linguagem Rust ao kernel Linux. Este site pretende ser um hub de links,
234        documentação e recursos relacionados ao projeto".
235
236    * Título: **Learn Rust the Dangerous Way**
237
238      :Autor: Cliff L. Biffle
239      :URL: https://cliffle.com/p/dangerust/
240      :Data: Acessado em 11 de setembro de 2024
241      :Palavras-chave: rust, blog.
242      :Descrição: Do site: "LRtDW é uma série de artigos que coloca os recursos
243        do Rust em contexto para programadores C de baixo nível que talvez não
244        tenham uma formação formal em Ciência da Computação, o tipo de pessoa
245        que trabalha com firmware, engines de jogos, kernels de SO e afins.
246        Basicamente, pessoas como eu.". O site ilustra conversões de linha por
247        linha de C para Rust.
248
249    * Título: **The Rust Book**
250
251      :Autor: Steve Klabnik e Carol Nichols, com contribuições da comunidade Rust
252      :URL: https://doc.rust-lang.org/book/
253      :Data: Acessado em 11 de setembro de 2024
254      :Palavras-chave: rust, livro.
255      :Descrição: Do site: "Este livro abraça totalmente o potencial do Rust para
256        capacitar seus usuários. É um texto amigável e acessível destinado a
257        ajudá-lo a elevar não apenas seu conhecimento de Rust, mas também seu
258        alcance e confiança como programador em geral. Então mergulhe de cabeça,
259        prepare-se para aprender e bem-vindo à comunidade Rust!".
260
261    * Título: **Rust for the Polyglot Programmer**
262
263      :Autor: Ian Jackson
264      :URL: https://www.chiark.greenend.org.uk/~ianmdlvl/rust-polyglot/index.html
265      :Data: Dezembro de 2022
266      :Palavras-chave: rust, blog, tooling.
267      :Descrição: Do site: "Existem muitos guias e introduções ao Rust. Este é
268        algo diferente: destina-se ao programador experiente que já conhece
269        muitas outras linguagens de programação. Tento ser abrangente o suficiente
270        para servir de ponto de partida para qualquer área do Rust, mas evito
271        entrar em detalhes excessivos, exceto onde as coisas não são como você
272        poderia esperar. Além disso, este guia não é inteiramente isento de
273        opiniões, incluindo recomendações de bibliotecas (crates), ferramentas, etc.".
274
275    * Título: **Fasterthanli.me**
276
277      :Autor: Amos Wenger
278      :URL: https://fasterthanli.me/
279      :Data: Acessado em 11 de setembro de 2024
280      :Palavras-chave: rust, blog, notícias.
281      :Descrição: Do site: "Eu crio artigos e vídeos sobre como os computadores
282        funcionam. Meu conteúdo é de formato longo, didático e exploratório
283        e frequentemente uma desculpa para ensinar Rust!".
284
285    * Título: **Comprehensive Rust**
286
287      :Autor: Equipe Android do Google
288      :URL: https://google.github.io/comprehensive-rust/
289      :Data: Acessado em 13 de setembro de 2024
290      :Palavras-chave: rust, blog.
291      :Descrição: Do site: "O curso cobre todo o espectro do Rust, desde a
292        sintaxe básica até tópicos avançados como genéricos e tratamento de erros".
293
294    * Título: **The Embedded Rust Book**
295
296      :Autor: Múltiplos colaboradores, principalmente Jorge Aparicio
297      :URL: https://docs.rust-embedded.org/book/
298      :Data: Acessado em 13 de setembro de 2024
299      :Palavras-chave: rust, blog.
300      :Descrição: Do site: "Um livro introdutório sobre o uso da linguagem de
301        programação Rust em sistemas embarcados 'Bare Metal', como microcontroladores".
302
303    * Título: **Experiment: Improving the Rust Book**
304
305      :Autor: Cognitive Engineering Lab na Brown University
306      :URL: https://rust-book.cs.brown.edu/
307      :Data: Acessado em 22 de setembro de 2024
308      :Palavras-chave: rust, blog.
309      :Descrição: Do site: "O objetivo deste experimento é avaliar e melhorar o
310        conteúdo do Rust Book para ajudar as pessoas a aprenderem Rust de forma
311        mais eficaz".
312
313    * Título: **New Rustacean** (podcast)
314
315      :Autor: Chris Krycho
316      :URL: https://newrustacean.com/
317      :Data: Acessado em 22 de setembro de 2024
318      :Palavras-chave: rust, podcast.
319      :Descrição: Do site: "Este é um podcast sobre aprender a linguagem de
320        programação Rust do zero! Além desta página inicial elegante, todo o
321        conteúdo do site é construído com as próprias ferramentas de documentação
322        do Rust".
323
324    * Título: **Opsem-team** (repositório)
325
326      :Autor: Equipe de semântica operacional (Operational semantics team)
327      :URL: https://github.com/rust-lang/opsem-team/tree/main
328      :Data: Acessado em 22 de setembro de 2024
329      :Palavras-chave: rust, repositório.
330      :Descrição: Do README: "A equipe opsem é a sucessora do grupo de trabalho
331        unsafe-code-guidelines e é responsável por responder a muitas das perguntas
332        difíceis sobre a semântica do Rust inseguro (unsafe Rust)".
333
334    * Título: **You Can't Spell Trust Without Rust**
335
336      :Autor: Alexis Beingessner
337      :URL: https://repository.library.carleton.ca/downloads/1j92g820w?locale=en
338      :Data: 2015
339      :Palavras-chave: rust, mestrado, tese.
340      :Descrição: Esta tese foca no sistema de propriedade (ownership) do Rust,
341        que garante a segurança de memória ao controlar a manipulação de dados e
342        o tempo de vida, enquanto também destaca suas limitações e o compara a
343        sistemas semelhantes no Cyclone e C++.
344
345    * Nome: **Apresentações de Rust no Linux Plumbers (LPC) 2024**
346
347      :Título: Rust microconference
348      :URL: https://lpc.events/event/18/sessions/186/#20240918
349      :Título: Rust for Linux
350      :URL: https://lpc.events/event/18/contributions/1912/
351      :Título: Journey of a C kernel engineer starting a Rust driver project
352      :URL: https://lpc.events/event/18/contributions/1911/
353      :Título: Crafting a Linux kernel scheduler that runs in user-space using Rust
354      :URL: https://lpc.events/event/18/contributions/1723/
355      :Título: openHCL: A Linux and Rust based paravisor
356      :URL: https://lpc.events/event/18/contributions/1956/
357      :Palavras-chave: rust, lpc, apresentações.
358      :Descrição: Uma série de palestras do LPC relacionadas ao Rust.
359
360    * Nome: **The Rustacean Station Podcast**
361
362      :URL: https://rustacean-station.org/
363      :Palavras-chave: rust, podcasts.
364      :Descrição: Um projeto comunitário para a criação de conteúdo em podcast
365        sobre a linguagem de programação Rust.
366
367-------
368
369Este documento foi originalmente baseado em:
370
371https://www.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html
372
373e escrito por Juan-Mariano de Goyeneche.
374