티스토리 뷰
1. I/O Hardware
PC BUS 구조
I/O Hardware Device
- Controller(host adapter)
1. Status Register
통신방법 :2. Command Register
Polling Interrupt 상태를 반복해서 확인하기에 busy waiting 발생 다른 프로세서에 양도 빠른 장치 느린 장치
통신방법:
3. Data Register
Memory Mapped I/O I/O-Mapped I/O I/O 장치를 memory 블록으로 취급 In, Out 명령어를 통해 장치 접근 해당 주소에 memory load, store -> 장치 접근 + : 구조 simplify, 한번에 많은 데이터 및 장치 접근 + : 메모리 주소공간 낭비x, 빠르다 - : 메모리 주소 공간 차지, 잠재적 복잡도 - : 복잡한 프로그래밍, 연결과 접근하는 장치가 적다
통신방법:
Programmed I/O (PIO) Direct Memory Access (DMA) 많은 양의 데이터를 장치로 옮기려면 CPU가 시간 많이 쓴다. PIO를 개선해 오버헤드를 줄인다. cpu -> DMA -> disk 직접 통신한다. DMA Controller
2. Device Driver
- driver를 이용한 추상화: 장치와의 상세한 상호작용은 그 안에 캡슐화 되어 있다.
- Implementation
- 커널과 정적으로 link
- 부팅시 선택적 load
- 커널 실행시 동적으로 load
- 추상화의 단점: 특수기능이 많은 장치의 기능은 이용하지 못한다.
- OS코드의 70% 넘게 Device Driver를 위한 것이다. 즉 커널 코드의 대부분이다.
'운영체제' 카테고리의 다른 글
13. File System (0) | 2024.06.20 |
---|---|
9. Main Memory (1) | 2024.06.14 |
8. Deadlocks - Concurrency problems (1) | 2024.06.14 |
6. Synchronization (0) | 2024.06.12 |
2. OS Service (0) | 2024.04.26 |