운영체제

13. 입출력 시스템

jwKim96 2022. 4. 20. 20:33

Disk Scheduling

image

head 가 움직이는 시간이 가장 오래걸리기 때문에, head 의 이동거리를 줄이는게 Disk Scheduling 의 핵심이다.

Disk 의 구성요소

  • platter : 원판을 말함
  • track : platter 를 구성하는 원형 단위를 말함
  • cylinder : track 들의 세로 집합
  • sector : track 의 일부로 데이터가 저장하는 공간
    • header + 실제 데이터(512byte) + trailer 로 구성된다
    • header 와 trailer 는 관리용 데이터들이 들어감
      • ex) sector number, ECC(Error-Correcting Code) 등등
  • head : 데이터를 읽고, 쓰는 구성요소

Dist Management

image

  • physical formatting : 컨트롤러가 Disk 를 Sector 단위로 읽을 수 있도록 나누는 과정
  • partitioning : 논리적으로 Disk 를 분리하는 방법
  • logical formatting : 각 partition 에 File System 을 설치하는 것

Disk Scheduling Algorithm

FCFS

image

먼저 들어온 순서대로 처리하는 방식입니다.
선착순으로 처리하기 때문에, 비효율적인 것을 보실 수 있습니다.

SSTF(Shortes Seek Time First)

image

프로세스 스케줄링의 SJF 와 유사한 알고리즘입니다.
SJF 와 마찬가지로 Starvation 문제가 발생할 수 있습니다.

  • seek time 이 긴 요청의 경우 탐색되지 않을 가능성이 있음

Scan

image

엘레베이터 스케줄링도 기본적으로 Scan 방식으로 동작한다고 합니다.
head의 이동 거리가 일정하다는 장점이 있지만, 요청이 들어온 데이터가 어떤 cylinder 에 속해있는지에 따라
대기시간이 많이 늘어날 수 있다는 단점도 있습니다.

C-SCAN

image

위의 균일하지 않은 대기시간이 발생하는 SCAN 을 개선한 방법입니다.
하지만 이 방법 또한 head 의 이동거리가 길다는 단점이 있습니다.

Other Algorithms

image

SCAN 알고리즘들은 요청이 있든 없든 head끝에서 끝까지 탐색합니다.
반면에 LOOK 알고르즘들은 기다리는 요청이 없으면, 그 즉시 반대 방향을 탐색한다는 특징이 있습니다.

Swap-Space Management

image

Swap 영역을 관리할때의 주요 포인트는 속도 효율성입니다.
사실 Swap 영역은 운영체제의 Runtime에만 사용되는 영역이고, 전원이 꺼지면 사용되지 않습니다.
게다가 프로세스가 주로 사용하는 Main Memory 에 비해서는 속도가 현저히 떨어지기 때문에, 속도 효율성이 더 중요하다고 합니다.

RAID

image

여러개의 Disk를 묶어서 하나의 Disk처럼 사용하는 방식입니다.
이 방식은 데이터 저장시 신뢰성이 향상되는데요.
동일 정보를 RAID 로 묶여있는 여러 Disk 에 중복 저장을 해놓는데요.
만약 불량 섹터가 생겨서 해당 데이터를 읽을 수 없는 경우, 다른 디스크에 저장된 데이터를 읽으면 된다는 장점이 있습니다.
그리고 데이터를 읽을 때 여러 Disk 에서 병렬적으로 읽을 수 있어 처리 속도 향상이라는 장점도 있습니다.