인프런 커뮤니티 질문&답변

예준캉님의 프로필 이미지

작성한 질문수

CS 지식의 정석 | 디자인패턴 네트워크 운영체제 데이터베이스 자료구조

메모리할당 #1. 연속할당 : 고정분할과 가변분할 ★★★

메모리 가변 분할 방식

24.07.23 05:42 작성

·

87

·

수정됨

0

안녕하세요. 강의 잘 듣고 있습니다.

메모리를 연속 할당할 때, 가변 분할 방식을 하면 내부단편화가 생기지 않는 이유가 무엇인가요?

예를 들어, 강의 3분 06초와 같은 상황에서 6MB 짜리 프로그램이 들어온다고 하면 8MB에 할당이 될 것이고 그러면 2MB 짜리 내부 단편화가 생긴 것 아닌가요?

아니면 가변 분할 방식에서는 고정 분할 방식과 다르게 2MB짜리 프로그램은 할당할 수 있기 때문에 이를 내부 단편화가 아닌 홀이라고 표현하는 걸까요?

항상 빠르게 답변해주셔서 감사합니다.

답변 1

0

큰돌님의 프로필 이미지
큰돌
지식공유자

2024. 07. 23. 21:46

안녕하세요 예준님ㅎㅎ

메모리를 연속 할당할 때, 가변 분할 방식을 하면 내부단편화가 생기지 않는 이유가 무엇인가요?

>>

가변 분할 방식에서 내부 단편화가 생기지 않는 이유는 메모리를 필요한 만큼만 할당하고 남은 부분을 다시 사용 가능한 공간으로 분할하여 관리하기 때문입니다.

이를 자세히 설명하면 다음과 같습니다.

  1. 고정 분할 방식

     

    메모리를 고정 크기의 블록으로 나누어 각 프로그램을 이러한 고정된 블록에 할당합니다. 프로그램의 크기가 고정된 블록보다 작을 경우, 남는 공간(내부 단편화)이 생깁니다. 예를 들어, 8MB 블록에 6MB 프로그램을 할당하면 2MB의 내부 단편화가 발생합니다.

     

  2. 가변 분할 방식

     

    메모리를 고정된 크기 블록으로 나누지 않고, 프로그램이 필요한 만큼의 메모리를 동적으로 할당합니다.프로그램이 할당된 후 남은 공간은 새로운 가변 분할로 남겨지며, 이는 이후 다른 프로그램에 할당될 수 있습니다.

감사합니다.