본문 바로가기

Studying/Operating System

11. Disk Management and Scheduling

디스크

최소단위: sector (저장)

logical block: 외부에서보는 디스크의 단위 정보 저장 공간들


Dick Managemnet

Pysical formatting(Low-level formatting): 디스크를 컨트롤러가 읽고 쓸 수 있도록 섹터들로 나누는 과정

각 섹터는 header+실제 data(보통 512byte)+trailer 로 구성

header와 trailer는 sector number, ECC(Error-Correcting Code) 등의 정보가 저장되며 controller가 직접 접근 및 운영

Partitioning

디스크를 하나 이상의 실린더 그룹으로 나누는 과정

OS는 이것을 독립적 disk로 취급(logical disk)

Logical formatting

파일 시스템을 만드는 것

FAT, Inode, free space등의 구조 포함

Booting

ROM에 있는 small bootstrap loader의 실행

sector 0 (boot block)을 load하여 실행

sector 0은 full Bootstrap loader program

OS를 디스크에서 load하여 실행


Disk Scheduling

Access time의 구성

Seek time: 헤드를 해당 실린더로 움직이는 데 걸리는 시간 (대부분의 시간)

Rotational latency: 헤드가 원하는 섹터에 도달하기까지 걸리는 회전지연시간

Transfer time: 실제 데이터의 전송 시간

Disk bandwidth: 단위 시간 당 전송된 바이트의 수

Disk Scheduling: Seek time을 최소화하는 것이 목표 (Seek time = seek distance)


Disk Scheduling Alogorithm: 53번 헤드에서 98 183 37 122 14 124 65 67 알고리즘 실행 결과는?

FCFS(First Com First Service): 들어온 순서대로 처리, 비효율적 (98 183 37 ... -> 640cylinders)

SSTF(Shortest Seek Time First): 현재 헤드 위치에서 제일 가까운 위치를 실행(65 67 37 ...), Starvation 문제

SCAN: disk arm이 디스크의 한쪽 끝에서 다른쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리(순서와 상관없이 지그재그)

-> 가운데가 끝보다 더 자주 처리됨

C-SCAN: SCAN을 하는데 시작점과 끝점이 똑같음(한 방향으로만) -> 모든 점에서 시간이 동일해짐

N-SCAN: SCAN과 똑같이 하다가, 가는 도중에 온 요청은 다음에 처리함

LOOK and C-LOOK: SCAN과 C-SCAN은 끝에서 끝으로 이동하는데, 이것을 개선해 요청이 있는 만큼만 가고 돌아온다.


Swap-Space Management

Disk를 사용하는 두 가지 이유

memory의 voilate한 특성 -> file system

프로그램 실행을 위한 memory 공간 부족 -> swap space (swap area)

Swap-space

Virtual memory system에서는 디스크를 memory의 연장 공간으로 사용

파일시스템 내부에 둘 수도 있으나 별도 partition 사용이 일반적

공간효율성보다는 속도 효율성이 우선

일반 파일보다 훨씬 짧은 시간만 존재하고 자주 참조됨

따라서, block의 크기 및 저장 방식이 일반 파일 시스템과 다름

Physical disk

Logical disk1: File System: 512의 동일한 크기로

Logical disk2: Swap area: 굉장히 큰 단위로


RAID(Redundant Array of Independent Disks)

여러 개의 디스크를 묶어서 사용

목적

디스크 처리 속도 향상

여러 디스크에 block의 내용을 분산 저장

병렬적으로 읽어 옴 (Interleaving, striping)

신회성(reliability) 향상

동일 정보를 여러 디스크에 중복 저장

하나의 디스크가 고장시 다른 디스크에서 읽어옴

단순한 중복 저장이 아니라 일부 디스크에 parity를 저장하여 공간의 효율성을 높일 수 있다.


'Studying > Operating System' 카테고리의 다른 글

10. File Systems Implementation (2/3) (3/3)  (0) 2018.07.15
10. File Systems (1/3)  (0) 2018.07.14
09. Virtual Memory (2/2)  (0) 2018.07.12
09. Virtual Memory (1/2)  (0) 2018.07.11
08. Memory Management (4/4)  (0) 2018.07.10