외부단편화

    [OS] 메모리

    [OS] 메모리

    [프로세스에 할당되는 메모리의 각 영역] 프로세스의 주소 공간은 코드, 데이터, 스택 힙 영역으로 구성된다. 이렇게 나눔으로써 데이터를 공유할 수 있게 되고 메모리 사용량이 줄어든다. 코드 영역 : 사용자가 작성한 프로그램 함수 코드가 CPU에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 공간 (컴파일 타임에 결정되며, 읽을 수만 있다.) 데이터 영역 : 전역 변수 또는 static 변수 등 프로그램이 사용하는 데이터를 저장하는 공산 스택 영역 : 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터(지역변수, 매개변수, 리턴값 등)을 임시로 저장하는 공간. 힙 영역 : 프로그래머가 필요할 때마다 사용하는 메모리 영역으로 런타임 시점에 결정된다. [메모리 구조의 순서 (CPU에서 가까운 순으로 ..

    [운영체제] 연속 메모리 할당과 단편화 문제

    [운영체제] 연속 메모리 할당과 단편화 문제

    [연속 메모리 할당] 메인 메모리는 OS 와 사용자 공간으로 구분된다. 사용자 공간에 프로그램을 적재할 때 프로세스 크기 만큼 연속 배정(주소1부터 주소 N까지)하는 것을 연속할당이라고 한다. 가용 공간에 n바이트를 요구하는 프로그램을 할당할 때 어떤식으로 할당할 것인지 정해야 한다. 1 ) 최초 적합 : 첫 번째 사용 가능한 가용 공간을 할당 2 ) 최적 적합 : 사용 가능한 공간 중에서 가장 작은 것 선택 3 ) 최악 적합 : 가장 큰 가용 공간을 택함. -> 보편적으로 최초 적합 및 최적 적합이 효율적이라고 한다. [연속 메모리 할당에서 발생할 수 있는 문제점] 1 ) 외부 단편화 : 총합 메모리 공간은 요청을 만족시킬 수 있지만, 가용 공간이 연속적이지 않다. 2 ) 내부 단편화 : 할당된 메모리..