장치 파일
장치 파일(device file) 또는 특수 파일(special file)은 유닉스 계열 운영 체제에서 마치 흔한 파일처럼 보이는 파일 시스템 안에 보이는 장치 드라이버의 인터페이스이다. 소프트웨어가 표준 입출력 시스템 호출을 사용하여 장치 드라이버와 상호 작용할 수 있게 해 준다.
장치 파일들은 프린터와 같은 주변 기기를 위한 단순한 인터페이스를 제공하기도 한다. 그러나 디스크 파티션과 같이 그러한 장치들의 리소스에 접근하는 데에만 사용될 수 있다. 장치 파일은 시스템 리소스에 접근할 때에도 유용하다.
유닉스 특수 파일
[편집]유닉스 계열 운영 체제에서 두 가지 종류의 일반적인 장치 노드가 존재한다. 바로 문자 특수 파일(character special file)과 블록 특수 파일(block special file)이다. 이 둘의 다른 점은 운영 체제와 하드웨어가 처리하는 데이터 읽기/쓰기 방식이다. 이 두 노드 모두 장치 특수 파일(device special file)이라 불린다.
문자 장치
[편집]문자 특수 장치(character special file) 또는 문자 장치(character device)는 버퍼링되지 않은, 직접 접근을 하드웨어 장치에 제공한다.
블록 장치
[편집]블록 특수 파일(block special file) 또는 블록 장치(block device)는 버퍼링된 접근을 하드웨어 장치에 제공하며, 이들의 세부 사항에 따라 어느 정도의 추상화를 제공한다.[1]
의사 장치
[편집]노드 생성
[편집]노드들은 mknod라는 시스템 호출을 통해 만들어진다. 노드를 만드는 명령 줄 프로그램 또한 mknod이다. 노드들은 일반적인 파일 시스템의 시스템 호출(rename, unlink)과 명령어(mv, rm)을 통해 이동하거나 삭제할 수 있다.
일부 유닉스 버전들은 makedev나 MAKEDEV라는 스크립트를 포함하고 있으며, 디렉터리 /dev에 있는 필요한 모든 장치를 만들어준다.
명명 규칙
[편집]다음의 두문자들은 장치 종류의 식별을 위하여 /dev
계층의 일부 장치 이름에 사용할 수 있다.:
리눅스 기반 운영 체제에서 일반적으로 쓰이는 두문자들이 더 존재한다:
fb
: 프레임 버퍼fd
: (플랫폼) 플로피 디스크.hd
: (클래식) IDE 드라이버. (이전에는 ATA 하드 디스크 드라이브, ATAPI 광 디스크 드라이브 등에 사용됨)parport
,pp
: 병렬 포트- SCSI 드라이버 (libATA, 즉 현대의 PATA/SATA 드라이버에도 사용), USB, IEEE 1394 등.
tty
: 터미널ttyS
: (플랫폼) 직렬 포트 드라이버ttyUSB
: USB 직렬 변환기, 모뎀 등.
devfs
[편집]devfs는 장치 파일 시스템이나 유닉스 계열 운영 체제의 특정한 구현체이며, 장치 파일들을 대표하는데 사용된다. 기반이 되는 구현 구조는 운영 체제에 따라 다양하다.
물리적으로 구현된 파일 시스템(예: 하드 드라이브)에서 이러한 특수 파일들을 관리하는 것은 편리성이 떨어지며, 여하튼 커널의 보조를 받아야 하기 때문에 물리적으로 저장되지 않는 특수 목적의 논리 파일 시스템이라는 개념이 등장하였다.
MS-DOS 장치 파일
[편집]몇 가지 장치 파일은 아래에 나열되어 있다:
파일 이름 | 목적 |
---|---|
CON
|
콘솔 장치 |
PRN
|
프린터 |
AUX
|
보조 장치 |
COM0 COM1 COM2 COM3 COM4 COM5 COM6 COM7 COM8 COM9
|
직렬 포트 |
LPT1 LPT2 PRN
|
병렬 포트 |
NUL
|
비트 버킷 (아무것도 표시하지 않음을 말하기도 함) |
같이 보기
[편집]각주
[편집]- ↑ “IEEE Std 1003.1, 2013 Edition”. 2014년 4월 24일에 확인함.
이 글은 컴퓨터 과학에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |