faith_coder_lab.log
로그인
faith_coder_lab.log
로그인
운영체제 | 가상 메모리
Faithful Dev
·
2025년 1월 25일
팔로우
0
운영체제
컴퓨터 공학
컴퓨터 공학
목록 보기
31/81
가상 메모리 (Virtual Memory)
정의
가상 메모리는
프로세스가 실제 물리 메모리의 용량에 구애받지 않고 더 큰 메모리를 사용할 수 있도록 지원하는 메커니즘
이다.
운영 체제가 물리 메모리와 보조 저장 장치(예: HDD) 사이를 관리하여, 프로세스마다 고유한 메모리 공간을 제공하는 기술이다.
주요 개념
논리 주소와 물리 주소
논리 주소(Logical Address)
: 프로세스가 참조하는 가상 주소.
물리 주소(Physical Address)
: 실제 RAM에서의 주소.
MMU(메모리 관리 장치)가 논리 주소를 물리 주소로 변환.
페이지와 페이지 테이블
가상 메모리는
페이지(Page)
라는 고정 크기 블록으로 나뉜다.
운영 체제는 페이지 테이블을 사용하여 가상 주소와 물리 주소 간의 매핑을 관리한다.
스왑(Swap)
물리 메모리가 부족하면, 사용하지 않는 페이지를 보조 저장 장치(예: 디스크)로 옮기는 과정.
스왑 영역
은 보조 저장 장치의 일부를 가상 메모리로 사용하는 공간이다.
장점
메모리 확장
: 실제 물리 메모리보다 더 많은 메모리를 사용할 수 있음.
프로세스 격리
: 각 프로세스는 독립적인 메모리 공간을 가짐.
효율적 자원 관리
: 자주 사용하지 않는 데이터를 디스크로 이동하여 RAM을 절약.
단점
성능 저하
: 스왑이 빈번하게 발생하면
페이지 폴트
로 인해 성능이 저하될 수 있음.
복잡성
: 페이지 테이블 관리 및 주소 변환 과정이 추가됨.
MMU (Memory Management Unit)
정의
MMU는
가상 주소를 물리 주소로 변환하는 하드웨어 장치
이다.
CPU와 메모리 사이에 위치하여, 가상 메모리 관리를 지원하는 데 핵심 역할을 한다.
주요 기능
주소 변환 (Address Translation)
가상 주소를 물리 주소로 변환.
이 과정에서 페이지 테이블을 참조하여 매핑을 수행.
페이지 보호 (Page Protection)
페이지 단위로 메모리 접근 권한(읽기/쓰기/실행 등)을 설정하여 프로세스 간의 메모리 침범을 방지.
TLB (Translation Lookaside Buffer)
주소 변환 속도를 높이기 위해 사용하는 캐시.
페이지 테이블의 일부를 저장하여 자주 참조되는 주소 변환을 빠르게 처리.
주소 변환 과정 (일반적인 흐름)
CPU가
가상 주소
를 생성.
MMU가 페이지 테이블을 참조하여 해당 가상 주소를
물리 주소
로 변환.
변환된 물리 주소를 통해 실제 데이터에 접근.
장점
주소 매핑 자동화
: CPU가 직접 물리 주소를 계산하지 않아도 됨.
성능 향상
: TLB와 같은 하드웨어 가속을 통해 빠른 주소 변환 가능.
보안 강화
: 메모리 접근 권한을 제어하여 시스템 안정성 확보.
단점
추가 비용
: MMU와 페이지 테이블 관리로 인해 시스템 설계가 복잡해짐.
TLB 미스
: TLB에 없는 페이지를 참조할 경우, 성능이 일시적으로 저하.
가상 메모리와 MMU의 관계
가상 메모리와 MMU는 상호 의존적이다.
가상 메모리
는 논리 주소 공간을 생성하여 프로세스의 메모리 사용 효율을 높이며,
MMU
는 이러한 논리 주소를 물리 주소로 변환하는 데 필요한 하드웨어적 지원을 제공한다.
가상 메모리의 동작 원리
주소 공간 분리
프로세스마다 독립적인 논리 주소 공간을 제공.
페이지 교체
물리 메모리가 부족할 때,
페이지 교체 알고리즘
을 통해 스왑 영역으로 데이터를 이동.
예:
FIFO, LRU, LFU
등의 알고리즘.
페이지 폴트 처리
가상 메모리에서 참조된 페이지가 물리 메모리에 없으면, 운영 체제가 디스크에서 해당 페이지를 로드.
가상 메모리와 MMU의 장단점
기능
장점
단점
가상 메모리
물리 메모리 확장, 프로세스 간 격리, 효율적 자원 관리
성능 저하(스왑), 페이지 폴트 관리 필요
MMU
빠른 주소 변환, 메모리 보호, 효율적 자원 접근
추가 하드웨어 비용, TLB 관리 필요
Faithful Dev
Turning Vision into Reality.
팔로우
이전 포스트
운영체제 | 데드락과 스타베이션
다음 포스트
컴퓨터 공학 | 퀴즈 (2)
0개의 댓글
댓글 작성