A 블록 특수 파일 또는 블록 장치는 :
장치를 참조하는 파일입니다. 블록 특수 파일은 일반적으로 장치의 하드웨어 특성이 보이지 않는 방식으로 장치에 대한 액세스를 제공하여 문자 특수 파일 과 구별됩니다.
정확한 하드웨어 특성은 커널 또는 드라이버 수준 캐싱으로 추상화됩니다. 블록 장치는 일반적으로 디스크 드라이브와 같은 하드웨어를 나타내지 만 플랫폼에 따라 다릅니다. 예를 들어 FreeBSD는 블록 장치가 전혀 없습니다 .
일반적으로 파일은 장치가 아닙니다.
“블록 장치”는 파일을 참조하는 데 사용되며 (아마도) /dev
에있는 특정 장치 파일을 나타냅니다. 이는 주로 사용자 수준의 구현 세부 정보입니다. 드라이버에 의해 노출 된 인터페이스로. 많은 유형의 하드웨어가 내부적으로 블록 구조로되어 있지만 블록 및 문자 장치를 모두 사용하여 액세스 할 수 있습니다.
아마도 당신은 이것에 대한 간단한 정의를 결코 찾을 수 없을 것입니다. 그러나 가장 일반적이고 단순한 방식으로 문자 장치를 블록 장치와 비교하면 문자 장치가 하드웨어에 대한 직접 액세스를 제공한다고 말할 수 있습니다. 1 바이트를 입력하면 해당 바이트가 하드웨어에 도달합니다. 물론 그것은 오늘날 시대만큼 간단하지 않습니다.) 반면 블록 장치는 크기가 다른 블록으로 장치에서 읽고 씁니다. 블록 크기를 지정할 수 있지만 통신은 한 번에 블록이므로 버퍼링 시간이 필요합니다.
블록 장치를 한 번에 한 블록의 데이터를 읽고 쓰는 하드 디스크라고 생각하면 문자 장치는 직렬 포트입니다. 당신은 한 바이트의 데이터를 보내고 다른 쪽은 그 바이트를 받고 다음 바이트를받는 식으로 계속됩니다.
다시 말하지만, 설명하기에는 그리 간단한 개념이 아닙니다. 내가 제시 한 예는 총체적인 일반화이며 각 예의 특정 구현에 대해 쉽게 반박 할 수 있습니다.