Software Courses/Operating System

[Memory] Memory allocation : Continuous memory allocation

김 정 환 2020. 12. 9. 15:55
반응형

Continuous memory allocation

    - 프로세스(context)를 하나의 연속된 메모리 공간에 할당하는 정책

 

1. Uni-programming

    - 하나의 프로세스만 메모리 상에 할당하는 방법

왼쪽 : Uni-programming, 오른쪽 : Kernel 보호

 

    - 문제점과 해결

        * 문제점 1 : 프로그램의 크기 > 메모리 크기

        * 해결 1: 프로그램을 잘라서 필요한 부분만 적재, 하지만 사용자가 프로그램의 흐름과 자료구조를 모두 알아야 함

        * 문제점 2 : kernel 보호

        * 해결 2 : 경계 레지스터(boundary register) 사용

        * 문제점 3 : 낮은 자원 활용도, 하나의 프로세스만 사용하므로 낮은 수행능력

 

 

 

2. Multi-programming

 

Fixed partition multiprogramming

    - 메모리 공간을 고정된 크기로 분할

    - 하나의 partition에 하나의 프로세스만 적재

    - 경계 레지스터 사용

    - 단편화(fragmentation) 문제 발생

        * 메모리 낭비

        

        * 내부 단편화 : partition 크기 > process 크기 일 때 발생

        * 외부 단편화 : 남은 메모리 크기 > process 크기 일 때 발생

            + 남은 메모리들이 연속된 공간이 아니기 때문에 process가 적재가 안됨

 

 

 

Variable partition multiprogramming

    - 프로세스를 처리하는 과정에서 메모리 공간이 동적으로 분할

    - 내부 단편화 문제 해결

 

    - 과정

 

     - 배치 전략

        * 프로세르는 어디에 적재할 것인가?

        * 상황에 따라 적절한 방법 사용

 

        

        * First-fit (최초 적합)

            + 충분한 크기를 갖는 첫 번째 partition을 선택

            + 장점 : 간단하고 overhead가 적음

            + 단점 : 공간 활용률이 적음 왜냐하면, 14kb만 필요하지만 첫 번째 공간이 100kb일 경우 86kb 낭비

 

        * Best-fit (최적 적합)

            + process가 들어갈 수 있는 partition 중 가장 작은 곳 선택

            + 장점 : 크기가 큰 partition을 유지

            + 단점 : 탐색 시간이 오래 걸림, 활용하기에 너무 작은 partition이 발생

 

        * Worst-fit (최악 적합)

            + process가 들어갈 수 있는 partition 중 가장 큰 곳 선택

            + 장점 : 작은 크기의 partition 발생을 줄임

            + 단점 : 탐색 시간이 오래 걸림, 큰 크기의 partition 확보가 어려움

 

        * Next-fit (순차 최초 적합)

            + 최초 적합과 유사

            + 메모리 탐색을 매번 처음부터 하지 않고, 이전 탐색이 마무리된 위치부터 탐색 시작하여 전체 메모리를 균등하게 사용

 

 

    - 외부 단편화 문제 해결

        * 공간 통합

           + 인접한 빈 영역을 하나의 partition으로 통합

           + low overhead

        * 메모리 압축

            + 모든 빈 공간을 하나로 통합

            + 모든 process를 재배치 해야함으로 process는 중지되고 high overhead가 발생 따라서 자주 하지 않음

 

 

본 내용은 한국기술교육대학교 김덕수 교수님의 유튜브 강의를 듣고 정리한 내용입니다.
반응형