demand-zero memory

김건우·2023년 11월 10일
1

Demand-zero memory는 가상 메모리 관리 기법 중 하나로, 페이지가 실제로 사용되기 전까지는 물리적 메모리에 할당되지 않는 방식입니다. 즉, 프로세스에 의해 메모리가 요청될 때까지 해당 메모리 페이지를 '0'으로 초기화하여 대기시키는 것이 아니라, 실제로 해당 페이지가 접근되어 사용될 때 '0'으로 채워진 페이지를 할당하고 초기화합니다.

이 기법의 주요 장점은 메모리의 효율적인 사용입니다. 프로세스가 시작될 때, 모든 메모리를 바로 할당하지 않고 필요할 때 할당하기 때문에, 시스템은 더 많은 프로세스를 동시에 관리할 수 있으며, 실제로 사용되지 않는 메모리 페이지에 대한 물리적 메모리의 낭비를 줄일 수 있습니다.

동작 방식

  • 페이지 폴트: 프로세스가 아직 메모리에 로드되지 않은 주소에 접근하려고 하면 페이지 폴트가 발생합니다.
  • 디맨드 제로: 페이지 폴트 핸들러가 해당 페이지를 물리적 메모리에 매핑하고, '0'으로 초기화합니다. 이러한 방식으로 페이지는 '요구에 의해 제로화(demand-zero)'되었다고 합니다.
  • 사용: 초기화된 페이지는 이제 프로세스에 의해 사용될 수 있으며, 프로세스는 '0'으로 초기화된 메모리를 사용하여 자신의 데이터를 저장하게 됩니다.

장점

  • 메모리 절약: 실제로 사용되지 않는 페이지는 물리적 메모리를 차지하지 않습니다.
  • 효율성: 프로세스 시작 시 필요한 전체 메모리를 할당할 필요가 없으므로, 빠른 시작이 가능합니다.
  • 유연성: 프로세스가 필요한 만큼의 메모리만 사용하므로, 시스템은 메모리를 더 유연하게 관리할 수 있습니다.

단점

  • 오버헤드: 페이지가 실제로 사용될 때마다 페이지 폴트 처리가 필요하므로 오버헤드가 발생할 수 있습니다.
  • 성능 지연: 페이지를 '0'으로 초기화하는 과정에서 미세한 지연이 발생할 수 있으며, 페이지 폴트가 빈번하게 발생하면 시스템의 전체적인 성능에 영향을 줄 수 있습니다.

Demand-zero memory는 특히 대규모 멀티태스킹 환경이나 메모리 자원이 제한적인 시스템에서 유용합니다. 이 기법은 가상 메모리가 도입된 운영 시스템에서 널리 사용되며, 메모리 사용의 효율성을 높이기 위한 중요한 전략 중 하나입니다.

profile
정글 3기

0개의 댓글

관련 채용 정보