Translation

(itstool) path: listitem/para
The <citerefentry><refentrytitle>style</refentrytitle><manvolnum>9</manvolnum></citerefentry> man page — for documentation on the coding-style conventions which must be followed for any code which is to be committed to the FreeBSD tree.
272/2360
Context English Portuguese (Brazil) State
<personname> <firstname>Ivan</firstname> <surname>Voras</surname> </personname> <affiliation> <_:address-1/> </affiliation> <personname> <firstname>Ivan</firstname> <surname>Voras</surname> </personname> <affiliation> <_:address-1/> </affiliation>
FreeBSD is a registered trademark of the FreeBSD Foundation. FreeBSD is a registered trademark of the FreeBSD Foundation.
Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.
Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the <quote>™</quote> or the <quote>®</quote> symbol. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the <quote>™</quote> or the <quote>®</quote> symbol.
$FreeBSD: head/en_US.ISO8859-1/articles/geom-class/article.xml 54291 2020-06-23 13:48:26Z emaste $ $FreeBSD: head/en_US.ISO8859-1/articles/geom-class/article.xml 54291 2020-06-23 13:48:26Z emaste $
This text documents some starting points in developing GEOM classes, and kernel modules in general. It is assumed that the reader is familiar with C userland programming. Este texto documenta alguns pontos de partida no desenvolvimento de classes GEOM e módulos do kernel em geral. Supõe-se que o leitor esteja familiarizado com a programação C do userland.
Introduction Introdução
Documentation Documentação
Documentation on kernel programming is scarce — it is one of few areas where there is nearly nothing in the way of friendly tutorials, and the phrase <quote>use the source!</quote> really holds true. However, there are some bits and pieces (some of them seriously outdated) floating around that should be studied before beginning to code: A documentação sobre programação do kernel é escassa - é uma das poucas áreas na qual não há quase nada de tutoriais amigáveis, e a frase <quote>usa a fonte!</quote> realmente é verdadeira. No entanto, existem alguns pedaços (alguns deles seriamente desatualizados) flutuando por ai e que devem ser estudados antes de começar a codificar:
The <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/developers-handbook/index.html">FreeBSD Developer's Handbook</link> — part of the documentation project, it does not contain anything specific to kernel programming, but rather some general useful information. O <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/developers-handbook/index.html">Manual do Desenvolvedor do FreeBSD</link> - parte do projeto de documentação, ele não contém nenhum informação específica para a programação do kernel, mas possui algumas informações gerais úteis.
The <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/arch-handbook/index.html">FreeBSD Architecture Handbook</link> — also from the documentation project, contains descriptions of several low-level facilities and procedures. The most important chapter is 13, <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics.html">Writing FreeBSD device drivers</link>. O <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/arch-handbook/index.html">Manual de Arquitetura do FreeBSD</link> - também do projeto de documentação, contém descrições de várias instalações e procedimentos de baixo nível. O capítulo mais importante é o 13, <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics.html">Escrevendo drivers de dispositivo FreeBSD</link>.
The Blueprints section of <link xlink:href="http://www.freebsddiary.org">FreeBSD Diary</link> web site — contains several interesting articles on kernel facilities. A seção Blueprints do site do <link xlink:href="http://www.freebsddiary.org">FreeBSD Diary</link> contém vários artigos interessantes sobre os recursos do kernel.
The man pages in section 9 — for important documentation on kernel functions. As páginas de manual na seção 9 - para documentação importante sobre as funções do kernel.
The <citerefentry><refentrytitle>geom</refentrytitle><manvolnum>4</manvolnum></citerefentry> man page and <link xlink:href="http://phk.freebsd.dk/pubs/">PHK's GEOM slides</link> — for general introduction of the GEOM subsystem. A página man <citerefentry><refentrytitle>geom</refentrytitle><manvolnum>4</manvolnum></citerefentry> e os <link xlink:href="http://phk.freebsd.dk/pubs/">Slides sobre o GEOM de PHK</link> - para uma introdução geral do subsistema GEOM.
Man pages <citerefentry><refentrytitle>g_bio</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_event</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_data</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_geom</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_provider</refentrytitle><manvolnum>9</manvolnum></citerefentry> <citerefentry><refentrytitle>g_consumer</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_access</refentrytitle><manvolnum>9</manvolnum></citerefentry> &amp; others linked from those, for documentation on specific functionalities. Páginas de manual <citerefentry><refentrytitle>g_bio</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_event</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_data</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_geom</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_provider</refentrytitle><manvolnum>9</manvolnum></citerefentry> <citerefentry><refentrytitle>g_consumer</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_access</refentrytitle><manvolnum>9</manvolnum></citerefentry> &amp; outros ligados a partir deles, para documentação sobre funcionalidades específicas.
The <citerefentry><refentrytitle>style</refentrytitle><manvolnum>9</manvolnum></citerefentry> man page — for documentation on the coding-style conventions which must be followed for any code which is to be committed to the FreeBSD tree. A página do manual <citerefentry><refentrytitle>style</refentrytitle><manvolnum>9</manvolnum></citerefentry> - para documentação sobre as convenções de estilo de codificação que devem ser seguidas para qualquer código que se destine a ser incorporado na árvore do FreeBSD.
Preliminaries Preliminares
The best way to do kernel development is to have (at least) two separate computers. One of these would contain the development environment and sources, and the other would be used to test the newly written code by network-booting and network-mounting filesystems from the first one. This way if the new code contains bugs and crashes the machine, it will not mess up the sources (and other <quote>live</quote> data). The second system does not even require a proper display. Instead, it could be connected with a serial cable or KVM to the first one. A melhor maneira de fazer o desenvolvimento do kernel é ter (pelo menos) dois computadores separados. Um deles conteria o ambiente de desenvolvimento e o código fonte, e o outro seria usado para testar o código recém escrito, inicializando por meio da rede e montando seu sistema de arquivo a partir do primeiro computador. Desta forma, se o novo código contiver erros e travar a máquina, isso não irá atrapalhar o código fonte (e nem nenhum outros dado <quote>vivo</quote>). O segundo sistema nem sequer requer um monitor adequado. Em vez disso, ele pode ser conectado por meio de um cabo serial ou KVM ao primeiro computador.
But, since not everybody has two or more computers handy, there are a few things that can be done to prepare an otherwise <quote>live</quote> system for developing kernel code. This setup is also applicable for developing in a <link xlink:href="http://www.vmware.com/">VMWare</link> or <link xlink:href="http://www.qemu.org/">QEmu</link> virtual machine (the next best thing after a dedicated development machine). Mas, como nem todo mundo tem dois ou mais computadores à mão, há algumas coisas que podem ser feitas para preparar um sistema <quote>vivo </quote> para desenvolver código para o kernel. Esta configuração também é aplicável para desenvolvimento em uma máquina virtual criada com o <link xlink:href="http://www.vmware.com/">VMWare</link> ou com o <link xlink:href="http://www.qemu.org/">QEmu</link> (a próxima melhor coisa depois de uma máquina de desenvolvimento dedicada).
Modifying a System for Development Modificando um sistema para desenvolvimento
For any kernel programming a kernel with <option>INVARIANTS</option> enabled is a must-have. So enter these in your kernel configuration file: Para qualquer programação do kernel, um kernel com a opção <option>INVARIANTS</option> ativada é obrigatório. Então, digite estas linhas no seu arquivo de configuração do kernel:
options INVARIANT_SUPPORT
options INVARIANTS
options INVARIANT_SUPPORT
options INVARIANTS
For more debugging you should also include WITNESS support, which will alert you of mistakes in locking: Para ter um maior nível de depuração, você também devrá incluir o suporte ao WITNESS, o qual irá alertá-lo sobre erros relacionados a bloqueios (locking):
options WITNESS_SUPPORT
options WITNESS
options WITNESS_SUPPORT
options WITNESS
For debugging crash dumps, a kernel with debug symbols is needed: Para depurar despejos de memória, é necessário um kernel com símbolos de depuração:
makeoptions DEBUG=-g makeoptions DEBUG=-g
With the usual way of installing the kernel (<command>make installkernel</command>) the debug kernel will not be automatically installed. It is called <filename>kernel.debug</filename> and located in <filename>/usr/obj/usr/src/sys/KERNELNAME/</filename>. For convenience it should be copied to <filename>/boot/kernel/</filename>. Com a maneira usual de instalar o kernel (<command>make installkernel</command>) o kernel de depuração não será instalado automaticamente. Ele é chamado de <filename>kernel.debug </filename> e fica localizado em <filename>/usr/obj/usr/src/sys/KERNELNAME/</filename>. Por conveniência, deve ser copiado para <filename>/boot/kernel/</filename>.
Another convenience is enabling the kernel debugger so you can examine a kernel panic when it happens. For this, enter the following lines in your kernel configuration file: Outra conveniência é habilitar o depurador do kernel para que você possa examinar o panic do kernel quando isso acontece. Para isso, insira as seguintes linhas no seu arquivo de configuração do kernel:
options KDB
options DDB
options KDB_TRACE
options KDB
options DDB
options KDB_TRACE
For this to work you might need to set a sysctl (if it is not on by default): Para que isso funcione, você pode precisar definir um sysctl (se ele não estiver ativado por padrão):
debug.debugger_on_panic=1 debug.debugger_on_panic=1

Loading…

The <citerefentry><refentrytitle>style</refentrytitle><manvolnum>9</manvolnum></citerefentry> man page — for documentation on the coding-style conventions which must be followed for any code which is to be committed to the FreeBSD tree.
A página do manual <citerefentry><refentrytitle>style</refentrytitle><manvolnum>9</manvolnum></citerefentry> - para documentação sobre as convenções de estilo de codificação que devem ser seguidas para qualquer código que se destine a ser incorporado à Ána árvore do Subversion do FreeBSD.
4 months ago
User avatar None

Source string changed

FreeBSD Doc / articles_geom-classPortuguese (Brazil)

The <citerefentry><refentrytitle>style</refentrytitle><manvolnum>9</manvolnum></citerefentry> man page — for documentation on the coding-style conventions which must be followed for any code which is to be committed to the FreeBSD Subversion tree.
4 months ago
Browse all component changes

Glossary

English Portuguese (Brazil)
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: listitem/para
Source string location
article.translate.xml:107
String age
4 months ago
Source string age
4 months ago
Translation file
articles/pt_BR/geom-class.po, string 19