CS/운영체제

[운영체제] 디스크 시스템

happy_life 2022. 7. 22. 16:49

목차

1. 디스크 시스템

디스크 시스템

1. Disk pack

Disk pack

 

하드 디스크의 원판을 Disk pack이라고 한다. 

 

디스크 팩의 구성

1) Sector

데이터 저장/판독의 물리적 단위

 

2) Track

Platter 한 면에서 중심으로 같은 거리에 있는 sector들의 집합

 

3) Cylinder

같은 반지름을 갖는 track의 집합(track 과 cylinder는 혼용하는 개념)

 

4) Platter

양면에 자성 물질을 입힌 원형 금속판

데이터의 기록/판독이 가능한 기록 매체

 

5) Surface

Platter의 윗면과 아랫면

 

 

2. Disk drive

디스크 드라이브

 

Disk pack에 데이터를 기록하거나 판독할 수 있도록 구성된 장치이다.

 

디스크 드라이브의 구성

1) Head

디스크 표면에 데이터를 기록/판독한다.

 

2) Arm

Head를 고정 지탱한다.

 

3) Positioner

Arm을 지탱하고, Head를 원하는 track으로 이동시킨다. 

 

4) Spindle

Disk pack을 고정(회전축)

Spindle의 분당 회전수를 RPM이라고 한다.

 

 

3. Disk Address

디스크의 주소는 실제 하드웨어의 주소가 있고, 운영체제가 인식하는 논리 주소가 있다. 

 

1) Physical disk address

Surface Number && Cylinder Number && Sector Number 로 구성되어 있다.

physical disk number

 

 

 

 

2) Logical disk address

OS가 판단하는 디스크의 논리 주소로 Disk System의 데이터 전체를 block들의 나열로 취급한다.

 

Block 번호 -> physical address로 변환하는 모듈이 필요하다(disk driver)

logical disk address

 

4. Disk Scheduling

 

1) Access time 

Seek time + Rotational latency + Transfer time

 

- Seek time: 헤드를 해당 실린더로 움직이는데 걸리는 시간(가장 오래 걸림)

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

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

 

 

2) scheduling algorithm 

 

- FCFS(First Come First Service)

들어온 순서대로 처리

 

- SSTF(Shortest Seek Time First)

현재 헤드 위치에서 가장 가까운 위치부터 처리

 

* starvation이 발생할 수 있음.

 

- SCAN

disk arm이 디스크의 한쪽 끝에서 다른쪽 끝으로 이동하며 가는 길목에 있는 모든 요청을 처리한다. (엘리베이터 알고리즘)

 

- C-SCAN

C-SCAN

 

SCAN 방식과 비슷하나, 다른쪽 끝에 도달하면, 다시 출발점으로 이동해서 요청을 처리한다. 각각의 요청이 나름 공정한 대기시간을 갖는다. 

 

- LOOK

SCAN과 달리 그 방향에 더이상 요청이 없으면 방향을 바꾼다. (SCAN과 달리 끝점까지 반드시 가지 않는다.)

 

- C-LOOK

마찬가지

C-LOOK

 

 

 

 

5. Swap-Space Management

Swap-Space

 

프로세스를 많이 사용하는 경우가 많아, 메모리가 부족하다. 이를 해결하기 위해 디스크의 Swap-space를 사용하게 되었다. Swap-space는 memory의 연장 공간이다. 

 

공간 효율성이 중요하지 않은 이유: 메모리의 보조용도이므로, 일반 파일보다 짧은 시간동안 사용되고 사라지는 의미없는 데이터이므로 공간효율성이 중요하지 않다. 메모리처럼 빠르게 접근하는 것이 중요하므로 속도 효율성이 우선된다. 따라서 속도효율성을 위해 한덩어리를 크게 크게 사용하므로서, 하드디스크의 Seek time을 줄여 빠르게 접근할 수 있도록 구현되어 있다.

 

 

 

 

 

 

 

 

본 포스팅은 kowc 이화여대 반효경 교수님 운영체제 강의를 바탕으로 작성하였습니다.

참고: https://www.youtube.com/watch?v=ipJ7DPzYBk0&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN&index=38