Linux - 장치 파일(Device File)

유현수·2024년 2월 26일
post-thumbnail

장치 파일이란

리눅스에서 디바이스 파일(device file)은 하드웨어 디바이스를 파일처럼 다루기 위한 인터페이스를 제공합니다. 이러한 파일을 통해 사용자 및 프로그램은 표준 파일 시스템 인터페이스를 사용하여 하드웨어 디바이스와 상호 작용할 수 있습니다. 리눅스의 모든 것은 파일로 취급되는 철학을 따르기 때문에, 디바이스도 파일로 표현됩니다.

디바이스 파일은 주로 /dev 디렉토리 아래에 위치하며, 두 가지 주요 유형이 있습니다:

문자 디바이스 파일(Character Device Files): 이러한 파일은 데이터를 문자(바이트) 스트림으로 전송합니다. 즉, 데이터를 한 번에 하나의 문자씩 순차적으로 읽고 쓸 수 있습니다. 터미널, 시리얼 포트, 키보드, 마우스와 같은 디바이스가 이 범주에 속합니다.

블록 디바이스 파일(Block Device Files): 블록 디바이스 파일은 데이터를 고정된 크기의 블록 단위로 전송합니다. 이 유형의 파일을 통해 데이터를 더 효율적으로 저장하고 액세스할 수 있기 때문에, 하드 드라이브, SSD와 같은 저장 장치가 이 범주에 속합니다.

디바이스 파일은 특수 파일이며, 실제 파일 시스템의 데이터를 저장하지 않습니다. 대신, 커널과 하드웨어 디바이스 사이의 통신 채널 역할을 합니다. 사용자 또는 애플리케이션이 디바이스 파일에 데이터를 쓰면, 그 데이터는 해당 하드웨어 디바이스로 전송됩니다. 반대로, 디바이스로부터 데이터를 읽을 때는 디바이스가 생성한 데이터를 받습니다.

리눅스 시스템에서 디바이스 파일을 통한 디바이스 관리는 유연하고 효율적인 방법을 제공하여, 사용자와 개발자 모두에게 다양한 하드웨어 리소스에 대한 접근성과 제어력을 부여합니다.

References

해커라면 알아야 할 리눅스 기초-17:장치파일(Device File) 알아보기
모든 것이 파일(file)이다

profile
"Life isn't about finding yourself. Life is about creating yourself."

0개의 댓글