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