인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

wsxqaz789456님의 프로필 이미지

작성한 질문수

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

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

내부 단편화와 외부단편화 질문

해결된 질문

작성

·

39

·

수정됨

0

안녕하세요
강의에서는 고정분할에는 내부 단편화,
가변분할에는 외부 단편화가 생긴다고하는데

1. 고정분할에서 8공간에 9크기 프로세스가 못들어가니 이것도 외부 단편화라고 볼수 있나요?

2. 가변분할에서 최악적합에서 낭비되는 메모리가 있으니 이것도 내부 단편화라고 볼수 있나요?

 

  1. 고정분할은 프로세스의 데이터와 코드가 주로 할당이되고
    가변분할은 프로세스의 스택과 힙이 할당이 되나요?

  2. 고정에서 내부단편화와 가변에서 최악접합으로 인해 남는 공간에 다른 프로세스가 들어갈수 있나요?(남는 공간보다 작은 프로세스)

  3. 알아보니 최초, 최적, 최악 접합은 가변뿐만 아니라 고정에도 해당된다는데 강의에는 가변에만 해당된다고하니 어느쪽이 맞는지 모르겠습니다
    생각해보면 고정분할에도 최초,최적,최악이 적용되지 않을까 싶은데요

  4. 최악 적합은 왜 일어나는지 궁금합니다.
    최초로 선택하다가 최악 적합이 되는건지 할당할 공간이 하나밖에 안남아서 어쩔수 없이 최악으로 할당하게 되는건지 궁금합니다.

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. wsxqaz789456님.

내부 단편화와 외부 단편화에 대한 질문을 주셨네요. 각각의 용어가 메모리 관리에서 어떤 식으로 작용하는지 설명드리겠습니다.

  1. 고정분할에서의 외부 단편화:

    • 고정 분할 방식에서는 메모리를 고정된 크기로 나누어 프로그램을 할당합니다. 말씀하신 대로 프로세스의 크기가 틀로 설정된 메모리 블록보다 클 경우, 이 프로세스는 해당 블록에 들어갈 수 없습니다. 이는 외부 단편화로 보기는 어렵습니다. 외부 단편화는 일반적으로 가변 크기의 메모리 할당에서, 사용할 수 있는 총합량은 충분하지만 연속적인 공간이 없어 할당이 불가능한 상황을 뜻합니다.
  2. 가변분할에서의 내부 단편화:

    • 가변 분할에서는 메모리를 필요한 만큼만 할당하여 남은 공간을 다시 사용할 수 있도록 관리합니다. 하지만 최악 적합(Worst Fit) 방법처럼 큰 공간에서 소규모 요청을 수용할 때 남는 부분이 나중에 효율적으로 사용되지 않는다면, 이것이 내부 단편화의 원인이 됩니다. 그러나 일반적으로 내부 단편화는 남은 공간이 지속적으로 관리되지 않거나 활용되지 않는 상황을 지칭합니다.
  3. 다양한 분할에서의 할당:

    • 고정 분할은 주로 프로세스의 크기에 따라 정해진 블록에 데이터를 할당하지만, 가변 분할은 이러한 제한 없이 각 프로세스에 따라 필요한 만큼의 메모리를 동적으로 할당합니다. 이때 스택과 힙의 경우 가변적으로 메모리가 할당되기 때문에 가변 분할에서 더 잘 맞는 개념이라 볼 수 있습니다.

관련된 내용을 더 이해하시려면 아래 링크에서 비슷한 질문과 답변을 찾아보시길 추천드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.