시스템 프로그래밍 - 디바이스 드라이버 개념
1. 디바이스 드라이버 종류, 파일
1) 개념
- 디바이스 : 컴퓨터 시스템의 주변 하드웨어
- 하드디스크, 플로피디스크, 프린터, 단말기, 스캐너, 네트워크 어댑터, 터치 스크린, LCD 디스플레이, 오디오 등
- 디바이스 드라이버는 디바이스 구동 프로그램
(1) 디바이스 시스템 구성 : device + controller
(1-1) device
- controller를 통해 입력된 명령을 수행하고 결과를 알려주는 역할
(1-2) controller
- 디바이스와 디바이스 드라이버 사이의 인터페이스 담당 구성은 버퍼 및 제어/ 상태 레지스터 등
2) 디바이스의 종류
(1) 문자 디바이스 (character device)
- 파일 시스템에서 하나의 노드 형태로 존재
- 자료의 순차성을 지닌 하드웨어
- 버퍼 캐시를 사용하지 않음
- 데이터를 문자 단위 또는 연속적 바이트 흐름으로 전달하고 읽음
- 터미널, 콘솔, 키보드, 사운드카드, 스캐너, 프린터, 직렬/병렬 포트, 마우스, 조이스틱 등
(2) 블록 디바이스 (block device)
- 파일 시스템에서 하나의 노드 형태로 존재
- 버퍼 캐시를 통해 임의 접근이 가능
- 데이터를 블록 단위로 입출력
- 효율을 향상하기 위하여 버퍼를 사용
- 블록의 크기를 관리하고 블록 데이터의 전달을 담당하는 기능이 있음
- 하드디스크, 플로피 디스크, 램 디스크, 테이프, CD-ROM, DVD등
(3) 네트워크 디바이스 (network device)
- 패킷 단위로 접근
- 네트워크 통신을 통해 네트워크 패킷을 송수신할 수 있는 디바이스
- 파일 시스템의 노드 형태가 아닌 특별한 인터페이스를 사용
- 이더넷, PPP, SLIP, ATM, 네트워크 인터페이스 카드
(4) 디아비스 체계
- 주번호 (major number)
- 부번호 (minor number)
- 동일한 디바이스는 동일한 주번호를 가지며 서로 구분하기 위해 부 번호를 사용
- 구별하기 위해 시작문자를 통일
- IDE 하드디스크 : hd
- 터미널 : tty
- 이더넷 : eth
3) 디바이스 파일
- 리눅스 시스템 : 디바이스를 /dev 디렉토리에 있는 일종의 파일로 취급
- 즉, 디바이스를 파일로 추상화
- 디바이스 파일은 사용자에게 보이는 디바이스 드라이버의 인터페이스 부분
- 용용 프로그램은 디바이스에 접근하기 위하여 열기, 읽기, 쓰기 등과 같은 파일 연산을 이용
(1) 디바이스 파일
- 파일 시스템에서 고유한 번화 이름을 할당 받음
- 디바이스 파일은 파일시스템의 데이터 영역을 차지하지 않고 단지 디바이스 드라이버를 접근할 수 있는 관문 역할을 수행
댓글남기기