[CS기초] Demand-Zero Memory

2025. 4. 28. 15:30·크래프톤 정글/CS기초(키워드, 개념정리)

Demand-Zero Memory

Demand-Zero Memory는 프로세스가 메모리를 요청할 때, 실제 메모리 페이지를 즉시 할당하지 않고, 실제로 접근하는 순간 깨끗한(0으로 초기화된) 메모리를 제공하는 메커니즘을 의미합니다.

 

 

Demand-Zero Memory의 핵심 개념

  • 프로세스가 새 메모리 공간(예: malloc, new, 스택 확장 등)을 요청하면 운영체제는 바로 물리 메모리를 할당하지 않는다
  • 대신 가상 메모리 상의 해당 영역을 '예약(reserved)' 상태로 표시해두고, 첫 번째 접근(read/write)이 발생할 때 실제 물리 메모리 페이지를 연결한다
  • 이때 제공되는 메모리 내용은 모두 0으로 초기화되어 있어, 프로세스는 이를 '깨끗한 공간'처럼 사용할 수 있게 된다

 

Demand-Zero Memory의 필요성

  • 효율성
    • 프로세스가 요청한 메모리 중, 실제로 쓰이지 않는 부분에 대해 물리 메모리를 절약할 수 있다
  • 보안성
    • 이전 프로세스가 사용했던 메모리 값이 남아 있지 않고, 무조건 0으로 초기화된 메모리를 제공하기 때문에 정보 유출을 막을 수 있다

 

Demand-Zero Memory의 작동 방식

  1. 프로세스가 메모리 공간을 요청
  2. 운영체제는 물리 메모리를 바로 할당하지 않고, 가상 메모리 상에서 해당 주소를 '존재하지 않는 페이지'로 예약
  3. 프로세스가 해당 가상 메모리 영역에 처음 접근
  4. 해당 가상 메모리에 매핑된 물리 메모리가 없으므로 Page Fault가 발생
  5. 운영체제가 개입하여 0으로 초기화된 깨끗한 물리 페이지를 할당하고, 해당 가상 주소에 매핑
  6. 이후 접근이 정상적으로 이루어짐

 

관련 개념

  • Page Fault
    • 접근한 가상 주소에 매핑된 물리 메모리가 없을 때 발생하는 인터럽트
  • Lazy Allocation
    • 실제 필요한 시점까지 리소스 할당을 미루는 전략
  • Zero-fill-on-demand
    • demand-zero memory의 또 다른 표현

 

마치면서

Demand-Zero Memory는 필요할 때마다 0으로 초기화된 깨끗한 메모리를 제공하여 메모리 효율성과 보안성을 모두 챙기는 운영체제 기술입니다. 덕분에 시스템은 자원을 효율적으로 관리하고, 프로세스는 예측 가능한 안전한 메모리 환경을 보장받을 수 있죠.

저작자표시 비영리 변경금지 (새창열림)

'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글

[CS기초] DMA (Direct Memory Access)  (0) 2025.04.28
[CS기초] 시스템 콜(System Call)  (0) 2025.04.28
[CS기초] Implicit Free List vs Explicit Free List  (0) 2025.04.28
[CS기초] 메모리 할당 정책 (Memory Allocation Policies)  (0) 2025.04.28
[CS기초] 메모리 단편화(Memory Fragmentation)  (0) 2025.04.28
'크래프톤 정글/CS기초(키워드, 개념정리)' 카테고리의 다른 글
  • [CS기초] DMA (Direct Memory Access)
  • [CS기초] 시스템 콜(System Call)
  • [CS기초] Implicit Free List vs Explicit Free List
  • [CS기초] 메모리 할당 정책 (Memory Allocation Policies)
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리) N
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이)
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[CS기초] Demand-Zero Memory
상단으로

티스토리툴바