해결된 질문
작성
·
26
0
페이징 기법과 세그먼테이션 기법의 단편화 관련 질문이 있어서 드립니다.
페이징 기법이 페이지 크기로 나누어서 메모리에 불연속 분할할당을 하는걸로 이해했습니다.
예를들어 한 프로세스가 100.1 크기를 가지고 있고, 페이지 단위가 1이라고 친다면 이걸 페이지로 다 나누게 되면 101개가 생기고 결국 내부단편화가 생기는 부분은 마지막 페이지의 0.9 밖에 없는게 맞나요?
결국 페이징 기법에서 내부 단편화는 한프로세스에서 마지막 페이지에서만 발생할 것이고 그 크기는 페이지 단위보다 무조건 작지않나요?
이러면 4kb 보다 작을테니 거의 없는 수준이라고 봐도 되고 무시할 만한 크기 아닌가요?
이와 비교했을 때, 세그먼테이션기법에서는 프로세스를 세그먼트 단위 즉 코드,데이터,스택,힙 이렇게 크게 4개로 나누니까 프로세스 크기를 100이라고 친다면 10, 20, 30, 40 이거나, / 20, 30, 15, 35/ 등 이런식으로 페이징으로 나누는 경우보다 훨씬 큰 단위일 것이며 외부단절화 크기가 페이징 기법에서보다 훨씬 클거라고 예상 되는게 이게 맞는지 궁금합니다.
답변 1
0
안녕하세요 ㅎㅎ
예를들어 한 프로세스가 100.1 크기를 가지고 있고, 페이지 단위가 1이라고 친다면 이걸 페이지로 다 나누게 되면 101개가 생기고 결국 내부단편화가 생기는 부분은 마지막 페이지의 0.9 밖에 없는게 맞나요?
-> 네 맞습니다.
이러면 4kb 보다 작을테니 거의 없는 수준이라고 봐도 되고 무시할 만한 크기 아닌가요?
-> 네 작은 크기입니다. 하지만, 이런것들이 누적이 되면 전체 시스템에서 무시할 수 없는 메모리 낭비가 될 수 있습니다.
세그먼테이션기법에서는 프로세스를 세그먼트 단위 즉 코드,데이터,스택,힙 이렇게 크게 4개로 나누니까 프로세스 크기를 100이라고 친다면 10, 20, 30, 40 이거나, / 20, 30, 15, 35/ 등 이런식으로 페이징으로 나누는 경우보다 훨씬 큰 단위
-> 세그먼테이션이 무조건 페이징보다 큰 단위로 나눈다고 볼 수는 없습니다. 가변적입니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.