운영체제 - 가상 메모리 / 요구 페이징 / 페이지 폴트

TopOfTheHead·2026년 2월 12일

운영체제

목록 보기
23/24

가상 메모리 ( Virtual Memory )
주기억장치 ( = RAM )의 크기와 관계 없이 프로세스가 사용할 수 있는 가상의 메모리 주소 공간을 확장하는 메모리 관리 기법

디스크의 일부 공간( = Swap Space )을 RAM처럼 사용하여 프로세스가 실제 RAM보다 훨씬 큰 메모리 영역을 갖는 것처럼 설정
RAM 용량 제한 없이 대용량 프로그램을 작은 용량의 RAM에서도 실행 가능

。주로 RAM 용량이 부족할 때 보조기억장치Swap Space메모리처럼 활용하여 사용하지않는 프로세스( 페이지 or 세그먼트 )를 저장

  • 가상메모리 사용 시 실제 RAM보다 메모리 용량이 확장되지만, 큰 용량프로그램을 실행 시 가상메모리 용량은 괜찮아도 실제 RAM 용량이 가득차는 단점이 존재

    프로세스 실행 중 필요한 페이지RAM 상에 없어 페이지 폴트 발생 시 페이지 교체 알고리즘을 통해 선정된 사용하지않는 페이지Swap Space로 전송하고 보조기억장치로부터 필요한 페이지를 찾은 후 RAM로드하여 교체
    페이지 폴트 발생 시 디스크 I/O가 발생되어 성능이 저하되므로 최선의 페이지 교체 알고리즘을 통해 페이지 폴트 빈도를 최소화

  • Swap Space
    RAM이 부족할 때 사용하지 않는 프로세스보조기억장치에 임시로 저장하는 창고 역할보조기억장치 일부 공간

요구 페이징( Demand Paging )
프로세스 실행 시 동적으로 필요한 프로세스페이지메모리로드하는 가상 메모리 기법 페이징 기법
동적로딩과 유사하며 메모리 사용 효율 증가

메모리페이지 폴트를 통해 페이지 로드


요구 페이징 작동 원리
1. 프로세스 실행 및 해당 프로세스페이지 테이블 초기화
페이지 테이블의 모든 페이지RAM 상에 없다고 표시

2. CPU프로세스가상 주소로 접근 시 해당 주소페이지RAM 상에 없다고 도출하는 경우 페이지 폴트 발생

3. OS에서 보조기억장치로 부터 해당 페이지RAM으로 로드페이지 테이블 갱신
프로세스는 다른 프로세스CPU 제어권 전달 및 OS디스크 I/O 작업을 완료하여 인터럽트를 발생할 때까지 Wait Queue에서 대기

4. 페이지RAM로드 시 정상적으로 CPU에 의해 실행

페이지 폴트 ( Page Fault )
프로세스가 참조하는 페이지메모리 상 없는 경우 발생하여 보조기억장치에서 해당 페이지를 복사해서 가져오는 작업을 수행
디스크 I/O를 수행하므로 매우 무거운 작업

RAM에 여유가 있는 경우 페이지를 그대로 RAM로드하지만, RAM에 여유가 없는 경우 페이지 교체 알고리즘을 통해 기존 페이지와 교체를 수행

페이지가 없어 페이지 폴트 발생 시 인터럽트를 발생 및 OS에 의해 해당 페이지보조기억장치로부터 메모리로드
프로세스는 다른 프로세스CPU 제어권 전달 및 OS디스크 I/O 작업을 완료하여 인터럽트를 발생할 때까지 Wait Queue에서 대기

  • 페이지 폴트의 성능 저하
    메모리 공간이 부족 한 경우 특정 페이지메모리로 가져오기 위해 페이지 교체 알고리즘을 통해 선택한 사용하지 않는 페이지보조기억장치Swap Space로 전송
    ▶ 이때 페이지보조기억장치에서 입출력하는 디스크 I/O 연산은 매우 느린 작업이므로 최적의 페이지 교체 알고리즘을 통해 어떤 페이지디스크로 전송할지 신중히 결정하여 페이지 폴트의 발생빈도를 최소화
    
profile
공부기록 블로그

0개의 댓글