Download presentation
Presentation is loading. Please wait.
1
제 7 장 보조기억 장치관리와 디스크 스케줄링 Section 1 개 요 Section 2 캐시 기억장치
2
1. 주기억장치와 보조기억장치의 특성 1) 주 기억 장치(main memory, primary memory,
Section 1 개요 1. 주기억장치와 보조기억장치의 특성 1) 주 기억 장치(main memory, primary memory, real memory) RAM의 종류 RAM은 데이터가 저장되어 있는 위치에 관계없이 일정한 시간 내에 액세스가 가능한 기억장치. 반도체 기억장치로서 그 내용을 읽고 쓸 수 있는 것. 크게 정적 램(Static RAM, SRAM)과 동적 램(Dynamic RAM, DRAM)으로 구분. SRAM은 플립플롭을 집적한 것으로 전원이 들어오는 동안에는 계속 내용을 유지하는 특성을 갖고 있다. SRAM은 DRAM에 비해 집적도가 떨어지고 값도 비싸지만 재생작업이 필요 없다는 점이 장점. DRAM은 MOS의 전하 저장기능을 이용한 일종의 콘덴서를 집적한 것으로 전원이 계속 들어와도 시간이 지나면 내용이 없어지므로 일정 주기마다 재생(refresh)작업 필요.
3
1. 주기억장치와 보조기억장치의 특성 1) 주 기억 장치(main memory, primary memory,
Section 1 개요 1. 주기억장치와 보조기억장치의 특성 1) 주 기억 장치(main memory, primary memory, real memory) ROM의 종류 Mask ROM은 제조 과정에서 ROM에 내용을 입력해 놓는 ROM. 특정 제품에 장착할 목적으로 대량 생산에 많이 사용, 제조원가가 저렴 PROM(programmable read-only memory)은 제조 과정에서 내용이 저장되지 않으며, 출시 후 사용자가 원하는 내용을 한번만 기록할 수 있 는 ROM. Mask ROM 에 비해서 상대적으로 내부 집적도가 떨어지며 주문자에 맞게 제조되는 소량 생산 제품들에 보통 사용. EPOM(erasable programmable read-only memory)은 PROM을 개선한 ROM으로 여러 차례 내용을 지우고 재 기록가능. EEPROM (electrically erasable programmable read-only memory)은 EPROM 의 느린 기록 속도를 보완한 ROM.보통 수만~수십만 회 정도 까지만 읽고 쓰는 것이 가능. 인텔사에서 개발한 Flash memory라고 함. UV-EP ROM : 자외선으로 기억된 내용을 지움 EAROM(EEROM - Electrically Alterable ROM) : 자외선 대신 전기적인 방법으로 내용을 지울 수 있는 ROM
4
2) 보조기억 장치(secondary memory, auxiliary memory)
Section 1 개요 1. 주기억장치와 보조기억장치의 특성 2) 보조기억 장치(secondary memory, auxiliary memory) 보조기억 장치(secondary memory, auxiliary memory) 주기억 장치에 기억되어 있는 정보를 제외한 모든 정보가 저장되어 있으며, 필요에 따라 주기억 장치에 전송(자기 디스크, 자기 드럼, 자기 테이프, 광디스크, 버블, CCD(charge coupled device)). 보조기억 장치 구분. 순차 기억 매체(SASD: Sequential Access Storage Device) 자기테이프 장치처럼 적절한 레코드가 찾아질 때 까지 차례, 차례 검색하는 매체. 직접 기억 매체(DASD: Direct Access Storage Device) 자기 디스크 장치처럼 주소를 통해 직접 적절한 레코드를 찾아가는 매체.
5
2. 보조기억장치의 평가기준 Section 1 개요 저장 장치 용량 : 고용량 저장 장치는 많은
복잡한 프로그램과 거대한 데이터베이스를 필요 접근 속도 : 보조 저장 장치 위에 정보를 가져다 놓는데 걸리는 평균 시간. 접근 속도는 밀리세컨드(1초의 천 분의 일)로 측정. 전송율 : 데이터가 보조 저장 장치에서 주기억장치로 전송되는 데 걸리는 시간 크기 : 어떤 상황에서는 작은 기억장치가 휴대 가능성 때문에 필요하고, 어떤 상황에서는 큰 기억장치가 필요한 경우. 분리 가능성 : 일부 사용자들에게는 착탈식 하드디스크와 같은 분리 가능한 저장 장치 매체가 필요. 비용 : 단가에 비해서 용량이 적으며, 속도가 빠를수록 가격이 고가 기억 장치.
6
3. 보조기억장치의 종류와 특성 1) 자기 테이프 장치 많은 데이타의 백업용으로 사용. 레코드 구분 데이타 집합.
Section 1 개요 3. 보조기억장치의 종류와 특성 1) 자기 테이프 장치 비트는 몇 개의 트랙을 따라 테이프 위의 자기 점들을 따라 기록(패리티 비트를 포함하여 7∼9 비트). 읽기/쓰기 헤드는 각 트랙에 한 개씩 존재. 많은 양의 데이터 저장 가능, 속도가 느리고 순차접근 하므로 데이터 보관용. 주소의 개념이 없는 SASD(sequence access storage device). 많은 데이타의 백업용으로 사용. 레코드 구분 논리적 레코드(logical record): 코드에 의해 분류, 식별되는 데이타 집합. 물리적 레코드(physical record): 한 개 이상의 논리적 레코드로 구성. 블록이란 물리적 레코드와 같은 뜻.
7
3. 보조기억장치의 종류와 특성 1) 자기 테이프 장치 레코드간 갭(IRG : inter record gap)
Section 1 개요 3. 보조기억장치의 종류와 특성 1) 자기 테이프 장치 레코드간 갭(IRG : inter record gap) 각각의 레코드는 시간에 따라 순차 기록되는데, 각 레코드들 사이에는 가속과 감속 시간에 의해 레코드간 갭(IRG)이 발생 블록화 인수(blocking factor) IRG는 기억 공간을 낭비하므로 N개의 논리적인 레코드를 묶어 블록(물리적 레코드)으로 만듬. 이때의 N이 블록화 인수. 즉, 4개의 논리 레코드를 묶어 하나의 블록으로 블록킹 한다면 블록화 인수 = 4.
8
Section 1 개요 3. 보조기억장치의 종류와 특성 1) 자기 테이프 장치 그림 7-1 IRG의 예
9
1) 자기 테이프 장치 블록킹(blocking) :
Section 1 개요 1) 자기 테이프 장치 블록킹(blocking) : 블록화 인수에 따라 몇 개의 논리 레코드를 묶어서 하나의 블록으로 패킹하며, 이때 블록과 블록 사이에는 블록간 갭(IBG : inter block gap)이 생김. 그림 7-2 블록킹과 IBG 예
10
3. 보조기억장치의 종류와 특성 1) 자기 테이프 장치 데이타 전송 속도 BPI(byte per inch)
Section 1 개요 3. 보조기억장치의 종류와 특성 1) 자기 테이프 장치 데이타 전송 속도 BPI(byte per inch) 자기 테이프의 기록 밀도. 1인치당 기록되는 바이트 수 IPS(inch per sec) 자기 테이프의 전송 속도. 1초 당 이동하는 인치의 수 BPS(byte per sec) 데이타 전송 속도. 1초 동안 전송되는 바이트(문자)수
11
3. 보조기억장치의 종류와 특성 2) 자기 디스크 장치 Section 1 개요
그림 7-3(a) 디스크에서의 트랙, 섹터, 실린더
12
3. 보조기억장치의 종류와 특성 2) 자기 디스크 장치 Section 1 개요
그림 7-3(b) 디스크에서의 트랙, 섹터, 실린더
13
Section 1 개요 2) 자기 디스크 장치 자기 디스크의 접근 요소 그림 7-4 디스크 접근요소
14
3. 보조기억장치의 종류와 특성 2) 자기 디스크 장치 자기 디스크의 접근 시간 탐색 시간(seek time)
Section 1 개요 3. 보조기억장치의 종류와 특성 2) 자기 디스크 장치 자기 디스크의 접근 시간 탐색 시간(seek time) 헤드를 움직여 적절한 실린더(트랙)위에 놓는데 걸리는 시간. 헤드 활성화 시간(head activation time) 트랙을 찾는데 걸리는 시간. 회전 지연 시간(latency time 또는 rotational delay time) 헤드를 움직여 적절한 섹터 위에 놓는데 걸리는 시간. 전송 시간(transmission time) 데이타를 주고 받는데 걸리는 시간. 총 접근 시간 δrp : 탐색 시간 δseek, 회전 지연 시간 δrot, 전송 시간 δtrans의 합 δrq = δseek + δrot + δtrans
15
Section 1 개요 2) 자기 디스크 장치 디스크 기록밀도 그림 7-5 디스크 기록 밀도 비교
16
디스크 인터리빙(interleaving) :
Section 1 개요 2) 자기 디스크 장치 디스크 인터리빙(interleaving) : 데이터가 CPU나 제어기에 의해 디스크 제어기로부터 기억장치로 전송되는 동안, 다음 섹터는 디스크 헤드 밑을 통과해 버림. 단순한 제어기는 동시에 입력과 출력을 소화해 내지 못하므로, 기억장치 전송이 일어나고 있을 동안에 디스크 헤드 아래를 지나가는 섹터는 잃어 버리게 됨. 그 결과 제어기는 매번 다른 블록을 읽게 됨. 연속적으로 번호가 붙여진 디스크 블록을 순서적으로 읽을 때, 디스크 제어기와 디스크 구동기 사이의 전송 부하 때문에 각 블록 사이에 지연시간이 존재하게 되는데 지연시간이 경과된 후에 헤드가 정확한 블록에 위치하도록, 논리적으로 연속된 블록들은 디스크 표면상에서 일정한 간격으로 건너 뛰게 함. 인터리빙 계수(interleave factor): 이와 같이 지연 시간 때문에 인접한 디스크 블록을 건너뛰는 일정한 간격 속도 차이가 클수록 인터리빙 계수를 높이는 것이 바람직.
17
디스크 인터리빙(interleaving) :
Section 1 개요 2) 자기 디스크 장치 디스크 인터리빙(interleaving) : a) 1:1 인터리빙 b) 3:1 인터리빙 그림 7-6. 디스크 인터리빙
18
2) 자기 디스크 장치 디스크 공간 할당 Section 1 개요
블록의 크기가 4K이고 크기가 11K인 파일이 있다고 가정할 경우, 이 파일을 저장하기 위해서는 3개의 블록 할당이 필요. 마지막 4K 블록에 3K를 할당하고 남은 1K를 디스크 기억 공간의 단편화 시간이 지날 수록 파일의 삭제와 삽입이 반복되면서 단편화된 조각들이 늘어나게 되므로 주기적으로 디스크 공간을 압축(compaction)필요.
19
Section 1 개요 2) 자기 디스크 장치 디스크 공간 할당 그림 7-7 디스크 기억공간의 단편화
20
2) 자기 디스크 장치 블록 단위 입출력 Section 1 개요
11K 파일을 읽기 위해 read()시스템 호출에 의해 발생하는 입출력 과정. 그림 7-8 디스크 입출력 과정
21
3) 자기 드럼 4) 자기 코어 Section 1 개요 자화점을 가진 500여개의 트랙이 원통 둘레에 같은 크기의 원.
원통형 표면에 자성 데이타를 입힌 것으로, 3 만개의 자화점을 가진 500여개의 트랙이 원통 둘레에 같은 크기의 원. 헤드가 움직이지 않으므로 탐색 시간이 없어 고정 헤드 디스크와 유사. 저장 데이터 양이 소량이고, 부피에 비해 소용량. 자기 디스크 보다 접근시간이 빠름. 4) 자기 코어 자기 코어 기억 장치는 환상형의 강자성체 물질로 되어 있고 자화 방향에 따라 1, 0을 표시. 저장된 정보를 읽을 때 자화 방향이 변화. 곧 DRO(destructive read out). 그러므로 재저장이 필요. 자기 코어에 1 또는 0을 기억시킬 때에는 전류가 흘러갈 때 발생시키는 자장에 의하여 자기 코어가 자화되도록 하는 것. 자기 코어에 끼워진 도체에 전류를 흘려보내는 방향에 따라 2가지 형태로 자화. 2가지 형태 중에서 어느 하나를 1로 정하고, 그와 반대 형태를 0으로 약속하면, 자기 코어 1개는 1비트를 기억시킬 수가 있음. 자기 코어의 구성 ∙ 구동선(driving write) : 자기 코어를 선택. ∙ 감지선(sense wire) : 자기 코어의 상태 검출. ∙ 금지선(inhibit wire) : 불필요한 코어의 자화 방지
22
1. 캐시기억 장치 캐시의 특성 속도가 빠른 캐시에 저장되어 평균 기억 장치 접근 시간이 감소.
Section 2 캐시 기억장치 1. 캐시기억 장치 CPU와 기억 장치 사이의 속도의 격차를 완화하기 위한 완충 장치로 마련된 것이 캐시 기억장치 (버퍼 기억 장치). 캐시의 특성 기억 장치 참조의 국부성 : 자주 참조되는 프로그램과 데이터가 속도가 빠른 캐시에 저장되어 평균 기억 장치 접근 시간이 감소. 캐시는 캐시는 CPU 내에 존재. CPU는 캐시 기억 장치와 주기억 장치를 직접 접근 기억 장치 계층 구조 중 가장 빠르며 CPU의 속도에 근접 성능 평가 : 히트율(hit ratio)에 의해 측정. CPU가 기억 장치를 참조할 때 캐시에서 찾을 경우를 HIT, 주기억 장치에 있을 때 MISS라 하는데, HIT율은 HTT의 수를 CPU에 의한 기억 장치 참조의 총 수로 나눈 비율. 사상 과정 : 주기억 장치로부터 캐시 기억 장치로 데이터를 전 송 하는 과정
23
1. 캐시기억 장치 Section 2 캐시 기억장치 그림 6-9 캐시 기억장치
그림 6-9 캐시 기억장치 캐시 기억 장치와 주기억장치는 일정한 크기의 단위로 구분되는데 이것을 페이지(page)라 함. 각 페이지는 연속된 단어로 가정하는 일정 크기의 블록으로 구분. 캐시 기억 장치에서 주기억장치에 접근할 때 블록 단위로 이루어지지만 캐시 내에서 적중에 실패한 경우는 페이지 단위. 주기억장치와 캐시 기억 장치의 운용은 시스템 프로그램에서 수행.
24
1. 비트 벡터(Bit Vector) 고 나머지 블록들은 할당되어 있다고 가정할 때, 그 가용 공간
Section 3 디스크 가용공간 관리 1. 비트 벡터(Bit Vector) 비트 값이 0 인 경우 : 디스크 블록이 비어 있음. 비트 값이 1 인 경우 : 디스크 블록이 이미 할당되어 있음. 디스크에 블록이 2, 3, 4, 5, 8, 9, 11, 17, 18, 22, 23, 27이 비어 있 고 나머지 블록들은 할당되어 있다고 가정할 때, 그 가용 공간 비트맵은 이 됨. 그림 7-10 비트 벡터 비트 벡터는 전체 벡터가 대부분이 접근을 위해서 주기억 장치 내에 존재해야 하는데 디스크에 기록하는 경우에는 비 효율적. 장점 간편하고 디스크 내 연속적인 n개의 가용 블록들을 찾는데 효과적.
25
2. 연결 리스트(Linked List) 있으며 계속 이어짐. Section 3 디스크 가용공간 관리
가용 블록 안에 포인터를 둠. 블록은 다음 가용 디스크 블록의 포인터를 가지고 있으며 계속 이어짐. 리스트 탐색 시 모든 리스트를 탐색하므로 비효율적. 그림 7-11 연결 리스트의 구조
26
3. 그룹핑(Grouping) Section 3 디스크 가용공간 관리 그림 7-12 그룹핑의 구조
장점은 여러 개의 가용블록의 주소를 쉽게 찾을 수 있음. 그림 7-12 그룹핑의 구조
27
4. 카운팅(Counting) Section 3 디스크 가용공간 관리 그림 7-13 카운팅의 구조
첫번째 가용블록의 주소와 그 첫번째 블록에 연속된 이용가능 블록의 개수를 보존 가용공간 리스트내의 각 항목들은 디스크 번지와 계수로 구성. 장점은 계수 값이 1보다 클 때 전체 리스트는 짧아 짐. 그림 7-13 카운팅의 구조
28
디스크 스케줄링 기능 구분 디스크나 드럼에서 찾고자 하는 데이터가 여러 곳에
Section 4 디스크 스케줄링 기법 디스크 스케줄링 기능 디스크나 드럼에서 찾고자 하는 데이터가 여러 곳에 흩어져 있을 때 과연 헤드를 어떻게 움직이느냐를 결정하는 것. 구분 탐색 시간 최적화 알고리즘 (seek time optimization algorithm) 회전 시간 최적화 알고리즘 (rotation time optimization algorithm). 회전 지연 시간은 크지 않기 때문에 디스크 성능에 큰 영향을 미치지 못함. 탐색 시간은 기계적인 헤드의 움직임이기 때문에 회전 지연 시간보다 10배 이상의 많은 시간이 소요되며, 디스크 성능을 좌우. 디스크 스케줄링 목적 : 탐색 시간을 최적화.
29
디스크 스케줄링의 목표 처리율(throughput)
Section 4 디스크 스케줄링 기법 디스크 스케줄링의 목표 처리율(throughput) 단위 시간에 디스크의 헤드가 찾을 수 있는 데이타의 수를 최대화하는 것을 의미. 평균 반응 시간(mean response time) 어떤 요청이 디스크 구동기에 전해 질 때부터 그 결과가 나올 때까지의 시간(대기 시간 + 탐색 시간 + 회전 시간)의 평균 값을 줄이는 것. 평균 반응의 분산(variance of response time) 평균 반응 시간을 줄이고, 이를 예측할 수 있도록 하는 것. 즉, 데이터를 읽는 시간들의 차이가 작도록 하는 것.
30
입출력 요청 처리 Section 4 디스크 스케줄링 기법 어떤 프로세스가 디스크에 대한 입출력을 필요로
할 때마다 운영 체제에게 시스템 호출을 보냄. 이러한 입출력 요청은 여러 가지의 필요한 정보를 가르킴. 입출력의 종류 : 입력 동작이나 출력 동작 구분 디스크의 주소 : 디스크 구동기, 실린더, 표면, 블록 번호 등 주기억 장치 주소 : 적재할 주기억 장치의 주소 전송할 정보의 총량 : 읽어 들이거나 내 보낼 바이트나 단어의 수 많은 프로세스들이 함께 적재되는 다중 프로그래밍 시스템에서는 일반적으로 디스크 큐에 대기 중인 여러 프로세스들이 존재. 그러므로 하나의 요청이 완료되면 큐로부터 새로운 요청을 선정하여 처리. 결론적으로, 디스크에 대한 요청의 처리 순서는 우선 원하는 트랙으로 헤드를 위치시키고, 회전 지연만큼 기다리고 데이터의 전송을 끝냄.
31
1. FCFS 스케줄링 FCFS(first come first served) 스케줄링은
Section 4 디스크 스케줄링 기법 1. FCFS 스케줄링 FCFS(first come first served) 스케줄링은 가장 간단한 형태로 먼저 도착한 요청이 우선적으로 서비스 받게 되는 기법. 특징 요청 큐에 먼저 도착한 요청이 우선적으로 서비스 받게 되므로 근본적인 공평성이 보장되고 프로그래밍하기도 쉬움. 더 높은 우선 순위를 가진 요청이 도착하더라도 요청의 순서가 바뀌지 않음. 탐색 패턴을 최적화 하려는 시도가 없는 스케줄링 기법. 디스크 오버헤드가 적게 걸리는 경우는 이 방법이 효율적이지만, FCFS를 사용하는 중에 오버헤드가 커지면 요청이 많아져 응답 시간이 길어짐. 대기 큐를 재 배열하지 않음. 즉, 일단 요청이 도착하면 실행예정 순서가 고정.
32
1. FCFS 스케줄링 서비스 예 Section 4 디스크 스케줄링 기법
현재 헤드 위치가 53에 있고, 요청 큐에는 98, 183, 37, 122, 14, 124, 65, 67 번과 같은 순서로 접근할 트랙의 디스크 요청이 들어 있다고 가정할 때, FCFS 스케줄링 알고리즘에 의한 헤드의 이동과 요청을 서비스하는 과정. 총 헤드의 움직임은 640으로 이동거리가 매우 많아 응답시간이 큼.
33
Section 4 디스크 스케줄링 기법 1. FCFS 스케줄링 그림 7-14 FCFS 스케줄링
34
2. SSTF 스케줄링 SSTF(shortest seek time first)스케줄링은
Section 4 디스크 스케줄링 기법 2. SSTF 스케줄링 SSTF(shortest seek time first)스케줄링은 탐색 거리가 가장 짧은 요청이 먼저 서비스를 받는 기법. 특징 헤드가 어떤 요청들을 처리하기 위하여 먼 곳까지 이동하기 전에 현재 헤드 위치에서 최소의 탐색 시간을 요하는 디스크 요청을 고르며 먼저 처리해 나가는 것. 이 방법은 특정 요청을 우선적으로 서비스. 그래서 안쪽이나 바깥쪽의 트랙트랙이 가운데 있는 트랙보다 훨씬 서비스를 덜 받음. 응답 시간에 큰 편차가 생김. 실린더의 제일 안쪽과 바깥쪽에서 디스크 요청의 기아(starvation) 현상이 발생 FCFS보다 처리량이 많고 평균 응답시간이 짧음. SSTF는 처리량이 큰 목표인 일괄 처리 시스템에 유용하고, 응답 시간의 편차가 크므로 대화형 시스템에 부적합.
35
2. SSTF 스케줄링 서비스 예 Section 4 디스크 스케줄링 기법
FCFS의 예와 같이 트랙의 디스크 요청이 들어 있다고 가정할 때, SSTF 스케줄링에 의한 헤드의 이동과 요청을 서비스하는 예. 총헤드의 움직임은 236으로 FCFS에 비해 1/3정도 응답시간이 단축 만약, 124번 트랙을 처리하고, 183번 트랙을 처리하려는 도중, 130, 135번 트랙 요청 등이 계속 도착할 경우, 바깥쪽 183번 트랙 요청은 기아상태에 빠짐.
36
Section 4 디스크 스케줄링 기법 2. SSTF 스케줄링 그림 7-15 SSTF 스케줄링
37
3. SCAN 스케줄링 SCAN 스케줄링은 Denning이 SSTF가 갖는 응답시간의
Section 4 디스크 스케줄링 기법 3. SCAN 스케줄링 SCAN 스케줄링은 Denning이 SSTF가 갖는 응답시간의 편차에 있어서의 차별 대우와 큰 편차를 극복하기 위해 개발(엘리베이터 알고리즘)한 것으로, SSTF와 같이 동작을 하지만, 헤드진행 방향상의 가장 짧은 거리에 있는 요청을 먼저 서비스 하는 기법. 특징 대기 큐의 동적인 특성을 효율적으로 반영한 것으로서, 진행 방향은 현재 헤드위치에서 가장 짧은 거리의 방향의 프로세스 처리를 해 나가며, 끝까지 헤드가 가면, 다시 반대쪽 끝까지 나가며 처리해 가는 방식. 처리량과 평균 응답 시간을 개선 하였다는 점에서는 SSTF와 같지만, SSTF에서 발생하는 차별 대우를 많이 없애고 낮은 편차를 가짐.
38
3. SCAN 스케줄링 서비스를 받게 되므로 밖에 위치하는 트랙은 가운데 트랙보다 더 적은 서비스를 받을 수도 있다는 문제점.
Section 4 디스크 스케줄링 기법 3. SCAN 스케줄링 헤드 진행 도중 새로 도착한 요청도 함께 서비스를 받게 되므로 밖에 위치하는 트랙은 가운데 트랙보다 더 적은 서비스를 받을 수도 있다는 문제점. 각 디스크 요청에 대한 분포가 균일하다고 가정할 때, 헤드가 한쪽 끝에 이르러 방향을 바꾸어야 할 시점에서 요청밀도가 높은 쪽은 최초의 시작부분이며, 나중에 처리된 헤드 바로 뒷부분은 비교적 밀도가 낮음. 따라서 밀도가 높은 쪽의 요청은 상당히 오랜 시간을 대기. SSTF 방법의 헤드가 높은 편차를 갖고 움직이는 경우는 없어짐. 실제로 구현되는 대부분의 디스크 스케줄링의 기본 전략. SCAN 스케줄링 알고리즘에 의한 헤드의 이동과 요청을 서비스하는 예 총헤드의 움직임은 236으로 응답시간이 단축
39
Section 4 디스크 스케줄링 기법 3. SCAN 스케줄링 그림 7-16 SCAN 스케줄링
40
3. SCAN 스케줄링 새로운 디스크 요청이 32, 30, 23, 20 트랙에 계속 도착할 경우,
Section 4 디스크 스케줄링 기법 3. SCAN 스케줄링 만약, 37번 트랙을 처리하고 있는 도중, 새로운 디스크 요청이 32, 30, 23, 20 트랙에 계속 도착할 경우, 현 헤드의 진행 반대방향의 183번 트랙요청은 오래 기다림. LOOK 스케줄링 : SCAN과 같이 SCAN은 0번 트랙에서 199번 트랙까지 요청이 없더라도 헤드가 이동하지만, 마지막 요청 트랙 183번 트랙까지만 헤드가 이동하는 경우를 LOOK 스케줄링 이라고 함.
41
4. C-SCAN 스케줄링 특징 Section 4 디스크 스케줄링 기법 균등하게 하려고 변형을 가한 것으로,
헤드는 항상 바깥쪽 실린더에서 안쪽 실린더로 이동하면서 가장 짧은 탐색 시간을 갖는 요청을 서비스하는 기법 특징 헤드는 항상 같은 한쪽 방향(바깥에서 안쪽)으로 헤드를 이동해가면서 요청을 하지만, 더 이상 그 방향에 요청이 없을 때에는 반대 방향으로 헤드를 이동하는 것이 아니라, 다시 같은 방향으로 처음부터 처리를 진행하는 방법. 대기 시간을 균등화함으로써 SCAN 방식을 개선한 방법. 마치 처음과 마지막 트랙을 원형으로 연결한 것과 같은 환형(circular) 처리와 유사. 가장 안쪽과 바깥쪽 간 실린더의 차별 대우를 완전히 제거하였고, 응답시간의 편차가 아주 작음.
42
Section 4 디스크 스케줄링 기법 4. C-SCAN 스케줄링 현재 헤드 위치가 53개 있고, 요청 큐에는 98, 18, 37, 122, 14, 124, 65, 67번과 같은 순서로 접근할 트랙의 디스크 요청이 들어 있다고 가정할 때, 헤드의 이동과 요청을 서비스하는 과정. 따라서 총 헤드의 이동 움직임은 829 만약, 183번 트랙 진행도중 20, 23, 30, 32, 140, 141, 144, 149번 트랙의 요청이 도착했다면 다음 헤드 진행 시에 함께 서비스. C-LOOK 스케줄링 : LOOK과 마찬가지로 C-SCAN에서 헤드가 트랙끝가지 이동하지 않고 마지막 요청트랙(183번)까지 이동할 때, C-LOOK 스케줄링이라 함.
43
Section 4 디스크 스케줄링 기법 그림 7-17 C-SCAN 스케줄링
44
5. N-단계 SCAN 스케줄링 한쪽 방향으로 이동해 나가면서 최초 요청에 의해서 들어온 것만 서비스 하다가, 다시
Section 4 디스크 스케줄링 기법 5. N-단계 SCAN 스케줄링 N-단계(N-step) SCAN 스케줄링은 헤드가 한쪽 방향으로 이동해 나가면서 최초 요청에 의해서 들어온 것만 서비스 하다가, 다시 반대쪽으로 오면서 이전에 도착했던 요청들을 서비스하는 기법. 특징 SCAN 스케줄링과의 차이점은, 현재 큐에 대기중인 요청만 처리. SSTF나 SCAN 방법보다 응답시간의 편차가 작음. 현재 실린더에 많은 수의 요구가 도착할 때 무한한 지연이 발생하는 가능성 제거. 반대 방향 진행 때 서비스를 받기 위해 요청을 대기 행렬에 저장. 현재 헤드 위치가 53에 있고, 요청 큐에는 98, 183, 37, 122, 14, 124, 65, 67 번과 같은 순서로 접근할 트랙의 디스크 요청이 들어 있으며, 나중에 들어온 요청은 32번, 30번, 23번, 20번 트랙이라고 가정할 때, 알고리즘에 의한 헤드의 이동과 요청을 서비스하는 예.
45
Section 4 디스크 스케줄링 기법 5. N-단계 SCAN 스케줄링 그림 7-18 N-STEP 스케줄링
46
6. 에션바흐 기법 C-SCAN처럼 움직이는데, 예외로 모든 실린더는 그 실린더에 요청이 있든지 없든지 전체
Section 4 디스크 스케줄링 기법 6. 에션바흐 기법 에션바흐 기법(eschenbach scheme)은 헤드는 C-SCAN처럼 움직이는데, 예외로 모든 실린더는 그 실린더에 요청이 있든지 없든지 전체 트랙이 한 바퀴 회전할 동안에 서비스. 한 실린더 내에서 회전 위치를 이용할 수 있도록 요청 측을 재 배열. 두 개의 요청이 실린더에서 같은 섹터의 위치에 있으면 한 방향으로 진행 시 한 개의 요청만을 서비스. 매우 부하가 큰 항공 예약 시스템을 위해 개발. 탐색 시간 뿐만 아니라 회전 지연 시간을 최적화 하려고 했던 최초의 기법들 중의 하나.
47
7. SLTF 스케줄링 구현되고, 회전 시간의 최적화는
Section 4 디스크 스케줄링 기법 7. SLTF 스케줄링 탐색 시간의 최적화는 SSTF 스케줄링에 의해 구현되고, 회전 시간의 최적화는 SLTF(shortest latency time first) 스케줄링에 의해 구현. 회전 시간 최적화(SLTF)는 때때로 섹터 큐잉(sector queueing)이라 함. 일단 디스크 헤드가 특정 실린더에 도착하면 그 실린더내의 여러 트랙에 대한 많은 요청 시, 이런 모든 요청은 디스크 주위의 섹터위치에 따라 대기 행렬에 정렬되고 가장 가까운 섹터가 우선적으로 서비스.
Similar presentations