Diferença entre o arquivo do dispositivo e os drivers de dispositivo

7

Sou iniciante na programação de drivers de dispositivos.

Eu não entendo a diferença entre drivers de dispositivos e arquivos de dispositivos no Linux.

Alguém pode explicar a diferença?

    
por MSB 19.11.2013 / 13:49

2 respostas

11

Um driver de dispositivo é uma peça de software que opera ou controla um tipo específico de dispositivo. Em sistemas operacionais modernos, monolithic kernel , eles normalmente fazem parte do kernel. Muitos kernels monolíticos, incluindo o Linux, têm um design modular, permitindo que os módulos executáveis sejam carregados em tempo de execução. Os drivers de dispositivos geralmente utilizam esse recurso, embora nada impeça que os drivers de dispositivos sejam compilados na imagem do kernel.

Um arquivo de dispositivo é uma interface para um driver de dispositivo que aparece em um sistema de arquivos como se fosse um arquivo comum. Em sistemas operacionais semelhantes ao Unix, eles geralmente são encontrados no diretório /dev e também são chamados de nós de dispositivo . Um arquivo de dispositivo pode representar dispositivos de caractere , que emitem um dado de fluxo um caractere por vez, ou dispositivos de bloco que permitem acesso aleatório a blocos de dados.

Os nós de dispositivos são criados pela chamada de sistema mknod . O recurso do kernel exposto pelo nó do dispositivo é identificado por um maior e menor número . Normalmente, o número principal identifica o driver do dispositivo e o número menor identifica um dispositivo específico que o driver controla.

O que o arquivo do dispositivo parece conter depende do que os drivers de dispositivo expõem através do arquivo do dispositivo. Por exemplo, o arquivo de dispositivo de caracteres que representa o mouse, /dev/input/mice expõe o movimento do mouse como um fluxo de caracteres, enquanto o título arquivo de dispositivo de bloco representando um disco rígido , como /dev/sda , expõe as regiões endereçáveis da memória do dispositivo. Alguns arquivos de dispositivos também recebem entrada, permitindo que aplicativos de espaço do usuário se comuniquem com o dispositivo gravando em seu arquivo de dispositivo.

    
por 19.11.2013 / 14:06
-2

adicionando ao que Thomas Nyman disse,

antes de usar qualquer dispositivo, ele deve ser montado nos objetos do sistema de arquivos, como tudo no linux é um arquivo, alguns dos dispositivos internamente são montados automaticamente como usb, disco rígido etc.

para que os novos dispositivos interajam com o sistema, ele possui um driver de dispositivo, um programa de software que faz uso do arquivo do dispositivo.

então, basicamente, o arquivo do dispositivo fornece uma interface para o driver do dispositivo. você pode escrever seu próprio driver de dispositivo no linux usando c.

    
por 06.02.2018 / 19:09