(시스템 프로그래밍) 14-1 디바이스 드라이버 개념 (디바이스 드라이버 종류, 파일)

업데이트:
1 분 소요

시스템 프로그래밍 - 디바이스 드라이버 개념

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) 디바이스 파일

  • 파일 시스템에서 고유한 번화 이름을 할당 받음
  • 디바이스 파일은 파일시스템의 데이터 영역을 차지하지 않고 단지 디바이스 드라이버를 접근할 수 있는 관문 역할을 수행

댓글남기기