3. Hard Disk Drivers
3-1. The intergace
Interface
-Basic unit: 하드디스크는 기본적으로 섹터 단위로 구성되어 있다. 섹터의 크기는 512byte이다.
-디스크의 Address, LBA(Logical Block Address)
LBA를 작성하는 2가지 방법
→Sector Addressing(섹터를 그대로 사용하는 방법): 512B
: 한번 읽거나 쓸때 512B단위로 접근한다.
→Multi-sector Addressing(최근에는 섹터를 여러개 모아서 접근하는 multi-sector addressing을 사용한다.)
: 보통 8개의 sector를 만들어 4KB의 block을 만들고, 이를 disk block이라고 부른다.
3-2. Basic Geometry
기본적 구조
- 원판 모양(Platter)→원판마다 2개의 surface가 있고, 2개의 surface에는 track(동심원)이 그려져 있다. track은 sector(512B의 기본 unit)로 나눠지고, sector가 데이터를 읽고쓰는 기본단위이다.
- 각 surface마다 head가 존재한다.
디스크의 접근시간: seek time+rotational latency+transfer time
-seek time: 헤드가 움직이는 해당 track으로 움직이는 시간
-rotational time: 필요한 sector의 위치로 회전하는 시간
-transfer time: 실제 데이터를 읽는 시간
3-3. A simple Disk Drive
*Track skew: seek time을 고려하여 sequential access를 고려한 것이다.
3-4. I/O Time: Doing the Math
입출력의 성능
Metrics, 성능을 나타낼 수 있는 지표
I/O time(latency): 실제 입출력을 하는데 얼마나 많은 시간이 걸리는가?
I/O rate(bandwidth): 대역폭. 정해진 시간만큼 얼마나 많은 데이터를 읽거나 쓸 수 있는가?
Workload: 일의 양
Random: 보통 크기가 작고, 임의의 위치에서 데이터를 읽어온다.
Sequential: 섹터들이 연속적으로 분포되어 있다. 섹터들이 연속적으로 비교적 큰 단위로 읽힌다.
*성능 계산
*RPM(분당회전수)
일반적으로 sequential한 접근 방식이 random한 접근방식보다 훨씬 빠르다. 한번의 seek, 한 번의 rotation만 필요하기 때문이다. 따라서 SW 설계시 디스크를 sequential하게 접근할 수 있도록 하면 훨씬 빠르게 할 수 있다.→가능한 순차적으로 I/O되도록 설계하는 것이 좋다.
3-4. Disk Scheduling
Disk Scheduling, 디스크 스케줄링
FCFS(First Come First Serve): 먼저 도착한 요청을 먼저 처리
-simple하게 구현가능하지만, seek time이 오래걸려 성능면에서 좋지 않다.
SSTF(Shortest Seek Time First): Seek time을 최적화시키는 방법
-seek time을 줄일 수 있다. 하지만, unfair하다.(형평성이 나빠질 수 있다.)
SCAN: 스캔하면서 요청을 처리
FCFS에 비해 seek time이 좋으며, SSTF에 비해 fair하다. 하지만, SCAN은 가장자리의 트랙이 불리하다. 따라서 이를 해결하기 위해서 한쪽 방향으로만 서비스를 제공하는 C-SCAN이 나왔다.
SPTF(Shortest Positioning Time First): seek time만을 고려하는 것이 아니라 rotation latency도 고려하여 최적화한다.
*Other scheduling issues
-Merge: 연속된 요청들은 묶어서 처리한다.
-디스크의 스케줄링을 예측한다.
'기타 > 운영체제' 카테고리의 다른 글
[운영체제]Advanced File System (0) | 2022.06.04 |
---|---|
[운영체제]Paging (0) | 2022.06.03 |
[운영체제]Memory Virtualization (0) | 2022.05.23 |
[운영체제]File System (0) | 2022.05.23 |
[운영체제]Persistence (0) | 2022.05.23 |