ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] 메모리 연속할당 - 고정분할 방식과 가변분할 방식
    OS 2021. 11. 28. 16:24

     

    [OS] 메모리 연속할당 - 고정분할 방식과 가변분할 방식


    안녕하세요? 장장스입니다.

    실제 물리적 메모리는 크게 연속할당 방식불연속할당 방식으로 나뉩니다.

    오늘은 메모리 연속할당 방식인 고정분할 방식가변분할 방식에 대해 정리해보겠습니다.

     

     

    메모리 연속할당 기법


    연속할당 기법은 프로세스를 메모리에 올릴 때 주소 공간을 메모리의 한 곳에 연속적으로 적재하는 방식입니다. 연속 할당 방식에서는 물리적 메모리를 다수의 분할로 나누어 하나의 분할에 하나의 프로세스가 적재되도록 합니다.

     

    연속할당 기법은 크게 고정분할 방식가변분할 방식으로 나뉩니다.

     

     

    고정분할 방식


    고정분할 방식은 물리적 메모리를 정해진 개수만큼의 영구적인 분할로 나누어두고 각 분할에 하나의 프로세스를 적재하는 방식입니다. 분할의 크기는 모두 동일할 수도 있고 서로 다를 수도 있습니다.

     

    고정분할 방식은 동시에 메모리에 올릴 수 있는 프로그램의 수가 고정되어 있으며 수행 가능한 프로그램의 최대 크기 또한 제한된다는 점에서 가변분할 방식에 비해 융통성이 떨어집니다.

     

    또한 고정분할 방식에는 외부조각과 내부조각 문제가 발생할 수 있습니다.

     

    가변분할 방식


    가변분할 방식은 메모리에 적재되는 프로그램의 크기에 따라 분할의 크기, 개수가 동적으로 변하는 방식이다. 따라서 가변분할 방식은 프로그램의 크기를 고려해서 메모리를 할당하고 이를 기술적으로 관리할 수 있는 기법이 필요하다.

     

    가변분할 방식은 프로세스에 딱 맞게 메모리 공간을 사용하기에 내부조각 문제는 발생하지 않는다. 그러나 사용중인 프로세스가 종료되어 메모리에 새로운 프로세스를 올릴 메모리 공간이 충분하지 않을 경우 외부 조각 문제가 발생한다.

    가변분할 방식은 어디 메모리 공간에 프로세스를 올려야 할지 결정해야하는 문제가 있다. 이를 해결하기 위한 기술적 방법으로 다음과 같이 3가지가 있다.

    • 최초적합: 가장 먼저 나오는 가용 가능한 메모리 공간에 프로세스를 올리는 방법이다.
    • 최초적합: 가장 딱 맞는 메모리 공간을 찾아 프로세스를 올리는 방법이다.
    • 최초적합: 가장 큰 메모리 공간에 프로세스를 올리는 방법이다.

     

    가변분할 방식에서 발생하는 외부조각 문제를 해결하기 위한 방법으로 컴팩션(compaction: 압축)방법이 있다. 물리적 메모리 중에서 사용중인 메모리 공간을 한쪽으로 몰고 가용 공간을 확보하는 방법이다. 메모리를 효율적으로 사용할 수 있는 측면에서는 좋은 선택이지만 수행중인 프로세스의 메모리 주소 공간을 이동시켜야 하므로 비용이 매우 많이 든다.

     

     

     

     

    Post


    •  

    References


    • KOCW 운영체제 강의 - 반효경 교수

     

     


    잘못된 코드나 내용이 있다면 댓글을 남겨주세요. 즉시 수정하도록 하겠습니다! :)

     

    댓글