Linuxpia/데스크톱 리눅스

캐릭터 특수 파일과 블럭 특수 파일의 차이

Linuxpia4U 2023. 11. 8. 21:49
반응형

캐릭터 특수 파일과 블럭 특수 파일

리눅스와 유닉스 계열 시스템에서 디바이스를 파일 시스템 내에 표현할 때, 주로 두 가지 유형의 특수 파일이 사용됩니다. 캐릭터 특수 파일과 블럭 특수 파일입니다. 이 두 파일은 디바이스와의 상호작용 방식에 따라 구분됩니다.

캐릭터 특수 파일(Character Special Files)

캐릭터 특수 파일은 '문자 디바이스 파일'이라고도 하며, 데이터를 문자 단위, 즉 바이트 단위로 전송합니다. 이 유형의 파일은 일반적으로 비순차적, 무작위 접근이 아닌 순차적으로 데이터를 처리합니다. 캐릭터 디바이스 파일의 예로는 터미널, 프린터, 시리얼 포트 등이 있습니다.

캐릭터 디바이스의 특징

  • 바이트 스트림을 통한 데이터 전송
  • 버퍼링되지 않은 입력과 출력
  • 대표적인 예로 키보드나 마우스가 있습니다.
  • 장치의 데이터를 하나씩 순차적으로 처리

블럭 특수 파일(Block Special Files)

블럭 특수 파일은 '블록 디바이스 파일'이라고도 하며, 데이터를 블록 단위로 전송합니다. 이 유형의 파일은 크기가 고정된 블록을 사용하여 데이터를 저장하고, 비순차적 접근이 가능하여, 하드 드라이브, CD-ROM 드라이브 등의 장치에 사용됩니다.

블록 디바이스의 특징

  • 블록 단위로 데이터 전송
  • 버퍼링된 입력과 출력
  • 랜덤 액세스가 가능
  • 대표적인 예로 하드 드라이브가 있습니다.
  • 데이터를 저장하고 빠르게 접근할 수 있는 구조를 가짐

비교

  • 데이터 전송 단위: 캐릭터 디바이스는 바이트 단위로 데이터를 전송하는 반면, 블록 디바이스는 블록(일반적으로 수 KB) 단위로 전송합니다.
  • 데이터 접근 방식: 캐릭터 디바이스는 주로 순차적 접근을 하며, 블록 디바이스는 랜덤 접근이 가능합니다.
  • 버퍼링: 캐릭터 디바이스는 일반적으로 비버퍼링이고, 블록 디바이스는 버퍼링되어 있어서 데이터를 일시적으로 저장할 수 있습니다.
  • 사용 사례: 캐릭터 디바이스는 데이터를 한 번에 하나씩 처리할 때 사용되고, 블록 디바이스는 대용량의 데이터 저장소로 사용됩니다.

두 파일 타입은 리눅스의 모든 것은 파일이라는 철학을 반영합니다. 장치, 디렉토리, 일반 파일 등 시스템의 모든 자원을 파일로 추상화하여 일관된 인터페이스를 제공합니다. 이로 인해 사용자와 프로그램은 특별한 구분 없이 모든 자원에 접근할 수 있습니다.

반응형