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

누구게님의 프로필 이미지
누구게

작성한 질문수

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

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

메모리 가변 분할과 메모리 압축에 대해 질문 있습니다.

해결된 질문

작성

·

38

0

  1. 메모리 가변 분할의 기법 중에 최악 적합은 필요한 공간과 가장 큰 차이가 나는 공간을 할당한다고 설명하셨는데, 이건 의미가 없는 게 아닌가요? 오히려 메모리 내부 단편화가 발생할 것 같습니다.

  2. 메모리 외부 단편화의 해결책으로 윈도우 운영체제에서 흩어진 메모리를 한곳으로 모으는 메모리 압축을 사용하는 것으로 알고 있습니다. 하지만 윈도우의 페이지, 프레임 크기는 4KB인데 남은 메모리 공간 중에 4kb의 경계에 정렬할 수 없는 공간(남은 공간 총합 % 4096)의 압축은 진행하지 않는건가요?

답변 1

1

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

안녕하세요 ㅎㅎ

  1. 메모리 가변 분할의 기법 중에 최악 적합은 필요한 공간과 가장 큰 차이가 나는 공간을 할당한다고 설명하셨는데, 이건 의미가 없는 게 아닌가요? 오히려 메모리 내부 단편화가 발생할 것 같습니다.

-> 최악적합은 누구게님 말씀처럼 내부단편화를 발생시킬 수도 있지만 오히려 줄어들게 할 수도 있습니다. 최악적합은 항상 블록의 나머지가 향후 요청을 처리하는 데 유용할 것으로 기대하면서 목록에서 가장 큰 블록을 할당하는데요.

예를 들어,

최악 적합은 크기가 40인 블록이고 나머지는 크기가 15라고 했을 때 40에 들어가게 됩니다.

이 때 메모리 요청이 일반적으로 같은 크기 : 10인 경우가 연속적으로 들어올경우 최악적합이 제일 효과적이게 됩니다. 이 때 40짜리에 10이 들어가고 다시 10.. 이렇게 하면서 단편화가 생기지 않게 됩니다.

 

해당부분은 교안내 설명을 더 보강하겠습니다.

 

 

4kb의 경계에 정렬할 수 없는 공간(남은 공간 총합 % 4096)의 압축은 진행하지 않는건가요?

-> 네 진행하지 않습니다. 4kb 단위입니다.

 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림. 

 

 

누구게님의 프로필 이미지
누구게

작성한 질문수

질문하기