장치와 드라이버

I/O 요청 처리 계층

사용자 프로그램의 I/O 요청은 시스템 콜, 커널 I/O 계층, 디바이스 드라이버, 컨트롤러를 거쳐 실제 장치로 전달됩니다.

1App
2System Call
3Kernel I/O
4Driver
5Controller
6Device
01

요청 제출

프로그램은 read, write 같은 시스템 콜로 커널에 I/O를 요청합니다.

02

공통 처리

커널 I/O 계층은 버퍼링, 캐싱, 스케줄링 같은 공통 작업을 처리합니다.

03

드라이버 호출

장치별 차이는 디바이스 드라이버가 컨트롤러 명령으로 변환합니다.

04

완료 통지

인터럽트나 폴링으로 작업 완료를 확인하고 결과를 프로세스에 돌려줍니다.

구분 기준

  • 드라이버는 장치별 차이를 숨기는 커널 구성요소입니다.
  • 컨트롤러는 실제 하드웨어와 명령 레지스터를 통해 통신합니다.
  • 메모리 맵 I/O와 포트 맵 I/O는 CPU가 장치 레지스터를 보는 방식의 차이입니다.

계층 역할

Kernel공통 정책
Driver장치 변환
Device실제 작업