본문 바로가기

CS/OS

[OS - File System] I/O System

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