찬란

입출력 시스템 & 디스크 관리 (I/O system & Disk management) 본문

운영체제

입출력 시스템 & 디스크 관리 (I/O system & Disk management)

chan4 2023. 6. 10. 22:30

해당 블로그의 내용은 학교에서 배운 내용을 개인적으로 정리한 내용이므로, 잘못된 부분이 있을 수도 있습니다. 

 

 

개요

  • I/O mechanisms
  • I/O services of OS
  • Disk scheduling
  • RAID architecture

I/O system (HW)

 

I/O mechanisms

  • Processor controlled memory access (프로그램 제어 메모리 접근)
    • Polling 
    • Interrupt
  • DMA, Direct Memory Access

Polling (programmed I/O)

  • 프로세서(Processor)가 주기적으로 I/O 장치의 상태 확인
    • 모든 I/O 장치를 순환하며 확인
    • 전송 준비, 전송 상태 등
  • 장점
    • 단순함
    • I/O장치가 빠르고, 데이터 전송이 잦을 경우 효율적
  • 단점
    • 프로세서의 부담이 큼
      • Polling overhead(I/O device가 느린 경우)

Interrupt

  • I/O 장치가 작업을 완료한 후, 자신의 상태를 프로세서에게 전달
    • Interrupt 발생 시, 프로세서는 데이터 전송 수집

DMA, Direct Memory Access

  • Processor controlled memory access 의 단점
    • 프로세서가 모든 데이터 전송을 처리해야 함   
    • HIgh overhead
  • DIrect Memory Access
    • I/O 장치와 memory 사이의 데이터 전송을 프로세서 개입 없이 수행
    • 프로세서는 데이터 전송의 시작/종료만 관여

 

I/O services of OS

  • I/O scheduling 
    • 입출력 요청에 대한 처리 순서 결정
      • 시스템의 전반적 성능 향상
      • Process의 요구에 대한 공평한 처리
    • E.g., disk I/O scheduling
  • Error handling
    • 입출력 중 발생하는 오류 처리
    • E.g., disk access fail, network, communication error 등
  • I/O device information mangements

Buffering

  • I/O 장치와 Program 사이에 전송되는 데이터를 buffer에 임시 저장
  • 전송 속도(or 처리 단위) 차이 문제 해결

Caching

  • 자주 사용하는 데이터를 고속 디스크에 미리 복사해 둠
    • Cache hit 시 I/O를 생략 할 수 있음

Spooling

  • 한 I/O 장치에 여러 프로그램들이 요청을 보낼 시, 출력이 섞이지 않도록 하는 기법
    • 각 프로그램에 대응하는 disk file을 기록 (spooling)
    • Spooling이 완료되면, spool을 한번에 하나씩 I/O 장치로 기록 

 

 

Disk scheduling

  • Disk access 요청들의 처리 순서를 결정
  • Disk system의 성능을 향상 
  • 평가 기준
    • Throughput
      • 단위 시간당 처리량
    • Mean response time
      • 평균 응답 시간
    • Predictability
      • 응답 시간의 예측 가능성
      • 요청이 무기한 연기(starvation)되지 않도록 방지
  • Optimizing seek time
    • FCFS
    • SSTF
    • Scan
    • C-Scan
    • Look
  • Optimizing rotational delay
    • Sector queueing (SLTF)
  • SPTF

FCFS, First Come First Service

  • 요청이 도착한 순서에 처리
  • 장점
    • 단순
    • 공평한 처리 기법 (Starvation 방지)
  • 단점
    • 최적 성능 달성에 대한 고려가 없음
  • Disk access 부하가 적은 경우에 적합 

 

SSTF, Shortest Seek Time First

  • 현재 head 위치에서 가장 가까운 요청 먼저 처리
  • 장점
    • Throughput 향상
    • 평균 응답 시간 짧음
  • 단점
    • 예측 가능성 하향
    • Starvation 발생 가능
  • 일괄처리 시스템에 적합

Scan scheduling

  • 현재 head의 진행 방향에서 head와 가장 가까운 요청 처리
  • (진행방향 기준) 마지막 cylinder 도착 후, 반대 방향으로 진행
  • 장점
    • SSTF의 Startvation 문제 해결
    • Throughput 및 평균 응답시간 우수
  • 단점
    • 진행 방향 반대쪽 끝의 요청들의 응답시간 상승

C-Scan scheduling

  • SCAN과 유사
  • Head가 미리 정해진 방향으로만 이동
    • 마지막 cylinder 도착 후, 시작 cylinder로 이동 후 재시작
  • 장점
    • Scan대비 균등한 기회 제공

 

Look scheduling

  • Elevator algorithm
  • Scan(C-Scan)에서 현재 진행 방향에 요청이 없으면 방향 전환
    • 마지막 cylinder까지 이동하지 않음
    • Scan(C-Scan)의 실제 구현 방법
  • 장점
    • Scan의 불필요한 head 이동 제거

SLTF, Shortest Latency Time First

  • Fixed head disk 시스템에 사용
    • 각 Track마다 head를 가진 disk
    • Head의 이동이 없음
  • Sector queueing algorithm
    • 각 sector별 queue 유지
    • Head 아래 도착한 sector의 queue에 있는 요청을 먼저 처리함 
  • Moving head disk의 경우
  • 같은 cylinder에 여러 개의 요청 처리를 위해 사용 가능
    • Head가 특정 cylinder에 도착하면, 고정 후 해당 cylinder의 요청을 모두 처리

SPTF, Shortest Positioning Time First

  • Positioning time = Seek time + rotational delay
  • Positioning time이 작은 요청 먼저 처리
  • 장점
    • Throughput 상승
    • 평균 응답 시간 짧아짐
  • 단점
    • 가장 안쪽과 바깥쪽 cylineder의 요청에 대해 starvation 현상 발생 가능 

 

RAID architecture

  • Redundant Array of Inexpennsive Disk (RAID)
  • 여러 개의 물리 dsik를 하나의 논리 disk로 사용
    • OS support, RAID, controller

RAID 0

  • Disk stripping 
    • 논리적인 한 block을 일정한 크기로 나누어 각 disk에 저장
  • 모든 disk에 입출력 부하 균등 분배
  •  

RAID 1

  •  

RAID 3

  •  

RAID 4

  •  

RAID 5

  •  

'운영체제' 카테고리의 다른 글

파일 시스템 (File system)  (0) 2023.06.10
가상 메모리 (Virtual memory)  (0) 2023.06.10
메모리 관리 (Memory Management)  (0) 2023.06.10
레지스터(Register)에 대하여  (0) 2023.04.20
메모리(Memory) 란?  (0) 2023.04.20
Comments