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