[OS] 6. Device Controller, Device driver란?

개잼·2023년 4월 25일

0. 목차

  1. Computer System 구조
  2. Device driver란?
  3. Device Controller란?

1. Computer System 구조

보시는 바와 같이 Computer System은 크게 Application Program, Os, H/W로 구성되는 것을 확인할 수 있을 겁니다.

Q. 왜 여기서 Device Controller와 Device driver에 대해 설명하려는데 Computer System 구조에 대해 살펴보는가?

=> 그 이유는 Device driver와 Device Controller가 정확히 어디에 위치해 있는지를 파악하고서 역할을 알아야 더 이해하기 쉽다고 생각하기 때문입니다.


2. Device driver란?

특정 H/W, device를 제어하기 위한 프로그램.
Ex) 마우스 연결, 키보드 연결 시 설치되는 Driver

Q. 이러한 Device driver는 왜 필요할까요?

=> 다양한 H/W인 입출력 장치(키보드, 마우스, 프린트 등)를 제어하기 위해.
즉 각 입출력 장치에 맞는 '드라이버'가 필요하기 때문이다.

device driver는 OS 코드 중 각 장치별 처리 루틴을 의미하기도 한다.


3. Device Controller란?

해당 I/O 장치를 관리하는 일종의 작은 CPU로 볼 수 있다.

Q. 왜 CPU라고 볼 수 있는가?

제어 정보를 위한 Register로 status register, control register를 가지고 있으며, data 정보를 저장하기 위한 local buffer를 가지고 있기 때문이다.

Device Controller는 I/O가 끝났을 경우 Interrupt로 CPU에 그 사실을 알리는 역할도 하고 있다.
(단, DMA Device controller가 있다면, DMA Device controller가 CPU에 interrupt를 보낸다.)

Device driver와 Device Controller의 차이점은 Device driver의 경우는 software이지만 Device Controller는 hardware라는 점이다.

I/O Bus와 연결해보면 I/O device controller는 device controller이다.

profile
천천히 나아가는 중

0개의 댓글