개발자꿈나무
기억장치 - 가상메모리, RAID 본문
가상 메모리(Virtual Memory)
- 가상메모리
- 보조기억장치의 전체 또는 부분을 마치 주기억장치처럼 사용하여 주기억장치공간의 제한된 용량을 극복하는 목적을 가진 메모리
- 멀티태스킹 운영 체제에서 흔히 사용되며, 실제 주기억장치보다 큰 메모리 영역을 제공하는 방법으로도 사용
- 사용자와 논리적 주소를 물리적으로 분리하여 사용자가 주기억장치 용량을 초과한 프로세스에 주소를 지정해서 주기억장치를 제한 없이 사용할 수 있도록 함
- 중첩을 고려하여 프로그래밍할 필요가 없으므로 프로그래밍이 쉬움
- 프로세서의 이용률과 처리율을 향상시킬 수 있으나 응답시간이나 반환시간은 향상되지 않음
* 가상기억장치와 주기억장치 간 이동 단위
- Paging : 블록사이즈가 고정된 방식으로 사용자가 작성한 프로그램은 기계적으로 페이지 단위로 분해
- Segmentation : 블륵사이즈가 가변인 방식으로 가변 사이즈 블록을 세그먼트라고 하며 프로그램을 세그먼트로 나누는 일은 프로그래머가 담당
- Page Fault : 프로세스에서 원하는 페이지가 주기억장치 내에 존재하지 않는 경우를 말하며 페이지 교체로 이어짐
- 동적주소 변환 (DAT; Dynamic Address Translation)
- 가상적으로 주어진 주소를 가상 주소 또는 논리 주소라고 함
- 실제 메모리 상에서 유효한 주소를 물리 주소 또는 실주소라고 함
- 가상 주소 공간은 메모리 관리 장치(MMU)에 의해서 물리 주소로 변환하는 과정을 매핑이라고 함
- 가상기억장치는 프로세스의 일부만 메모리에 적재하고 나머지는 보조기억장치에 둠으로써 실제 주소 공간보다 더 큰 주소 공간을 프로세스에 제공할 수 있음
- 운영체제는 프로그램이나 데이터를 페이지 또는 세그먼트 단위로 분할하여 메모리의 어느 영역에 적재할지를 나타내는 대응표 (mapping table)를 유지해야 함
- 동적 주소 변환은 인위적 연속성(가상 주소에서 연속적이라고 주기억장치에서도 연속적인 필요가 없다는 의미)을 제공
RAID (Redundant Array of Inexpensive Disks)
- RAID
- 여러 개의 디스크를 하나로 묶어 하나의 논리적 디스크로 작동
- 여러 개의 독립된 디스크가 일부 중복된 데이터를 나눠서 저장하고 성능을 향상시키는 기술 - RAID 시스템 레벨
- RAID 0 : 스트라이핑 모드
- 두 개 이상의 디스크를 사용하여 두 개 이상의 볼륨을 구성한 구조
- 오류 검출 기능이 없으므로 드라이브에서 장애가 발생하면 모든 데이터 손실
- 신뢰성보다는 성능과 용량을 중요시한 레벨 (실제 서버에서는 사용하지 않음)
- RAID 1 : 미러링 모드
- 동일한 내용을 갖는 RAID 볼륨을 추가적으로 구성
- 모든 데이터를 반사 디스크에 복사하고 비교하여 오류를 검사하고 수정할 수 있음
- 다른 레벨에 비해 실시간으로 모든 데이터에 대한 복구가 가능하므로 신뢰성 높음
- 비용 문제로 인해 거의 사용하지 않음
- RAID 2
- ECC 기능이 없는 드라이브를 위해 해밍 오류 정정 코드를 사용
- RAID 3에 비해 장점이 없어 거의 사용하지 않음
- RAID 3
- 한 드라이브에 패리티 정보를 저장하고 나머지 드라이브들은 바이트 단위로 데이터를 분산 저장
- 바이트 단위로 스트라이핑하기 때문에 너무 작게 쪼개져 현재는 사용하지 않음
- RAID 4
- 한 드라이브에 패리티 정보를 저장하고 나머지 드라이브에 데이터를 블록 단위로 분산 저장
- 패리티 정보는 어느 한 드라이브가 장애가 발생했을 때 데이터를 복구할 수 있음
- 데이터를 읽을 때는 RAID 0에 필적하는 우수한 성능을 보이나, 저장할 때는 매번 패리티 정보를 갱신하기 때문에 추가 시간 필요
- 하나의 디스크에 패리티 정보를 전부 저장하므로 병목 현상이 발생하며 해당 디스크의 수명이 떨어짐
- RAID 5
- 현재 가장 많이 사용되는 방식으로 모든 패리티 비트를 볼륨에 라운드 로빈 방식으로 분산 저장함으로 패리티 볼륨에 대한 병목 현상 방지
- 용량과 성능은 RAID 0에 비해 떨어지지만 신뢰성을 높인 방법
- RAID 6
- 블록 단위의 데이터와 패리티를 분산하여 저장하지만 신뢰성을 향상하기 위해 두 가지 패리티 정보를 사용하는 방식
- 블록 인터리브된 이중 분산 패리티 방식이라고도 함
- 조금 더 안정성을 높여야 하는 서버에서 사용
※ 참고
2024.01.23 - [CS/컴퓨터구조] - 기억장치 - 주기억장치
기억장치 - 주기억장치
기억장치 계층 구조 - 상위 계층으로 갈수록 용량은 작아지고 접근 속도와 비트 당 가격은 높아짐 - 하위 계층으로 갈수록 용량은 커지고 속도와 가격은 낮아짐 * 기억장치 속도 순서 : 레지스터
mangs2e.tistory.com
2024.01.23 - [CS/컴퓨터구조] - 기억장치 - 캐시 메모리
기억장치 - 캐시 메모리
캐시 메모리의 동작 원리 캐시 기억장치가 없는 시스템 ☞ 중앙처리장치는 명령어를 실행할 때마다 주기억장치에 직접 접근하여 명령어와 필요한 정보를 얻게됨 캐시 기억장치가 있는 시스템
mangs2e.tistory.com
728x90
'CS > 전자계산기구조론' 카테고리의 다른 글
병렬처리 (2) | 2024.01.25 |
---|---|
입출력장치 (0) | 2024.01.24 |
기억장치 - 캐시 메모리 (0) | 2024.01.23 |
기억장치 - 주기억장치 (2) | 2024.01.23 |
중앙처리장치(CPU) - 시스템 버스, 마이크로프로세서 (0) | 2024.01.23 |