일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- 교착상태
- 운영체제
- Algorithm
- 스케줄링
- 가상 메모리
- 기아 상태
- 부동소수점
- 동기화
- 백준
- BOJ
- 트랩
- fork()
- ALU
- PYTHON
- 컴퓨터구조
- 스레드
- 페이지 대치
- mips
- 우선순위
- 세마포어
- 페이지 부재율
- Oracle
- concurrency
- 추상화
- 인터럽트
- mutex
- 단편화
- 프로세스
- 페이징
- Today
- Total
봉황대 in CS
[Chapter 12. 대용량 저장장치 구조] 회전 지연 시간 최적화 알고리즘, RPM의 한계 본문
[Chapter 12. 대용량 저장장치 구조] 회전 지연 시간 최적화 알고리즘, RPM의 한계
등 긁는 봉황대 2022. 8. 9. 02:07* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다.
회전 지연 시간 최적화
초창기 디스크 접근 시간을 좌우하는 것은 대부분 탐색 시간이었다.
* 탐색 시간 (seek time) : 디스크 암(arm)이 헤드를 원하는 실린더로 움직이는 데 걸리는 시간
하지만 요즘 사용하는 하드 디스크는 탐색 시간과 회전 지연 시간의 자릿수가 같은 정도로 발전되어서
회전 지연 시간 최소화로도 성능을 개선할 수 있게 되었다.
특히 한 트랙 내 여러 곳에 분산된 섹터들 중 일부만 요구하는 요청이 많을 경우
회전 지연 시간을 최적화하여 성능을 크게 개선할 수 있다.
아래는 회전 지연 시간 최적화 알고리즘들이다.
- SLTF(Shortest Latency-Time First) 스케줄링
- SPTF(Shortest Positioning-Time First) 스케줄링 - 최단 위치 결정시간 우선
- SATF(Shortest Access-Time First) 스케줄링 - 최단 접근시간 우선
SLTF 스케줄링
SLTF : Shortest Latency-Time First
모든 요청 중 회전 지연 시간이 가장 짧은 요청을 먼저 서비스하는 방식이다.
요청들을 도착 순서 상관 없이 섹터 위치에 따라 큐에 넣고 가장 가까운 섹터에 대한 요청을 먼저한다.
→ 섹터 큐잉(Sector Queueing)이라고도 부른다.
이론적으로 최적 전략에 근접하며, 구현하기가 쉽다.
최단 위치 결정시간 우선 스케줄링 (SPTF Scheduling)
SPTF : Shortest Positioning-Time First
위치 결정 시간(Positioning time)이 가장 짧은 요청을 다음 서비스 대상으로 선택하는 방식이다.
* 위치 결정 시간 = 탐색 시간 + 회전 지연 시간
처리량이 많고 평균 반응 시간이 짧다.
하지만 SSTF와 같이 가장 안쪽과 바깥쪽 실린더에 대한 요청이 무기한 연기되어 기아 상태가 발생할 수도 있다.
최단 접근 시간 우선 스케줄링 (SATF Scheduling)
SATF : Shortest Access-Time First
위치 결정 시간(Positioning time)과 전송 시간의 합(Access time)이 가장 짧은 요청을 다음 서비스 대상으로 선택하는 방식이다.
SPTF보다 처리량이 많지만,
작은 요청이 연속으로 유입될 때 큰 요청들이 무기한 연기되어 기아 상태가 발생할 수도 있다.
* SPTF와 SATF 스케줄링 비교
(a)에서 A와 B의 길이는 같아, 전송 시간은 동일하다.
디스크 자체의 오류 점검과 수정으로, 연속된 번호를 가진 섹터들이 디스크의 물리적 위치에 정확히 대응되지 않을 수도 있기 때문에
SPTF와 SATF는 모두 지연시간, 트랙 간의 탐색 시간, 섹터들의 상대적 위치 등 디스크에 관한 지식들이 필요하다.
RPM의 한계
RPM은 Rotations Per Minute으로, 분당 회전 수를 말한다.
직접적인 성능 강화 방법은 디스크의 회전 속도를 높여서 회전 지연 시간을 줄이는 것이다.
하지만 RPM을 높이려면 많은 전력 소비가 일어나며, 열과 소음 문제도 함께 발생한다.
이 문제들을 해결하려면 고가의 기계적 전기적 제어가 필요하다.
따라서 RPM은 지난 수십년동안 일년에 몇% 수준으로만 증가하였다.
* 개인용 컴퓨터에서 약 5,400 ~ 7,200 RPM, 서버나 고성능 시스템에서는 10,000 ~ 15,000 RPM 정도로 향상
'Computer Science & Engineering > Operating System' 카테고리의 다른 글
[운영체제] Zombie Process ⊃ Orphan Process (0) | 2023.10.21 |
---|---|
[Chapter 12. 대용량 저장장치 구조] 디스크와 디스크 스케줄링(FCFS, SSTF, SCAN, LOOK) (0) | 2022.08.08 |
[Chapter 11. 파일 시스템 구현] 파일 시스템, 디스크 공간 할당 방법과 자유 공간의 관리 (1) | 2022.08.07 |
[Chapter 10. 파일 시스템] 파일과 디렉터리 (0) | 2022.08.06 |
[Chapter 9. 가상 메모리] 커널 메모리의 할당, 메모리 사상 파일 (0) | 2022.08.05 |