xref: /linux/Documentation/translations/pt_BR/admin-guide/devices.rst (revision 14c897740388216acd59477a382de327d5e27ba4)
1.. SPDX-License-Identifier: GPL-2.0
2
3.. _pt_BR_admin_devices:
4
5Dispositivos alocados no Linux (versão 4.x+)
6============================================
7
8Esta lista é a Linux Device List, o registro oficial dos números de
9dispositivo alocados e dos nós do diretório ``/dev`` para o sistema
10operacional Linux.
11
12A versão deste documento em lanana.org não é mais mantida. Esta versão, no
13kernel Linux mainline, é o documento mestre. Atualizações devem ser enviadas
14como patches aos mantenedores do kernel (veja o documento
15:ref:`Documentation/translations/pt_BR/process/submitting-patches.rst <pt_BR_submittingpatches>`).
16Explore especificamente as seções intituladas "CHAR and MISC DRIVERS" e
17"BLOCK LAYER" no arquivo MAINTAINERS para encontrar os mantenedores certos
18a envolver para dispositivos de caractere e de bloco.
19
20Este documento é incluído por referência no Filesystem Hierarchy Standard
21(FHS). O FHS está disponível em https://www.pathname.com/fhs/.
22
23Alocações marcadas com (68k/Amiga) aplicam-se somente ao Linux/68k na
24plataforma Amiga. Alocações marcadas com (68k/Atari) aplicam-se somente ao
25Linux/68k na plataforma Atari.
26
27Este documento está em domínio público. Os autores solicitam, no entanto,
28que versões semanticamente alteradas não sejam distribuídas sem permissão
29dos autores, presumindo-se que os autores possam ser contatados sem um
30esforço desarrazoado.
31
32
33.. attention::
34
35  AUTORES DE DRIVERS DE DISPOSITIVO, POR FAVOR LEIAM ISTO
36
37  O Linux agora possui amplo suporte à alocação dinâmica de numeração de
38  dispositivos e pode usar ``sysfs`` e ``udev`` (``systemd``) para lidar com
39  as necessidades de nomenclatura. Ainda existem algumas exceções na área de
40  dispositivos seriais e de inicialização. Antes de pedir um número de
41  dispositivo, certifique-se de que você realmente precisa de um.
42
43  Para ter um número maior (major) alocado, ou um número menor (minor) nas
44  situações em que isso se aplica (por exemplo, busmice), por favor envie um
45  patch aos autores conforme indicado acima.
46
47  Mantenha a descrição do dispositivo *no mesmo formato desta lista*. A razão
48  para isso é que essa é a única maneira que encontramos de garantir que
49  temos todas as informações necessárias para publicar o seu dispositivo e
50  evitar conflitos.
51
52  Por fim, às vezes temos que bancar a "polícia do espaço de nomes". Por
53  favor, não se ofenda. Frequentemente recebemos submissões de nomes em
54  ``/dev`` que fatalmente causariam conflitos no futuro. Estamos tentando
55  evitar chegar a uma situação em que teríamos que sofrer uma mudança
56  incompatível para a frente. Portanto, por favor, consulte-nos **antes** de
57  tornar públicos, de qualquer forma, os nomes e números do seu dispositivo
58  --- pelo menos até o ponto em que seria minimamente difícil alterá-los.
59
60  Sua cooperação é apreciada.
61
62.. include:: ../../../admin-guide/devices.txt
63   :literal:
64
65Entradas adicionais do diretório ``/dev/``
66------------------------------------------
67
68Esta seção detalha as entradas adicionais que devem ou podem existir no
69diretório /dev. É preferível que os links simbólicos usem a mesma forma
70(absoluta ou relativa) indicada aqui. Os links são classificados como
71"físicos" (hard) ou "simbólicos", dependendo do tipo de link preferido; se
72possível, o tipo de link indicado deve ser usado.
73
74Links obrigatórios
75++++++++++++++++++
76
77Estes links devem existir em todos os sistemas:
78
79=============== =============== =============== ==============================
80/dev/fd         /proc/self/fd   simbólico       Descritores de arquivo
81/dev/stdin      fd/0            simbólico       Descritor de arquivo da stdin
82/dev/stdout     fd/1            simbólico       Descritor de arquivo da stdout
83/dev/stderr     fd/2            simbólico       Descritor de arquivo da stderr
84/dev/nfsd       socksys         simbólico       Exigido pelo iBCS-2
85/dev/X0R        null            simbólico       Exigido pelo iBCS-2
86=============== =============== =============== ==============================
87
88Observação: ``/dev/X0R`` é <letra X>-<dígito 0>-<letra R>.
89
90Links recomendados
91++++++++++++++++++
92
93Recomenda-se que estes links existam em todos os sistemas:
94
95
96=============== =============== =============== ==========================
97/dev/core       /proc/kcore     simbólico       Compatibilidade retroativa
98/dev/ramdisk    ram0            simbólico       Compatibilidade retroativa
99/dev/ftape      qft0            simbólico       Compatibilidade retroativa
100/dev/bttv0      video0          simbólico       Compatibilidade retroativa
101/dev/radio      radio0          simbólico       Compatibilidade retroativa
102/dev/i2o*       /dev/i2o/*      simbólico       Compatibilidade retroativa
103=============== =============== =============== ==========================
104
105Os nomes alternativos ``/dev/scd?``, sugeridos anteriormente para os
106``/dev/sr?`` de CD-ROM e outras unidades ópticas (que usam comandos SCSI),
107foram removidos na versão 174 do ``udev``, lançada em 2011.
108
109Links definidos localmente
110++++++++++++++++++++++++++
111
112Os links a seguir podem ser estabelecidos localmente para se adequar à
113configuração do sistema. Isto é meramente uma tabulação da prática
114existente, e não constitui uma recomendação. No entanto, se existirem, eles
115devem ter os seguintes usos.
116
117=============== ================= =============== ==============================
118/dev/mouse      porta de mouse    simbólico       Dispositivo de mouse atual
119/dev/tape       unidade de fita   simbólico       Dispositivo de fita atual
120/dev/cdrom      unidade de CD-ROM simbólico       Dispositivo de CD-ROM atual
121/dev/scanner    scanner           simbólico       Scanner atual
122/dev/modem      porta de modem    simbólico       Dispositivo de discagem atual
123/dev/root       dispositivo raiz  simbólico       Sistema de arquivos raiz atual
124/dev/swap       área de swap      simbólico       Dispositivo de swap atual
125=============== ================= =============== ==============================
126
127O ``/dev/modem`` não deve ser usado para um modem que suporte tanto discagem
128de entrada quanto de saída, pois isso tende a causar problemas com arquivos
129de trava (lock). Se existir, o ``/dev/modem`` deve apontar para o
130dispositivo TTY primário apropriado (o uso dos dispositivos alternativos de
131saída é obsoleto).
132
133Para dispositivos SCSI, o ``/dev/tape`` e o ``/dev/cdrom`` devem apontar
134para os dispositivos *cozidos* (*cooked*) (``/dev/st*`` e ``/dev/sr*``,
135respectivamente), enquanto o ``/dev/scanner`` deve apontar para o
136dispositivo SCSI genérico apropriado (``/dev/sg*``).
137
138O ``/dev/mouse`` pode apontar para um dispositivo TTY serial primário, um
139dispositivo de mouse em hardware, ou um socket para um programa de driver de
140mouse (por exemplo, ``/dev/gpmdata``).
141
142Sockets e pipes
143+++++++++++++++
144
145Sockets e pipes nomeados não transitórios podem existir em /dev. As entradas
146comuns são:
147
148=============== ======== =============================
149/dev/printer    socket   socket local do lpd
150/dev/log        socket   socket local do syslog
151/dev/gpmdata    socket   multiplexador de mouse do gpm
152=============== ======== =============================
153
154Pontos de montagem
155++++++++++++++++++
156
157Os nomes a seguir são reservados para a montagem de sistemas de arquivos
158especiais sob /dev. Esses sistemas de arquivos especiais fornecem interfaces
159do kernel que não podem ser fornecidas com nós de dispositivo padrão.
160
161=============== ======== ==================================================
162/dev/pts        devpts   Sistema de arquivos de escravos PTY
163/dev/shm        tmpfs    Acesso de manutenção à memória compartilhada POSIX
164=============== ======== ==================================================
165
166Dispositivos de terminal
167------------------------
168
169Dispositivos de terminal, ou TTY, são uma classe especial de dispositivos de
170caractere. Um dispositivo de terminal é qualquer dispositivo que possa atuar
171como terminal de controle de uma sessão; isso inclui consoles virtuais,
172portas seriais e pseudoterminais (PTYs).
173
174Todos os dispositivos de terminal compartilham um conjunto comum de
175capacidades conhecidas como disciplinas de linha (line disciplines); estas
176incluem a disciplina de linha de terminal comum, bem como os modos SLIP e
177PPP.
178
179Todos os dispositivos de terminal são nomeados de forma semelhante; esta
180seção explica a nomenclatura e o uso dos vários tipos de TTY. Observe que as
181convenções de nomenclatura incluem várias verrugas históricas; algumas delas
182são específicas do Linux, algumas foram herdadas de outros sistemas, e
183algumas refletem o Linux tendo superado uma convenção emprestada.
184
185Um sinal de cerquilha (``#``) em um nome de dispositivo é usado aqui para
186indicar um número decimal sem zeros à esquerda.
187
188Consoles virtuais e o dispositivo de console
189++++++++++++++++++++++++++++++++++++++++++++
190
191Consoles virtuais são telas de terminal em tela cheia no monitor de vídeo do
192sistema. Consoles virtuais são nomeados ``/dev/tty#``, com a numeração
193começando em ``/dev/tty1``; o ``/dev/tty0`` é o console virtual atual.
194O ``/dev/tty0`` é o dispositivo que deve ser usado para acessar a placa de
195vídeo do sistema naquelas arquiteturas para as quais os dispositivos de
196frame buffer (``/dev/fb*``) não são aplicáveis. Não use o ``/dev/console``
197para esse fim.
198
199O dispositivo de console, ``/dev/console``, é o dispositivo para o qual as
200mensagens do sistema devem ser enviadas, e no qual os logins devem ser
201permitidos em modo monousuário. A partir do Linux 2.1.71, o ``/dev/console``
202é gerenciado pelo kernel; para versões anteriores, ele deve ser um link
203simbólico para o ``/dev/tty0``, para um console virtual específico como o
204``/dev/tty1``, ou para um dispositivo primário de porta serial (``tty*``,
205não ``cu*``), dependendo da configuração do sistema.
206
207Portas seriais
208++++++++++++++
209
210Portas seriais são portas seriais RS-232 e qualquer dispositivo que simule
211uma, seja em hardware (como modems internos) ou em software (como o driver
212ISDN). No Linux, cada porta serial possui dois nomes de dispositivo: o
213primário, ou de chamada de entrada (callin), e o alternativo, ou de chamada
214de saída (callout). Cada tipo de dispositivo é indicado por uma letra
215diferente. Para qualquer letra X, os nomes dos dispositivos são
216``/dev/ttyX#`` e ``/dev/cux#``, respectivamente; por razões históricas, o
217``/dev/ttyS#`` e o ``/dev/ttyC#`` correspondem ao ``/dev/cua#`` e ao
218``/dev/cub#``. No futuro, deve-se esperar que múltiplas letras sejam usadas;
219todas as letras serão maiúsculas para o dispositivo "tty" (por exemplo,
220``/dev/ttyDP#``) e minúsculas para o dispositivo "cu" (por exemplo,
221``/dev/cudp#``).
222
223Os nomes ``/dev/ttyQ#`` e ``/dev/cuq#`` são reservados para uso local.
224
225Os dispositivos alternativos provêem exclusão baseada no kernel e padrões um
226tanto diferentes dos dispositivos primários. Seu principal propósito é
227permitir o uso de portas seriais com programas sem suporte inerente a portas
228seriais, ou com suporte defeituoso. Seu uso é obsoleto, e eles podem ser
229removidos em uma versão futura do Linux.
230
231A arbitragem de portas seriais é provida pelo uso de arquivos de trava com
232os nomes ``/var/lock/LCK..ttyX#``. O conteúdo do arquivo de trava deve ser o
233PID do processo que está travando, como um número ASCII.
234
235É prática comum instalar links como /dev/modem, que apontam para portas
236seriais. Para garantir o travamento adequado na presença desses links,
237recomenda-se que o software persiga os links simbólicos e trave todos os
238nomes possíveis; adicionalmente, recomenda-se que um arquivo de trava seja
239instalado com o dispositivo alternativo correspondente. Para evitar
240impasses (deadlocks), recomenda-se que as travas sejam adquiridas na
241seguinte ordem, e liberadas na ordem inversa:
242
243        1. O nome do link simbólico, se houver (``/var/lock/LCK..modem``)
244        2. O nome "tty" (``/var/lock/LCK..ttyS2``)
245        3. O nome do dispositivo alternativo (``/var/lock/LCK..cua2``)
246
247No caso de links simbólicos aninhados, os arquivos de trava devem ser
248instalados na ordem em que os links simbólicos são resolvidos.
249
250Sob nenhuma circunstância uma aplicação deve manter uma trava enquanto
251espera que outra seja liberada. Além disso, aplicações que tentam criar
252arquivos de trava para os nomes de dispositivo alternativos correspondentes
253devem levar em conta a possibilidade de serem usadas em um TTY que não seja
254de porta serial, para o qual nenhum dispositivo alternativo existiria.
255
256Pseudoterminais (PTYs)
257++++++++++++++++++++++
258
259Pseudoterminais, ou PTYs, são usados para criar sessões de login ou para
260prover outras capacidades que exijam uma disciplina de linha TTY (incluindo
261capacidade de SLIP ou PPP) a processos arbitrários geradores de dados. Cada
262PTY tem um lado mestre, nomeado ``/dev/pty[p-za-e][0-9a-f]``, e um lado
263escravo, nomeado ``/dev/tty[p-za-e][0-9a-f]``. O kernel arbitra o uso dos
264PTYs permitindo que cada lado mestre seja aberto apenas uma vez.
265
266Uma vez que o lado mestre tenha sido aberto, o dispositivo escravo
267correspondente pode ser usado da mesma maneira que qualquer dispositivo TTY.
268Os dispositivos mestre e escravo são conectados pelo kernel, gerando o
269equivalente a um pipe bidirecional com capacidades de TTY.
270
271Versões recentes dos kernels Linux e da GNU libc contêm suporte ao esquema
272de nomenclatura System V/Unix98 para PTYs, que atribui um dispositivo comum,
273``/dev/ptmx``, a todos os mestres (abri-lo lhe dará automaticamente um PTY
274não atribuído anteriormente) e um subdiretório, ``/dev/pts``, para os
275escravos; os escravos são nomeados com inteiros decimais (``/dev/pts/#`` em
276nossa notação). Isso remove o problema de esgotar o espaço de nomes e
277permite que o kernel crie automaticamente os nós de dispositivo para os
278escravos sob demanda, usando o sistema de arquivos "devpts".
279