일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- leetcode
- springframework
- 리버싱
- GraphQL
- #파밍
- #크랙미3번
- #심플즈 크랙미
- java
- Spring
- #리버싱
- #고클린
- #크랙미 9번
- #보안이슈
- #abex크랙미
- #보안뉴스
- #abex크랙미4번
- #크랙미 5번
- #심플즈
- #크랙미2번
- java8
- #크랙미4번
- Easy
- #크랙미
- #크랙미 10번
- #abex
- Today
- Total
Halo World
디스크 스케줄링 본문
| 디스크 스케줄링이란?
> 사용할 데이터가 디스크 상의 여러곳에 저장되어 있을 경우, 데이터를 액세스하기 위해 디스크 헤드를 움직이는 경로를 결정하는 기법
> 운영체제가 담당
> 목적 : 처리량 최대화, 응답시간 최소화
| 디스크 스케줄링 기법
[예제 표]
: 현재 위치는 50이고 방향은 안쪽(0쪽) 방향이다.
150 |
0 |
70 |
200 |
30 |
20 |
60 |
1) FIFO
> 요청이 들어온 순서대로 서비스 하는 방식
> 이동 순서
: 50 -> 150 -> 0 -> 70 -> 200 -> 30 -> 20 -> 60
> 헤드의 이동거리 : 670
2) SSTF
> 현재 위치에서 탐색거리가 가장 짧은 요청 먼저 서비스하는 방식으로 일괄처리 시스템에 유용하다
> 기아상태 발생 가능
> 이동순서
: 50 -> 60 -> 70 -> 30 -> 20 -> 0 -> 150 -> 200
> 헤드의 이동거리 : 290
3) SCAN
> 현재 진행중인 방향으로 가장 짧은 탐색 거리에 있는 요청을 먼저 서비스
> 현재 진행방향에 더이상의 요청이 없을 때만 방향 바꿈 (현재 방향의 끝까지 간 후에)
> SSTF의 응답시간 편차를 줄일 수 있음
> 이동순서
: 50 -> 30 -> 20 -> 0 -> 60 -> 70 -> 150 -> 200
> 헤드의 이동거리 : 250
4) C-SCAN
> 항상 바깥쪽에서 안쪽으로 움직이며 가장 짧은 탐색거리를 갖는 요청을 서비스
> 안쪽 끝까지 이동했으면 다시 바깥쪽부터 탐색하는 방법으로 비교적 공평한 기법
> 이동순서
: 50 -> 30 -> 20 -> 0 -> 200 -> 150 -> 70 -> 60
> 헤드의 이동거리 : 390
5) LOOK ( =엘리베이터 알고리즘)
> SCAN 기법과 비슷한데 진행방향에 더 이상의 요청이 없으면 역으로 스캔
> 이동순서
: 50 -> 30 -> 20 -> 0 -> 60 -> 70 -> 150 -> 200
* SCAN은 이동방향의 끝까지 간 후 바꾸지만, LOOK은 요청까지만 간 후 바꿈
6) N-STEP SCAN
> SCAN 스케줄링과 유사하나 디스크헤드가 방향을 바꾸는 시점에서 큐에 대기중인 요구만을 서비스
> SSTF나 SCAN에 비해 응답시간의 분산이 적음
7) SLTF 스케줄링
> 회전지연시간 최적화를 위한 알고리즘
> 디스크 헤트가 특정 실린더에 도착하면 그 실린더 내의 여러 트랙에 대한 요청들을 검사 후, 회전지연시간이 가장 짧은 요청부터 서비스
'개발 지식 > OS' 카테고리의 다른 글
디렉토리 구조 (0) | 2017.07.31 |
---|---|
시스템 소프트웨어와 응용 소프트웨어 (0) | 2017.07.30 |
교착상태(Deadlock) (0) | 2017.07.12 |
프로세스 간 동기화 (공유 자원에 대한 접근 문제) (0) | 2017.07.11 |
CPU 스케줄링 (0) | 2017.07.10 |