메모리 관리

이명환·2020년 11월 6일
1

BackEnd

목록 보기
7/14

메모리 관리를 위키백과에서 찾아보면 이렇게 설명한다.

메모리 관리는 컴퓨터 메모리를 관리하는 행위이다. 가장 단순한 형태의 메모리 관리 방법은 프로그램의 요청이 있을 때, 메모리의 일부를 해당 프로그램에 할당하고, 더 이상 필요하지 않을 때 나중에 다시 사용할 수 있도록 할당을 해제하는 것이다.

어떤 프로그램이든 프로세스가 되어 프로세서에 적재되기 위해서는 메모리에 적재되어야 실행이 가능하다.

그래서 한정된 메모리를 다중 프로그래밍 환경에서 이용하기 위해서는 효율적인 관리가 필요하다.

메모리 관리

메모리 관리는 프로세스들을 위해 메모리를 할당하고 제거하며 보호하는 활동이다. 이는 저장장치 전반(하드디스크, DB, etc..)에 해당한다.

메모리 관리를 위해 메모리 관리자가 존재하고, 메모리 관리 장치(MMU, Memory Management Unit)와 OS 관리 모듈과 함께 진행한다.

메모리 관리자는 메모리와 관련된 여러 관리 정책을 수립해 이에 따라 메모리를 관리한다.

메모리 정책

적재 청책(Fetch Policy)은 디스크에서 메모리로 프로세스를 언제 가져와야 할지를 정하는 것이다.

실행 방법:

  • 요구 적재: 운영체제나 시스템 프로그램, 사용자 프로그램 등 참조 요청에 따라 다음에 실행할 프로세스를 메모리에 적재하는 방법이다.
  • 예상 적재: 시스템의 요구를 미리 예측하여 메모리에 적재하는 방법이다. 요청한 페이지 외의 다른 페이지도 함께 불러들여 탐색시간과 회전 지연시간을 가지는 보조 기억 장치의 특성을 참조한다.

배치 정책(Placement Policy)은 디스크에서 메모리로 가져온 프로세스를 어느 위치에 저장 할 것인지 정하는 것이다.

  • 최초 적합: 사용 가능 공간 리스트에서 충분히 큰 첫번째 공백 분할 공간에 적재하는 방법
  • 최적 적합: 사용 가능 공간 리스트에서 가장 작은 크기의 사용 공간을 작업에 적재하는 방법
  • 최악 적합: 가장 큰 사용 가능 공간에 적재하는 방법

대치 정책(Replacement Policy)은 메모리가 충분하지 않을 때 현재 메모리에 적재된 프로세스 중 제거할 프로세스를 결정하는 방법이다.

  • 메모리가 충분하지 않을 때 현재 메모리에 적재된 프로세스 중 제거할 프로세스를 결정하는 방법이다.

  • 시기 및 사용 빈도에 따라 선입선출(FIFO) 대치 알고리즘, 최근 최소 사용(LRU) 대치 알고리즘 등 다양한 방법이 있다.



참조:

https://www.crocus.co.kr/1376#recentComments
https://blackjellybear.tistory.com/47

profile
Si vales bene, valeo

0개의 댓글