3. 디스크 스케줄링 디스크 스케줄링 전략 입출력장치(디스크 드라이버)는 요청(Request)을 위한 큐를 가짐.

Slides:



Advertisements
Similar presentations
Flash SSD 강원대학교 `01 최경집.
Advertisements

컴퓨터와 인터넷.
적외선으로 감지하는 추적 카메라 조원 : 최승호, 백진영, 이현지.
뇌를 자극하는 Windows Server 2012 R2
소리가 작으면 이어폰 사용 권장!.
제 5장 파일 시스템 5.1 개요 파일 시스템은 사용자가 운영체제에서 가장 관찰하기 쉬운 부분으로서, 파일에는 데이터와 프로그램이 저장된다. 운영체제는 디스크나 CD-ROM 같은 기억용량이 큰 기억장치를 관리/운영함으로써 파일을 추상적으로 구현한다. 5.2 디스크 구조.
5장 디스크 스케줄링 이나현.
7장. 보조 기억장치 다루는 내용 컴퓨터 본체와 보조기억장치와의 연결 살펴보기 자기 디스크 기억장치 광 기억장치.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Windows Server 장. Windows Server 2008 개요.
연결리스트(linked list).
1-1 일과 일률.
컴퓨터 프로그래밍 기초 [Final] 기말고사
운영체제 4장 요약정리(CPU 스케줄링) 2A 박훈.
04 CPU 스케줄링 CPU Scheduling
Windows Server 장. 사고를 대비한 데이터 백업.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Error Detection and Correction
10 장 데이터 링크 제어(Data Link Control)
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
보조저장장치 구조(Secondary Storage Structure)
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
제 1장. 멀티미디어 시스템 개요.
프로그래밍 개요
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
플랫폼의 개념 클럭, 버스, 대역폭의 의미 64비트 PC
메모리 관리 & 동적 할당.
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
논리회로 설계 및 실험 5주차.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
6. 레지스터와 카운터.
10 장 데이터 링크 제어(Data Link Control)
10 장 데이터 링크 제어(Data Link Control)
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
5장 디스크 스케줄링 박도하.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
QR Code 김정민 김준보.
( Windows Service Application Debugging )
데이터 동적 할당 Collection class.
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
문서 클러스터링 일본언어문화학과 서동진.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
AT MEGA 128 기초와 응용 I 기본적인 구조.
논리회로 설계 및 실험 4주차.
9 장 오류 검출 및 오류 정정 9.1 오류 종류 9.2 검출 9.3 오류 정정 9.4 요약.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
발표자 : 이지연 Programming Systems Lab.
System Security Operating System.
제 4 장 Record.
Completion Port기반의 채팅프로그램
인덕대학 컴퓨터소프트웨어과 2학년 C반 김 정 은
9장 파일 시스템 이성연.
디스크 스케줄링 이 은.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
교착 상태 해결 : 교착 상태 탐지 교착 상태 탐지(Deadlock Detection)
6 객체.
ARP.
디스크 스케줄링 학번 : 이름 : 조장호.
Chapter5 디스크 스케줄링 조은성.
BoardGame 보드게임 따라가기.
20 XMLHttpRequest.
5장 디스크 스케줄링 2학년 B반 강 원재.
생산성 증대 효율성 향상 측정 수행 능력.
Presentation transcript:

3. 디스크 스케줄링 디스크 스케줄링 전략 입출력장치(디스크 드라이버)는 요청(Request)을 위한 큐를 가짐. 프로세스는 디스크 입출력이 필요할 때마다 운영체제에 시스템 호출을 보냄. 요청은 다음과 같은 정보를 포함함. - 입력 동작인지 출력 동작인지에 대한 정보. - 디스크 주소(구동기, 실린더, 표면, 블록). - 메모리 주소 - 전송할 정보의 총량(바이트 또는 단어의 수) 디스크 드라이버와 제어기를 사용할 수 있다면 요청을 즉시 처리 가능. 다른 프로세스가 둘 중 하나라도 사용하고 있다면 요청은 디스크 대기 큐에 저장됨. 디스크 대기 큐에서 시스템의 스케줄링은 아래의 몇 가지 기준으로 평가할 수 있음. - 처리량 단위 : 시간당 처리한 서비스 요청의 수. - 탐색시간 : 디스크 헤드(암) 이동시간. - 평균반응시간 : 요청 후 서비스될 때까지의 대기시간. - 반응(응답)시간 변화 : 반응시간에 대한 예측 정도. (적절한 시간 안에 서비스하여 요청이 무기한 연기되지 않도록 방지함.) ※ 스케줄링 정책은 처리량을 최대화하고 평균반응시간과 탐색시간을 최소화해야 함. .

3. 디스크 스케줄링 선입 선처리 스케줄링(FCFS, First-Come-First-Served) 디스크 스케줄링의 가장 간단한 형태. 요청이 도착한 순서에 따라 처리. 프로그램하기 쉽고 어떤 요청도 무기한 연기되는 경우가 없으며 본질적으로 공평성이 유지 됨. [그림 9-15] FCFS 스케줄링 예. - 처음 요청이 트랙 98, 마지막은 트랙 67로 되는 선형 요청 디스크 큐. - <53,98,183,37,122,14,124,65,67>로 움직여 총 640트랙의 헤드 이동 발생. - 45+85+146+85+108+110+59+2 = 640 [그림 9-15] FCFS 스케줄링 문제점. - 디스크 요청이 흩어져 있는 경우 실행시간 오버헤드는 적으나 탐색시간이 오래 걸려 처리량이 감소함.

3. 디스크 스케줄링 최소 탐색시간 우선 스케줄링(SSTF, Shortest Seek Time First) 최소 위치결정 시간 우선(SPTF, Shortest Positioning Time First) 알고리즘이라고도 함. 디스크 요청을 처리하기 위해서 헤드가 먼 곳까지 이동하기 전에 현재 헤드 위치에 가까운 모든 요구를 먼저 처리하는 방법. [그림 9-16] 최소탐색 우선 알고리즘 예. - <53, 65,67,37,14,98,122,124,183>로 움직 여 총 236트랙의 헤드 이동 발생. - 12+2+30+23+84+24+2+59 = 236 [그림 9-16] 최소탐색 우선 알고리즘 디스크 처리시간을 실질적으로 줄일 수 있으나, 디스크 요구의 기아상태 발생 가능. - [그림 9-16]에서 트랙 14와 186에 대한 요청이 있는 경우. * 트랙 186을 기다리게 하고 트랙 14를 먼저 처리할 경우, 트랙 14를 처리하는 동안 트랙14에 가까운 곳에서 다른 요청이 계속 발생할 수 있음. * 이론적으로 트랙 186을 무한히 기다리도록 하는 연속적인 요청이 있을 가능성이 있음. ※ 배치(일괄) 처리 시스템의 경우 반응시간의 변화가 커도 미치는 영향이 작아 SSTF의 적용이 가능하 나, 대화식 처리 시스템의 경우 SSTF의 불확실한 예측 가능시간 때문에 적용하기 부적당함.

3. 디스크 스케줄링 스캔 (SCAN) 스케줄링 요청 큐의 동적 특성 반영. 입출력 헤드가 디스크의 한 끝에서 다른 끝으로 이동. 한쪽 끝에 도달했을 때는 역방향으로 이동하면서 요청한 트랙을 처리. - 헤드는 디스크의 한 끝과 다른 끝 사이를 계속해서 왕복함. - 새로운 디스크 요청이 헤드의 바로 앞 요청의 큐에 도착하면 즉시 처리되나, 헤드 뒤에 있는 경우 헤드가 디스크의 끝까지 이동하고 돌아올 때까지 기다려야 함. 엘리베이터와 동작이 유사하여 엘리베이터 알고리즘이라 부르며, 눈 치우기와 비슷함. [그림 9-17] 스캔 알고리즘 예. - 현재 헤드의 위치와 이동방향 파악 필요. - 0,14,37,53,65,67,98,122,124,183 - 트랙0에 도착하고 난 후에 다시 역방향으로 헤드를 이동해가면서 <65,67,98,122,124, 183>순으로 처리 - 새로운 디스크 요청이 헤드의 바로 앞 요청의 큐에 도착되면 즉시 처리되지만, 반대로 헤드 바로 뒤에 있다면 헤드가 디스크의 끝까지 이 동하고 나서 되돌아 올 때까지 기다려야 함. [그림 9-17] 스캔 알고리즘 1 2

3. 디스크 스케줄링 순환 스캔 스케줄링(C-SCAN, Circular SCAN scheduling) 스캔 알고리즘을 변형하여 대기시간을 균등하게 한 것. 스캔 스케줄링처럼 헤드는 한쪽 방향으로 이동하면서 요청을 처리하지만, 한쪽 끝에 다다르 면 반대 방향으로 헤드가 이동하지 않고 다시 처음부터 요청을 처리. 처음과 마지막 트랙을 서로 인접시킨 것과 같은 원형처럼 디스크를 처리하여 처리량을 향상. 바깥 트랙과 안쪽 트랙에 대한 차별이 없어 반응시간의 변화를 줄임. 동일한 실린더(트랙)에 대한 요청이 연속적으로 발생되면 처리가 무기한 연기될 수 있음. [그림 9-17] 스캔 알고리즘 예. - 현재 헤드의 위치와 이동방향 파악 필요. - 0,14,37,53,65,67,98,122,124,183 [그림 9-18] 순환 스캔 알고리즘 1 2

3. 디스크 스케줄링 룩(Look) 스캐줄링 스캔 또는 순환 스캔 방법은 헤드를 디스크의 끝에서 끝으로 이동한다는 원리지만 실제로 이런 방식으로 구현하지 않음. 헤드는 요청에 따라 각 방향으로 이동하고 현재 방향에 더 이상의 요청이 없을 때 이동 방 향을 바꿈. - SCAN기법을 사용하여 진행 방향의 마지막 요청을 서비스한 후 그 방향의 끝으로 이동하는 것이 아니 라, 역방향으로 진행하는 기법 스캔과 순환 스캔의 이런 형태를 룩(Look), 또는 순환 룩(C-Look)라 부름. - Look : 진행 방향으로 움직이기 전에 먼저 요청이 있는지 검사함을 의미함. [그림 9-19] 순환 락 알고리즘

3. 디스크 스케줄링 회전 최적화 최소 지연시간 우선 스케줄링 (SLFT, Shortest-Latency-Time-First) 디스크 스케줄링 알고리즘은 대기시간과 총 처리시간을 줄이기 위해 디스크 헤드 이동을 최소화하는데 목적을 가짐.(탐색시간 최적화 알고리즘) 초기 시스템과 달리 현재의 디스크 시스템은 탐색시간과 평균 지연시간이 비슷하여 회전 최적화로도 성능 개선이 가능함. 데이터를 순차적으로 액세스하는 일괄처리 프로세스들은 데이터의 트랙 전체를 액세스하 므로 회전 최적화의 효과를 얻지 못함. 대화식 프로세스 같이 디스크의 실린더에 분산된 소량의 데이터만 요구하는 요청이 많을 경우, 회전 최적화로 성능 개선 가능함. 최소 지연시간 우선 스케줄링 (SLFT, Shortest-Latency-Time-First) 모든 요청 중 회전 지연시간이 가장 짧은 요청을 먼저 처리. 디스크 헤드가 특정 실린더에 도달했을 때 해당 실린더의 트랙들에 대한 요청이 대기하고 있다면, 헤드는 더 이상 움직이지 않고 도착 순서와 관계없이 모든 요청을 우선 처리함. [그림 9-20] SLFT 스케줄링

3. 디스크 스케줄링 트랙을 일정한 수의 블록으로 나눈 섹터를 토대로 요청들을 섹터 위치에 따라 큐에 넣고 가장 가까운 섹터에 대한 요청을 먼저 처리. - 디스크 액세스 요청(디스크의 주소)은 트랙과 섹터로 구성됨. - 고정 헤드에서는 탐색을 하지 않으므로 탐색시간이 없음. - 회전지연시간만이 지연시간이 되므로 드럼과 같이 고정헤드를 사용하는 경우 효과적임. 섹터 큐잉(Sector Queueing) 알고리즘이라 표현. - 고정헤드장치에서도 사용되나 특별한 트랙마다 실린더 내에 처리 요청이 하나 이상일 때는 이동헤드 장치에서도 쓸 수 있음. - 헤드가 특정한 실린더에 도착하면 헤드를 더 이상 움직이지 않고 실린더에 대한 모든 요청을 처리함. - 같은 실린더 내에서 다중 요청의 정렬에 사용 가능. - 운영체제가 하나 이상의 요청 중에서 헤드 밑에 위치한 첫 요청을 선택해야만 효과 있음.

3. 디스크 스케줄링 최소 위치결정시간 우선 스케줄링(SPTF, Shortest-Positioning-Time-First) 가장 짧은 위치결정시간, 즉 탐색시간과 회전지연시간의 합이 가장 짧은 요청을 다음 서비스 대상으로 선택. 최소 탐색시간 우선(SSTF)과 같이 처리량이 많고 평균 반응시간은 짧으나, 가장 안쪽과 바깥쪽 실린더에 대한 요청이 무기한 연기될 가능성이 있음. [그림 9-22] SPTF 알고리즘 예. - 서로 인접한 곳에 위치해 있는 동일한 크기의 데이터 레코드 A와 B에 대한 요청을 가정함. [그림 9-22] SPTF 알고리즘

3. 디스크 스케줄링 에션바흐 기법(Eschenbach Scheme). 탐색시간과 회전지연시간을 최적화하기 위한 기법. 헤드는 순환스캔(C-SCAN) 스케줄링과 같이 진행하나 요청과 관계없이 트랙 한 바퀴 회전할 동안 요청을 처리하도록 요청을 재배열함. 1회전 동안 섹터 내의 많은 레코드들이 처리되어 회전지연시간을 줄일 수 있음.

3. 디스크 스케줄링 디스크 스케줄링 알고리즘의 선택 성능은 요청의 형태와 요청의 수에 좌우됨. 큐가 하나 정도밖에 요청하지 않는다면 모든 스케줄링 알고리즘의 효과가 거의 같음. - 이 경우 선입 선처리 스케줄링이 적당함. 디스크 서비스의 요청은 파일 할당 방법에 많은 영향을 받음. - 연속적으로 할당된 파일을 읽는 프로그램은 디스크 상의 인접된 범위 내에서 많은 요청이 발생되어 헤드의 이동을 제한함. - 링크 파일이나 색인 파일의 경우, 블록들이 디스크에 흩어져 헤드의 이동 거리는 길지만 디스크 상용 효율은 높음. 디렉터리 위치에 따라 이동거리가 달라짐. - 디렉터리를 디스크의 양 끝에 두는 것보다 중간 부분에 두는 것이 디스크 헤드 이동을 줄일 수 있음. 디스크는 시스템의 성능과 신뢰성 측면에서 병목현상의 주요 원인이 됨. - 컴퓨터 장치 중 가장 속도가 느림. - 전반적인 시스템의 성능은 아직 디스크의 속도와 신뢰성에 좌우됨.

4. RAID RAID 계층 RAID(Redundant Array of Inexpensive 또는 Independent) 개념 운영체제로 여러 대의 물리적 디스크를 하나의 논리적 디스크로 인식시키는 기술. 다수의 디스크 장치를 독립적이며 병렬적으로 작동시키기 위해 디스크 배열이 개발됨. 초기의 RAID. - 프로세서와 디스크의 속도 차이를 극복하기 위해, 여러 대의 디스크장치를 이용하여 다수의 드라이브에 있는 데이터를 동시에 액세스할 수 있도록 데이터를 분산 저장. 데이터의 중복에 대한 필요성을 효과적으로 해결하는데 도움을 줌. RAID 계층 RAID 기법. 여러 개의 하드 디스크를 하나의 논리적 가상 디스크로 구성하여 대용량 저장장치로 사용 할 수 있는 기법. 데이터를 여러 개의 하드 디스크에 분할, 저장하여 전송속도를 향상시키고 시스템 가동 중 생길 수 있는 디스크의 오류를 시스템 정지 없이 교체 가능한 것이 특징임. 총 6계층으로 분류되며, 서로 다른 용도로 사용됨. - 초기 제안자들이 6개로 구분했던 각 계층은 다양화됨. - 구성과 기능면에서 다르게 변했으므로 사용자의 목적에 맞는 계층 구성이 필요함. ※ 초기 6계층 외 여러 방식이 개발되었으나 RAID 0, RAID 1, RAID 0+1, RAID 5를 제외한 나머지 방식들은 거의 사용되지 않음.

4. RAID RAID 0(스트라이핑). 일련의 데이터를 하나의 논리적 디스크 배열에 일정한 크기로 나누어 분산 저장하는 기법. 데이터를 사용 가능한 디스크에 나누어 저장. - 사용자와 시스템 데이터는 하나의 논리 디스크상에 저장되어 있는 것으로 인식. - 디스크는 스트립(Strip)으로 나누어 연속적인 배열 첨자(구성요소)와 대응되도록 순환 할당됨. * Strip : 일정한 크기의 섹터 또는 물리적 블록 단위. 스트라이프(Stripe) : 하나의 스트립들과 각 배열의 구성요소가 대응하는 논리적으로 연속 적인 스트립들의 집합. - n-디스크 배열에서 첫 번째 n개의 논리 스트립들은 디스크 n개의 각각 첫 번째 스트립으로 저장. - 두 번째 n개의 스트립들은 각 디스크의 두 번째 스트립들로 분산 저장됨. - 동일한 하드 디스크 여러 대를 병렬 방식으로 구성하며 입출력 시간을 감소시킬 수 있음. [그림 9-23] 하드 디스크 4개로 구성된 RAID 0계층. [그림 9-23] RAID 0(스트라이핑)

4. RAID RAID 0 계층은 스트라이프를 가지고 있으나 데이터를 중복해서 기록하지 않아 장애 발생 에 대비한 여분의 저장 공간을 가지고 있지 않음. - 어느 한 드라이브에서 장애 발생 시 데이터는 손실됨. - 안정성을 추구하는 RAID 시스템에 부합되지 않는다 할 수 있음. 데이터를 입출력 할 때, RAID 컨트롤러에서 여러 개의 하드 디스크로 나눠 쓰고 읽음. - 중요하지 않은 데이터에 대한 빠른 데이터 입출력 성능이 요구되는 동영상 편집 등에 적합. RAID 1(미러링). 데이터 스트라이핑을 사용하면서 배열 내의 모든 디스크가 동일한 데이터를 가지는 미러 디스크(Mirror Disk)를 가짐. 각 논리적 스트립은 두 개의 별도 디스크에 대응되므로 미러링(Mirroring)이라고 함. 중복 저장된 데이터를 가진 적어도 두 개의 드라이브로 구성. [그림 9-24] RAID 1(미러링)

4. RAID RAID 2(허밍코드를 통한 중복). 읽기 요구. 쓰기 요구. - 요구 데이터를 가지고 있는 두 개의 디스크 중 어떤 디스크에서도 서비스 받을 수 있어 성능이 향상됨. - 데이터를 분할 저장하지 않아 두 스트립이 갱신되어야 함. 쓰기 요구. - 단일 디스크 드라이브의 경우와 동일하며, 병렬적으로 갱신됨. 드라이브에 장애 발생 또는 데이터 손상 발생 시, 즉시 두 번째 디스크를 통해 액세스 가능. - 전체 용량의 절반이 여분의 데이터 기록을 위해 사용되어 지원하는 논리적 디스크 공간의 두 배가 필요하므로 비용이 증가함. 성능. - 읽기 요구가 많은 경우 높은 입출력 달성(RAID 0 보다 2배 증가). - 쓰기 요구가 많은 경우 RAID 0의 성능과 비슷함. - 시스템 드라이브 등의 중요 파일에 적합. RAID 2(허밍코드를 통한 중복). RAID 2와 RAID 3은 병렬 액세스 기법 사용. 디스크들 간에 데이터 스트라이핑을 사용하며, 오류 검출 능력이 없는 드라이브를 위해 허밍(Hamming) 코드 기법을 사용함. - 몇몇 디스크들은 오류 감지 및 수정을 위해 사용되는 오류정정코드(ECC, Error Correcting Code) 정보가 저장되어 있음. - 허밍 오류정정코드는 패리티 비트를 사용하며 디스크로부터 전송된 데이터에 오류가 있는 지 확인하 고 오류를 정정함.

4. RAID 오류정정코드는 각 데이터 디스크의 대응되는 비트들을 계산. [그림 9-25] 우측의 ESS 디스크에 저장된 허밍코드를 이용하여 오류 검출 및 정정. - A라는 데이터는 A0,A1,A2,A3 비트로 분할하여 기록하고 이에 대한 패리트 비트(허밍코드)들은 다수 의 패리티 디스크의 대응되는 비트 위치(ECC/Ax,Ay,Az)에 저장됨. [그림 9-25] RAID 2(허밍코드를 통한 중복) 실시간 오류 수정이 가능함. - 디스크 오류 발생이 많은 경우 효과적. - 디스크의 신뢰성이 높으면 낭비가 크므로 구현 자체가 제외된 경우가 많음. ※ 빠른 기록 속도와 함께 장애 복구 능력이 요구되는 경우에 사용됨. ※ 드라이브 두 대만으로 구성할 수 있어 작은 시스템에 적합함.

4. RAID RAID 3(비트 인터리브된 패리티). 데이터 분산 저장을 위해 RAID0과 같이 스트라이프 사용. 오류 검출과 수정을 위해 별도의 드라이브 한 개를 패리티 드라이브로 사용함. - 내장된 오류 정정코드 정보는 오류를 감지하는 데 사용하며, 데이터 복구는 다른 드라이브에 기록된 XOR을 계산하여 수행. 각각의 데이터 디스크에 데이터를 비트 단위로 스트라이핑하여 기록. - 디스크에 입출력 할 데이터의 크기가 K바이트일 경우, N개의 디스크에 나누어져(K/N) 분산 저장되고 N+1 디스크에는 패리티 비트가 저장됨. [그림 9-26] RAID 3(비트 인터리브된 패리티) 데이터는 스트립들로 나누어지므로 높은 데이터 전송률을 제공. - 병렬적 데이터 전송 가능. 입출력 작업이 모든 드라이브에서 이루어지므로 파일서버(File Server) 등의 입출력이 빈 번한 곳에서의 사용이 부적합함. - 입출력 요청을 한 번에 한 요청만 실행되기 때문. ※ 단일 사용자 시스템과 다량의 데이터 전송이 요구되는 CAD나 이미지 작업에 적합.

4. RAID RAID 4(블록 인터리브된 패리티). 데이터 분산 저장을 위해 스트라이핑을 사용. 독립된 액세스 기법을 사용하여 디스크의 각 멤버는 독립적으로 동작하고 각각 분리된 입 출력 요구들을 병렬로 처리 가능. - 많은 입출력 요청이 필요한 업무에 적합. - 높은 데이터 전송률을 필요로 하는 업무에 성능이 떨어짐. 크기가 작은 입출력 요청 시 쓰기 성능이 저하됨. - 쓰기 요청 시 사용자 데이터와 함께 패리티 정보를 갱신해야 하기 때문에 추가시간이 소요(입출력의 병목 현상)됨. - 데이터 읽기 요청은 RAID 0과 비슷한 성능을 보임. 여러 드라이브 중 한 대의 드라이브만이 여분의 패리티 정보를 기록하는데 사용되므로 용량당 비용은 높지 않음. - 저렴한 가격으로 장애복구 능력이 요구되거나 빠른 판독 속도 필요 시 사용됨. [그림 9-27] RAID 4(블록 인터리브된 패리티)

4. RAID RAID 5(블록 인터리브된 분산 패리티 블록). - 패리티를 담당하는 디스크의 병목현상을 일으키지 않음. 다중 프로세스 시스템에서와 같이 작고 잦은 데이터 기록이 있는 경우 빠름. 읽기 요청의 경우 각 드라이브에서 패리티 정보를 건너뛰어야 하므로 RAID 4보다 느림. 최소한 3대, 일반적으로는 5대 이상의 드라이브가 필요. - 데이터는 각 데이터 영역에 블록 단위로 스트라이핑하여 저장. 병렬 입출력이 가능하므로 기록과 읽기가 동시에 가능. - 데이터 입출력 성능이 빠르면서도 안전성 또한 높아 파일 서버 등 입출력이 빈번한 업무에 적합. 현재 가장 널리 사용되는 RAID 방식. [그림 9-28] RAID 5(블록 인터리브된 분산 패리티 블록)

4. RAID RAID Level 0+1. 스트라이핑 방식(RAID 0의 빠른 속도)과 미러링 방식(RAID 1의 안정적인 복구 기능)을 혼 합한 형태로 각각의 장점을 살린 시스템. 미러링은 반드시 똑같은 수의 디스크를 필요로 하므로, 디스크 두 개를 사용하여 스트라이 핑하려면 최소 네 대의 디스크가 필요함. 미러링으로 같은 디스크 복사본을 가지고 있어 디스크 오류 발생 시 복구가 가능함. 디스크가 다수 필요하므로 안전성과 빠른 속도가 모두 필요한 중대형 서버에 많이 사용함. - 네 개의 하드 디스크로 구성된 RAID 시스템에 ‘ABCD’라는 데이터가 입력되면 두 개의 디스크에 ‘AB’ 그리고 ‘CD’라는 데이터가 나눠서 입력. - 나머지 두 개의 디스크에도 똑같이 ‘AB’와 ‘CD’가 나눠서 저장됨. [그림 9-29] RAID Level 0+1

SUMMARY 입출력 시스템 자기 디스크 디스크 시스템 컴퓨터 시스템의 입출력장치와 입출력 모듈을 포함. 물리적 입출력장치는 실제 입출력을 수행. 입출력 모듈은 메모리나 프로세서, 레지스터 등 내부 저장 장치와 물리적 입출력 장치 사이의 2진 정보를 제공하기 위한 방법 제공. 자기 디스크 메인 메모리를 보조하는 보조기억장치로 대량의 데이터를 영구히 저장 가능. 초기 보조기억장치로 자기 테이프를 사용하였으나, 현재는 자기 디스크를 주로 사용. 컴퓨터 시스템에서 대용량의 보조기억장치이자 온라인 기억장치임. 디스크 시스템 대부분의 컴퓨터에서 주요한 입출력 장치로 디스크 드라이버, 프로세서, 디스크 제어기로 구분함. 디스크 드라이버는 구동 모터, 액세스 암 이동장치와 입출력 헤드 부분의 기계적 부분을 담당. 프로세서는 원하는 컴퓨터의 논리적인 상호작용, 즉 원하는 데이터의 위치(디스크 주소)와 버퍼 및 판독/기록 관리 등을 관리함. 디스크 제어기는 디스크 드라이버의 인터페이스 역할을 담당함.

SUMMARY 데이터 액세스 시간 디스크 스케줄링 탐색시간 이동 디스크의 데이터 액세스 시간은 ‘탐색시간+회전지연시간+전송시간’으로 표시. 고정헤드 디스크 시스템은 탐색시간이 없어 ‘회전지연시간+전송시간’으로 표시. 디스크 스케줄링 디스크 액세스 요청을 스케줄하여 평균 디스크 처리시간을 향상시키는 방법. 일반적인 스케줄링 유형은 탐색시간 최적화 알고리즘과 회전지연시간 최적화 알고리즘으로 구분. 탐색시간 탐색. 디스크 상의 원하는 섹터에 액세스하려면 시스템은 먼저 해당 트랙 또는 실린더에 헤드를 이동하여 위치. 탐색에 걸리는 시간을 탐색시간(Seek Time)라 함.

SUMMARY 스케줄링 알고리즘 선입 선처리(FCFS), 최소탐색 우선(SSTF), 스캔(SCAN), 순환스캔(C-SCAN) 알고리즘이 있음. 섹터 큐잉(Sector Queueing)은 드럼과 같은 고정헤드 장치를 위한 스케줄링 알고리즘. RAID 여러 개의 하드 디스크를 하나의 논리적 가상 디스크로 구성, 하나의 논리적 대용량 저장장치로 사용할 수 있는 기법. 데이터를 여러 개의 하드 디스크에 분할, 저장하여 전송속도를 향상. 시스템 가동 중에 생길 수 있는 디스크의 오류를 시스템 정지 없이 교체 가능. RAID 기법은 6계층으로 분류되며 서로 다른 용도로 사용됨.