No meu Archlinux, /dev/pts
é montado pelos devpts, então quem criou o /dev/pts/ptmx
nó do dispositivo? Qual é o objetivo deste nó? é o mesmo nó de dispositivo (Major=5 Minor=2) igual a /dev/ptmx/
, mas com modo de acesso diferente, para quê?
relate perguntas
-
Existe uma maneira de fazer ls mostrar arquivos ocultos apenas para determinados diretórios?
-
Inicie/pare o serviço systemd usando o atalho de teclado [fechado]
-
Necessidade de algumas chamadas de sistema
-
astyle não altera a formatação do arquivo de origem
-
Passe o sistema de arquivos raiz por rótulo para o kernel do Linux
O antigo mecanismo AT&T System 5 para dispositivos escravos pseudoterminais era que eles eram nós de dispositivos de caracteres persistentes
/dev
comuns sob o . Havia um dispositivo mestre/dev/ptmx
multiplexador em . O antigo mecanismo 4.3BSD para dispositivos pseudoterminais tinha pares paralelos de nós de dispositivos mestre e escravo persistentes/dev
comuns sob . Estes eram nós de dispositivos especiais em um sistema de arquivos de disco comum.No OpenBSD, parte disso ainda é verdade hoje em dia.
/dev
ainda é um volume de disco e os dispositivos escravos ainda são nós reais no disco. Eles são criados sob demanda, no entanto. O kernel emite internamente as chamadas relevantes para criar novos nós de dispositivo quando é emitido umPTMGET
controle de E/S no/dev/ptm
dispositivo.No FreeBSD, nada disso ainda é verdade. Não existe mais um dispositivo multiplexador.
/dev
não é um volume de disco. É um sistema dedevfs
arquivos. Os dispositivos escravos aparecem no sistema dedevfs
arquivos sob seupts/
diretório em resposta àposix_openpt()
chamada do sistema, que é uma chamada direta do sistema, não um encapsuladoioctl()
em um descritor de arquivo aberto para algum dispositivo "multiplexor".Por um tempo no Linux, os dispositivos escravos pseudoterminais eram nós de dispositivos persistentes. O que você está vendo é o seu "novo" sistema de
devpts
arquivos (onde "novo" significa introduzido há alguns anos atrás, agora) em conjunto com odevtmpfs
. Isso quase permite a mesma maneira de fazer as coisas como no FreeBSD comdevfs
.Mas existem algumas diferenças. Em particular, ainda existe um dispositivo "multiplexor".
devpts
, este era umptmx
dispositivo em umdevtmpfs
sistema de arquivos diferente, com o sistema dedevpts
arquivos contendo apenas os arquivos de dispositivos escravos criados/destruídos automaticamente. Convencionalmente, a configuração era e uma montagem/dev/ptmx
acompanhante em .devpts
/dev/pts
devpts
arquivos, para contêineres e afins, e acabou sendo bastante difícil sincronizar os dois sistemas de arquivos (corretos) quando havia muitosdevtmpfs
sistemas dedevpts
arquivos. Portanto, no sistema "novo" mais recentedevpts
, todos os dispositivos, multiplexadores e escravos, estão em um sistema de arquivos.Para compatibilidade com versões anteriores, o padrão era que o novo
ptmx
nó fosse inacessível, a menos que fosse definido uma novaptmxmode
opção de montagem. No modo de compatibilidade com versões anteriores, ainda era possível executar as coisas da maneira mais antiga de instância única, e por padrão, a menos que se usasse umanewinstance
opção explícita ao montar um arquivodevpts
.devpts
(que existe desde 2016), o dispositivo multiplexador por instância no sistema dedevpts
arquivos agora é o multiplexador primário, e optmx
nodevtmpfs
é um shim fornecido pelo kernel que tenta imitar um link simbólico, uma montagem de ligação ou um link simbólico realpts/ptmx
antigo simples para . A maneira de várias instâncias agora é a única maneira.Leitura adicional
Documentation/filesystems/devpts.txt
. Núcleo Linux./dev/pts
deve usar o sinalizador de montagem 'newinstance' para evitar problemas de segurança com contêineres . Erro de chapéu vermelho #501718.