2024년도 국가공무원 5급(과학기술) 공개경쟁채용 제2차시험 (240709)
운영체제론
제 4 문 . RAID에 관한 다음 물음에 답하시오 (30점)
1) 디스크의 오프셋 구하기
청크 크기 12를 사용하는 RAID-0의 논리 블록 주소가 3,782인 경우, 디스크 번호와 해당 디스크의 오프셋을 구하시오. (단, 하나의 청크는 4 KB이고, 8개의 디스크를 사용하며, 디스크는 현재 비어 있고, 첫 번째 디스크의 0번 블록부터 기록한다고 가정한다) (12점)
내 풀이)
RAID-0 는 데이터를 정해진 크기(=청크 크기)로 분할한 데이터 블록을 각 디스크에 순서대로 나누어 저장하는 스트라이핑 방식이다. 논리 블록 주소를 청크 크기로 나누면 청크가 디스크에서 몇 번째에 속하는지 알 수 있고 그 몫을 디스크 수로 나눈 나머지는 청크가 몇번째 디스크에 저장되어 있는지 알 수 있다.
논리 블록 주소가 3782 이고 청크 크기가 12 이므로 나누면 약 315.166, 315이다. 315를 디스크 개수인 8로 나누면 3이다.
3782번 블록은 315번째 청크에 포함되고, 315번째 청크는 3번 디스크에 저장됨을 알 수 있다.
오프셋은 해당 디스크 내부 청크에서의 위치로 논리 블록 주소를 청크 크기로 나눈 나머지를 구했을 때 나누어 떨어지지 않는 나머지 부분이 디스크 내에서 오프셋이다. 따라서 3782를 청크 크기 12로 나눈 나머지 2가 오프셋이다.
따라서 논리 블록 주소가 3782번인 블록은 3번 디스크의 315번째 청크에서 2번 오프셋에 위치한다고 할 수 있다.
2) 디스크의 처리 성능 구하기
평균 탐색 시간은 7 ms, 평균 회전 시간은 3 ms, 그리고 전송률은 200 MB/s인 디스크 8개를 사용하는 RAID-5를 가정하자. 40 MB 크기를 순차 읽기와 순차 쓰기, 40 KB 크기를 임의 쓰기와 임의 읽기를 한다고 할 때 각각의 처리성능을 구하시오. (단, 캐시의 영향은 없으며, 순차 읽기와 쓰기의 단위는 MB/s, 임의 읽기와 쓰기의 단위는 KB/s로 하며, 소수점 셋째 자리에서 반올림한다) (18점)
내 풀이 )
RAID-5는 패리티를 도입하여 데이터 복구를 쉽게 하며 순차 읽기와 쓰기, 랜덤 읽기와 쓰기 성능이 다르게 나타나는 특징이 있다. RAID-5의 순차적 읽기 성능은 병렬로 진행되기 때문에 전송률에 의해 결정된다. 따라서 순차 읽기 성능은 전송률과 같은 200MB/s이다.
RAID-5의 순차적 쓰기 과정에는 패리티를 생성할 디스크 1개가 필요하기 때문에 실제 데이터를 저장할 디스크의 개수는 디스크의 총 개수보다 한 개 적다. 따라서 총 디스크 개수인 8개보다 하나 적은 7개에 실제 데이터를 쓰는 것과 같고 이를 계산하면 7/8 * 200 = 175MB/s 이다.
RAID-5의 랜덤 읽기 성능은 디스크의 헤드가 원하는 데이터가 있는 트랙으로 이동할 때 걸리는 탐색 시간(seek time)과 디스크의 플래터가 회전하면서 원하는 데이터가 헤드 아래에 위치하는 데 걸리는 회전 시간(rotational latency), 디스크에서 데이터가 실제로 전송될 때 걸리는 데이터 전송 시간의 합으로 구할 수 있다. 문제에서 평균 탐색 시간은 7ms, 평균 회전 시간은 3ms로 제시되어 있으므로 데이터 전송 시간만 구하면 되고 데이터 40KB를 전송률 200MB/s로 전송할 때 걸리는 시간은 40KB * 1000KB/MB / 200MB/s = 0.2ms 이다. 모두 더하면 7 + 3 + 0.2 = 10.2 ms 이고 40KB 데이터를 전송할 때 걸리는 시간이 10.2ms이므로 40 / 10.2 = 3.922KB/s이다.
RAID-5의 랜덤 쓰기 성능은 패리티 값을 업데이트 해주어야 하므로 두 번의 읽기 작업과 두 번의 쓰기 작업이 필요하다. 그래서 이전에 구했던 데이터 전송 시간은 4배가 되고 탐색과 회전 시간은 동일하기 때문에 7 + 3 + 0.2*4 = 10.8ms 이다. 40KB 데이터를 전송할 때 걸리는 시간이 10.8ms이므로 40 / 10.8 = 3.704KB/s 이다.
'[ Laboratory ] > Advanced Operating System' 카테고리의 다른 글
[Linux Kernel] 리눅스 커널 버전 변경 빌드 (3) | 2024.10.19 |
---|---|
[5급 전산직/운영체제론] 2023년 2차 운영체제론 제2문 (0) | 2024.07.28 |