728x90
1 입출력 장치와 채널
저속 주변장치 : 메모리와 주변장치 사이에 오고 가는 데이터의 양이 적어 데이터 전송률이 낮은 장치 ex) 키보드, 프린터
고속 주변장치 : 대용량의 데이터가 오고가서 전송률이 높은 장치. ex) 그래픽카드, 하드디스크 등
2 입출력 버스의 구조
초기에는 CPU가 직접 입출력장치에서 데이터를 가져왔는데 이를 폴링 방식이라고 한다.
그러다가 기술이 발전하면서 모든 입출력을 입출력 제어기에 맡기는 구조로 변했다.
그 후 입출력 버스를 고속 입출력 버스와 저속 입출력 버스로 분리하여 운영한다. 이는 채널 선택기가 관리한다.
3 직접 메모리 접근
직접 메모리 접근(DMA)는 CPU 도움 없이도 메모리에 접근할 수 있도록 입출력 제어기에 부여된 권한이다.
4 인터럽트
CPU가 어떤 인터럽트를 받는지 확인하기 위해 각 장치에 IRQ라는 고유의 인터럽트 번호가 있다.
외부 인터럽트는 입출력장치 뿐만 아니라 전원 이상이나 기계적인 오류때문에 발생하는 인터럽트이다.
내부 인터럽트는 프로세스의 오류와 관련된 인터럽트이다.
사용자가 직접 발생시키는 인터럽트는 시그널이라고 한다. (ctrl+c or kill 명령)
5 버퍼
단일 버퍼보다 이중 버퍼를 사용하는 게 운용하다.
한 버퍼는 데이터를 담는 용도, 다른 버퍼는 데이터를 가져가는 용도이다.
728x90
'프로그래밍 이론 & 책 > 운영체제' 카테고리의 다른 글
[운영체제] 10.3 디스크 스케줄링 (0) | 2020.06.02 |
---|---|
[운영체제] 10.2 디스크 장치 (0) | 2020.06.02 |
[운영체제] 9.3 스레싱과 프레임 할당 (0) | 2020.06.01 |
[운영체제] 9.2 페이지 교체 알고리즘 (0) | 2020.06.01 |
[운영체제] 9.1 요구 페이징 (0) | 2020.06.01 |