O que é um dispositivo de bloco? [duplicar]

Esta pergunta já tem respostas aqui :

Resposta

A Bloquear arquivo especial ou dispositivo de bloqueio é :

Um arquivo que se refere a um dispositivo. Um arquivo especial de bloco normalmente é diferenciado de um arquivo especial de caractere ao fornecer acesso ao dispositivo de maneira que as características de hardware do dispositivo não sejam visíveis.

As características precisas do hardware são abstraídas pelo cache no nível do kernel ou do driver. Dispositivos de bloco geralmente representam hardware, como unidades de disco, mas isso depende da plataforma. O FreeBSD não tem nenhum dispositivo de bloco , por exemplo.

Arquivos, em geral, não são dispositivos.

“Dispositivo de bloqueio”, conforme usado para se referir a arquivos, refere-se aos arquivos de dispositivo específicos em (provavelmente) /dev. É em grande parte um detalhe de implementação do nível do usuário, com uma interface exposta pelo motorista. Muitos tipos de hardware são estruturados em blocos internamente, mas ambos os dispositivos de blocos e caracteres podem ser usados para acessá-los.

Resposta

Provavelmente, você nunca será capaz de encontrar uma definição simples disso. Mas da maneira mais geral e simplista, se você comparar um dispositivo de caractere a um dispositivo de bloco, você pode dizer que o dispositivo de caractere lhe dá acesso direto ao hardware, pois se você inserir um byte, esse byte chega ao hardware (de claro que não é tão simples como isso nos dias de hoje). Enquanto isso, o dispositivo de bloco lê e grava no dispositivo em blocos de tamanhos diferentes. Você pode especificar o tamanho do bloco, mas como a comunicação é um bloco por vez, há um tempo de buffer envolvido.

Pense em um dispositivo de bloco como um disco rígido onde você lê e grava um bloco de dados por vez e, o dispositivo de caractere é uma porta serial. Você envia um byte de dados e o outro lado recebe esse byte e depois o próximo e assim por diante.

Novamente, não é um conceito muito simples de explicar. Os exemplos que dei são generalizações grosseiras e podem ser facilmente refutados para alguma implementação particular de cada exemplo.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *