작성
·
45
·
수정됨
0
안녕하세요
강의에서는 고정분할에는 내부 단편화,
가변분할에는 외부 단편화가 생긴다고하는데
1. 고정분할에서 8공간에 9크기 프로세스가 못들어가니 이것도 외부 단편화라고 볼수 있나요?
2. 가변분할에서 최악적합에서 낭비되는 메모리가 있으니 이것도 내부 단편화라고 볼수 있나요?
고정분할은 프로세스의 데이터와 코드가 주로 할당이되고
가변분할은 프로세스의 스택과 힙이 할당이 되나요?
고정에서 내부단편화와 가변에서 최악접합으로 인해 남는 공간에 다른 프로세스가 들어갈수 있나요?(남는 공간보다 작은 프로세스)
알아보니 최초, 최적, 최악 접합은 가변뿐만 아니라 고정에도 해당된다는데 강의에는 가변에만 해당된다고하니 어느쪽이 맞는지 모르겠습니다
생각해보면 고정분할에도 최초,최적,최악이 적용되지 않을까 싶은데요
최악 적합은 왜 일어나는지 궁금합니다.
최초로 선택하다가 최악 적합이 되는건지 할당할 공간이 하나밖에 안남아서 어쩔수 없이 최악으로 할당하게 되는건지 궁금합니다.
답변 2
0
안녕하세요 ㅎㅎ
1. 고정분할에서 8공간에 9크기 프로세스가 못들어가니 이것도 외부 단편화라고 볼수 있나요?
-> 고정분할에서 특정 파티션에 프로세스가 들어가지 못하는 경우는 외부 단편화라기보다는 “할당 불가” 상태로 보는 것이 일반적입니다.
즉, 고정분할에서 8 크기의 파티션에 9 크기의 프로세스가 들어가지 않는 상황은 외부 단편화라고 보지 않습니다. 외부 단편화는 전체 가용 메모리는 충분함에도 불구하고, 여러 개의 작은 여유 공간들이 흩어져 있어 새 프로세스를 위한 연속된 공간을 제공하지 못하는 경우를 말합니다.
2. 가변분할에서 최악적합에서 낭비되는 메모리가 있으니 이것도 내부 단편화라고 볼수 있나요?
-> 가변분할은 프로세스의 크기에 맞게 메모리를 동적으로 할당하므로, 할당 후 남는 여유 공간은 보통 “외부 단편화”로 분류됩니다.
최악적합 알고리즘은 가장 큰 가용 블록을 선택하여 할당하고, 남은 공간을 분리하는 방식입니다. 이렇게 남은 공간은 다른 프로세스에 할당될 수 있지만, 크기가 작아질 수 있어 결국 작은 외부 단편화 문제로 이어질 수 있습니다.
즉, 가변분할에서 최악적합 방식에 의해 발생하는 낭비는 내부 단편화가 아니라 외부 단편화의 한 형태로 보는 것이 일반적입니다.
고정분할은 프로세스의 데이터와 코드가 주로 할당이되고 가변분할은 프로세스의 스택과 힙이 할당이 되나요?
-> 아닙니다.
고정에서 내부단편화와 가변에서 최악접합으로 인해 남는 공간에 다른 프로세스가 들어갈수 있나요?(남는 공간보다 작은 프로세스)
-> 고정분할의 내부 단편화가 발생했을 때 한 번 할당된 파티션 내에 남은 공간은 해당 파티션의 일부로 간주되며, 다른 프로세스가 할당받을 수 없는 경우가 대부분입니다.
즉, 파티션 내 남은 공간은 재할당되지 않습니다.
하지만 가변분할의 외부 단편화(최악적합에서 남은 공간)의 경우 남은 공간이 자유 블록으로 존재하므로, 크기가 충분하다면 다른 프로세스가 그 공간에 할당될 수 있습니다.
알아보니 최초, 최적, 최악 접합은 가변뿐만 아니라 고정에도 해당된다는데 강의에는 가변에만 해당된다고하니 어느쪽이 맞는지 모르겠습니다
생각해보면 고정분할에도 최초,최적,최악이 적용되지 않을까 싶은데요
->
가변분할 시스템은 메모리 크기가 동적으로 할당되기 때문에, 여러 자유 블록 중 어떤 것을 선택할지 결정할 때 최초 ~ 최악 같은 알고리즘을 적용합니다.
일부 고정분할 시스템에서는 프로세스를 특정 파티션에 할당할 때 여러 후보 파티션이 존재할 경우, 선택 기준을 두는 경우도 있겠으나, 고정분할의 본질은 “미리 분할된 영역”에 맞추어 할당하는 데 있으므로, 최초/최적/최악 접합 알고리즘은 주로 가변분할에 적용되는 것이 일반적입니다.
즉, 강의에서 언급한 내용처럼, 최초, 최적, 최악 접합 알고리즘은 가변분할 시스템에 주로 적용된다고 보는 것이 타당합니다.
최악 적합은 왜 일어나는지 궁금합니다.
최초로 선택하다가 최악 적합이 되는건지 할당할 공간이 하나밖에 안남아서 어쩔수 없이 최악으로 할당하게 되는건지 궁금합니다.
->
최악적합 알고리즘은 의도적으로 가장 큰 가용 공간을 선택하여 할당하는 전략입니다.
이는 단순히 다른 알고리즘(예: 최초접합)에서 “전환되어” 발생하는 것이 아니라, 메모리 분할 후 남은 큰 공간을 보다 효율적으로 활용하려는 목적에서 나온 선택 방식입니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
안녕하세요, 인프런 AI 인턴입니다. wsxqaz789456님.
내부 단편화와 외부 단편화에 대한 질문을 주셨네요. 각각의 용어가 메모리 관리에서 어떤 식으로 작용하는지 설명드리겠습니다.
고정분할에서의 외부 단편화:
가변분할에서의 내부 단편화:
다양한 분할에서의 할당:
관련된 내용을 더 이해하시려면 아래 링크에서 비슷한 질문과 답변을 찾아보시길 추천드립니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.