장치 컨트롤러와 장치 드라이버
장치 컨트롤러 (device controller)

입출력 장치가 다루기 어려운 이유
- 입출력장치에는 종류가 너무 많음
- CPU와 메모리의 데이터 전송률은 높지만 입출력장치의 데이터 전송률은 낮음.
장치 컨트롤러가 하는 일
- CPU와 입출력장치 간의 통신 중개 ⇒ 정보 규격화 가능
- 오류 검출
- 데이터 버퍼링 ⇒ 전송률 차이 완화
장치 컨트롤러 내부
- data register: 버퍼 역할
- status register: 입출력장치가 입출력 작업을 할 준비가 되었는지, 입출력 작업이 완료되었는지, 입출력 장치에 오류는 없는지 확인
- control register: 입출력장치가 수행할 내용에 대한 제어 정보와 명령 저장
장치 드라이버 (device driver)
컨트롤러의 동작을 감지하고 제어함으로써 장치 컨트롤러가 컴퓨터 내부와 정보를 주고받을 수 있게 함
장치 컨트롤러가 입출력장치를 연결하기 위한 하드웨어적인 통로, 장치 드라이버는 입출력장치를 연결하기 위한 소프트웨어적 통로
다양한 입출력 방법