메모리 및 페이지 할당

CinnamonTree·2022년 5월 31일
0

운영체제

목록 보기
3/4

메모리는 다음과 같은 계층으로 이루어져 있다.

메모리 할당 알고리즘

  • First Fit : 메모리의 처음부터 검사해서 크기가 충분한 첫번째 메모리 부분에 할당
  • Next Fit : 마지막으로 참조한 메모리 공간에서부터 탐색을 시작하여 공간을 찾음
  • Best Fit : 모든 메모리 공간을 검색하여 내부 단편화를 최소화하는 공간에 할당

내부 단편화란?

필요 작업 공간보다 많은 공간을 할당받음으로서 발생하는 내부의 사용 불가능한 공간

외부 단편화란?

필요 작업 공간보다 많은 공간이 존재하여도 해당 작업을 받아들일 수 없는 경우

위의 사진을 보면 100mb가 존재함에도 C작업에 메모리에 적재할 수 없게 된다.

페이징과 세그먼테이션이란?

페이징

  • 페이지 단위의 논리-물리 주소 관리 기법.
  • 논리 주소공간이 하나의 연속적인 물리 메모리 공간에 들어가야하는 제약을 해결하기 위한 기법.
  • 가상 메모리는 페이지라 불리는 고정 크기 블록들로 나누어지고, 물리 메모리는 Frame이라 불리는 페이지와 같은 크기의 블록들로 나누어진다.
  • 내부 단편화 존재

세그먼테이션

  • 사용자/프로그래머 관점의 메모리 관리 기법
  • 같은 크기의 페이지를 갖는 페이징 기법과 달리, 서로 다른 크기의 논리적 단위인 세그먼트로 분할
  • 가상 메모리 사용, 내부 단편화 해결, 외부 단편화 존재

페이징은 고정 크기를 가지고 세그먼테이션은 가변 크기를 가짐
페이지은 내부 단편화 발생 가능, 세그먼테이션은 외부 단편화 발생 가능.

페이지 교체 알고리즘

  • 운영체제는 주기억장치보다 더 큰 용량이 필요한 프로그램을 실행하기 위해 프로그램의 일부만 주기억장치에 적재하여 사용하며, 이를 가상메모리 기법이라 한다.
  • 페이징 기법으로 메모리를 관리하는 운영체제에서, 필요 페이지를 적재하기 위해 기존에 적재된 어떤 페이지를 교체할 것인지 결정하는 법을 페이지 교체 알고리즘이라고 한다.

1. OPT: 최적 교체= 가장 오랫동안 사용하지 않을 페이지 교체하는 것으로 가능성 희박.

2. FIFO: 메모리 할당 순으로 페이지 교체(가장 오래된 페이지 교체)

3. LRU: 최근에 가장 오랫동안 사용하지 않은 페이지를 교체

  • 큐로 구현 가능.
  • 시간 지역성의 성질을 고려함(최근에 참조된 페이지가 가까운 미래에 다시 참조될 가능성이 높다)
  • 단점: 프로세스가 주기억장치에 접근할 때 마다 참조된 페이지 시간을 기록해야 하므로 큰 오버헤드가 발생한다.

4. LFU: 참조횟수가 가장 낮은 페이지 교체

  • 단점: 최근에 불러온 페이지가 교체될 수 있다. 구현이 복잡하며 오버헤드가 크다.

5. MFU: 참조횟수가 가장 많은 페이지 교체

6. NUR: Not Used Recently: LRU 근사 알고리즘(참조&변형 비트를 사용하여 적은 오버헤드로 그룹 내 무작위 선택)

0개의 댓글