I/O SUBSYSTEM

OS는 다양한 장치를 같은 시스템 콜처럼 보이게 만든다

사용자 프로그램은 open/read/write를 호출하고, 커널과 드라이버가 장치별 차이를 숨긴다.

Application장치를 파일처럼 열고 읽고 쓴다.
Kernel I/O요청을 큐잉하고 권한과 버퍼를 관리한다.
Driver컨트롤러 레지스터와 실제 하드웨어를 제어한다.
Block Device디스크, SSD처럼 고정 크기 블록 단위로 접근한다.
Character Device키보드, 터미널처럼 바이트 스트림으로 전달한다.
Network소켓이라는 별도 인터페이스로 통신한다.

핵심: major 번호는 드라이버를, minor 번호는 같은 드라이버 안의 개별 장치를 식별한다.