O que é um dispositivo de bloco? [duplicado]

14

Conheço muitos exemplos de dispositivos de bloco (HDDs, SSDs, arquivos, ...), mas ainda não ouvi uma definição simples. Especialmente desde que os arquivos aparentemente estão incluídos na definição, eu me sinto um pouco confuso ...

    
por lindhe 02.02.2016 / 00:07

2 respostas

8

Um Bloquear arquivo especial ou dispositivo de bloco é :

A file that refers to a device. A block special file is normally distinguished from a character special file by providing access to the device in a manner such that the hardware characteristics of the device are not visible.

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

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

"Dispositivo de bloqueio", conforme descrito nos 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 driver. Muitos tipos de hardware são estruturados em blocos internamente, mas os dispositivos de bloco e de caractere podem ser usados para acessá-los.

    
por 02.02.2016 / 00:27
15

Provavelmente você nunca conseguirá 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 fornece acesso direto ao hardware, como você coloca em um byte, esse byte chega ao hardware (de Claro que não é tão simples como hoje em dia). Considerando que, o dispositivo de bloco lê e escreve no dispositivo em blocos de tamanhos diferentes. Você pode especificar o tamanho do bloco, mas como a comunicação é um bloco de cada 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 outro lado recebe esse byte e depois o próximo, e assim por diante e assim por diante.

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

    
por 02.02.2016 / 00:24