ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 연속 메모리 할당
    운영체제/메모리 관리 전략 2018. 2. 4. 15:51

    메모리는 사용자 프로세스들도 수용해야 하고 효율적으로 관리되어야 한다.

    메모리는 일반적으로 개의 부분으로 나누어 지는데 하나는 메모리에 상주하는 운영체제를 위한 것이고 하나는 사용자 프로세스를 위한 것이다.

    연속 메모리 할당 시스템에서 프로세스는 연속된 하나의 메모리 영역을 차지하게 된다.

     

     

    메모리 보호

    프로세스가 자신이 소유하지 않은 메모리를 접근할 없게 하기 위해서 상한 레지스터와 배치 레지스터를 사용한다.


     

    여기서 재배치 레지스터를 사용함 으로서 운영체제의 크기는 실행 중이라도 얼마든지 변경될 있다.

    운영체제 중 필요에 따라 메모리로 올라오기도 하고 지워지기도 하는 부분을 일시적 운영체제 코드 라고 한다.

    이러한 기능을 최대한 활용하면 전체 운영체제의 크기는 매우 작아질 있다.

     

     

    메모리 할당

    가장 간단한 메모리 할당 방법은 메모리를 똑같은 고정된 크기로 분할하는 것이다.

    경우 분할 마다 프로세스를 가지고 분할의 개수를 다중 프로그래밍의 정도라고 말한다.

    분할이 비게 되면 프로세스가 입력 큐에서 선택되어 분할에 들어온다.

     

    가변 분할 기법에서 운영체제는 메모리의 어떤 부분이 사용되고 있고  어떤 부분이 사용되지 않는 가를 파악할 있는 테이블을 유지한다.

    초기에 모든 메모리 공간은 개의 사용 가능한 블록으로 간주된다.

    경우 하나의 공간 있다고 표현한다.

    운영체제는 프로세스가 도착하면 이를 수용할 있는 충분한 공간을 할당 주고

    할당된 분할과 사용 가능한 분할에 관해 정보를 유지해야 한다.

     

    언급한 것처럼 일반적으로 메모리에는 다양한 크기의 자유 공간이 여기저기에 산재하게 되며

    프로세스가 공간을 필요로 경우 자유 공간의 집합에서 적절한 것을 찾아낸다.

    만약 찾아낸 자유 공간이 요청한 것보다 경우 공간을 개로 나누어 조각은 프로세스에게 할당하고 나머지는 자유 공간으로 소속시킨다.

     

    이러한 기법은 동적 메모리 할당 문제 특별한 예이다.

    이것은 자유 공간 리스트로부터 공간을 요구하는 것을 어떻게 만족시켜 것인가를 결정하는 문제이다.

     

     

    동적 메모리 할당 문제의 해결책

    최초 적합

    번째 사용 가능한 공간을 할당

     

    최적 적합

    사용 가능한 공간들 중에서 가장 작은 것을 택함

    리스트가 정렬되어 있지 않다면 리스트를 검색해야 한다.

    작은 공간들이 많이 생성된다.

     

    최악 적합

    가장 공간을 선택

    리스트가 정렬되어 있지 않다면 리스트를 검색해야 한다.

    할당 주고 남은 공간은 다른 프로세스를 위해 사용된다.

     

     

    단편화

    단편화는 공간 일부가 사용하지 못하게 되는 것을 말한다.

    내부 단편화 : 메모리를 일정한 크기로 잘라 할당 공간이 요구된 공간보다 있다.

    외부 단편화 : 공간 조각들을 모두 합치면 프로세스보다 크지만 너무 작게 여러 곳에 분산되어 있어 발생한다.

    외부 단편화는 압축을 통해 해결한다.


    '운영체제 > 메모리 관리 전략' 카테고리의 다른 글

    페이징  (0) 2018.02.04
    세그먼테이션  (0) 2018.02.04
    스와핑  (0) 2018.02.04
    배경  (0) 2018.02.04

댓글