1. I/O Mechanisms (How to send data between Processor and I/O device)
(1.1) Processor controlled memory access - CPU제어
(1.1.1) Polling (Programmed I/O)
: 프로세서가 주기적으로 I/O 장치의 상태를 확인한다 (모든 I/O 장치를 순환하면서 확인 - 전송 준비 및 상태 등)
- Cons : 간단하며, I/O 장치가 빠르고, 전송이 잦은 경우 효율적임
- Pros : 프로세서(CPU)의 부담이 크다 (특히 I/O device가 느린 경우 오버헤드가 큼)
(1.1.2) Interrupt
: I/O 장치가 작업을 완료한 후, 자신의 상태를 프로세서에게 전달하는 것 (Intr 발생 시, 프로세서는 데이터 전송 수행)
- Cons : Polling 대비 오버헤드가 적음, 불규칙적인 I/O 작업에 적합하다.
- Pros : Interrupt Handling에 오버헤드 발생
(1.2) Direct Memory Access (DMA) -CPU 제어 X
: I/O 장치와 Memory 사이의 데이터 전송을 프로세서 개입없이 수행한다. (프로세서 오버헤드 감소)
2. Services of OS (OS Supports for better I/O performance)
(2.1) I/O Scheduling
: 입출력 요청에 대한 처리 순서 결정(전반적인 성능 향상)
(2.2) Error handling
: 입출력 중 발생하는 오류 처리 (ex disk access fail, network error 등)
(2.3) I/O device information managements
: 다양한 I/O 장치들의 정보를 관리
(2.4) Buffering
: I/O 장치와 Program 사이에 전송되는 데이터를 Buffer에 임시 저장 (전송 속도 차이 문제를 해결)
(2.5) Caching
: 자주 사용하는 데이터를 미리 복사해 둔다. Cache hit 시, I/O를 생략할 수 있음
(2.6) Spooling
: 한 I/O 장치에 여러 Program이 요청을 보낼 경우, 출력이 섞이지 않도록 하는 기법
(각 Program에 대응하는 disk file에 기록한 후, 한번에 하나씩 I/O 장치로 전송)
3. Disk Scheduling
4. RAID Architecture
출처 : 한기대 김덕수 교수님 운영체제 강의
https://www.youtube.com/watch?v=3VOqyi-wbJU&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=40&ab_channel=HPCLab.KOREATECH
'CS > OS' 카테고리의 다른 글
[OS - File System] File System Implementation (0) | 2021.03.03 |
---|---|
[OS - File System] File Protection (0) | 2021.03.03 |
[OS - File System] Directory Structure (0) | 2021.03.03 |
[OS - File System] Overview (0) | 2021.03.03 |