I/O System
- OS code의 대부분을 차지
- User의 체감 성능에 가장 중요한 영향을 미침
- test하기 힘든 영역
- Types of I/O Devices
- Block Device
- 데이터가 fixed-size block에 저장되고, block은 저마다의 주소를 갖는다
- 이러한 block address를 통해 independently하게 access하여 R/W한다
- Disk
- Character Device
- 데이터가 Stream 형태로 존재, 이미 처리한 데이터를 다시 처리할 수 없음
- Address가 없다
- Printer, Network Interface, Mice 등
- Others
- Clocks, Memory-Mapped Screen
- Block Device
Device Controller
- 외부에서 들어온 데이터를 변환하여 Disk에 저장
- H/W적인 error correction을 수행
- DMA Operation(Direct Memory Access)
- Device가 직접 Memory에 Access하는 기능
- I/O Device에 Access할때, Controller에 있는 data register에 I/O Device가 읽거나 쓸 데이터를 저장하고 control register에 수행할 명령을 저장해 작업을 수행
- 어떻게 Addressing할 것인가?
- DMA(Direct Memory Access)
- DMA Controller는 Physical Address를 바로 사용
- Virtual Address를 사용하려면 MMU(Memory Management Unit)에 접근할 수 있어야 한다
- DMA Transfer Mode
- Cycle Stealing : CPU가 Memory에 Access하지 않는 타이밍에만 I/O Device와 Memory사이로 데이터를 옮김
- Burst Mode : CPU가 한동안 Bus를 사용하지 못하게 제한, I/O Device가 Bus를 독점
'Computer Science > Operating System' 카테고리의 다른 글
[개념] Memory Management 1 (0) | 2021.08.12 |
---|---|
[개념] Virtualization (0) | 2021.08.12 |
[개념] IPC (0) | 2021.08.12 |
[개념] Threads and Concurrency (0) | 2021.08.12 |
[개념] Process Management (0) | 2021.08.12 |