페이징은 물리적인 메모리 주소 공간이 연속적이지 않아도 (noncontiguous 해도) 되도록 하는 메모리 관리 방법이다.
Fragmentation 이라는 문제에 대한 해결책으로 제시되는 개념이다.
#Fragmentation : eth6n.tistory.com/11?category=913611
#Physical Memory and Logical Memory
-
Physical Memory
: '실제' Main Memory 메모리 주소
>> 고정된 크기의 block(메모리의 단위)으로 나뉜 Physical Memory를 Frame 이라고 한다.
-
Logical Memory
: CPU에 의해서 만들어진, 이후 계산되어 '실제' 메모리 주소로 변환되는 주소
>> frame과 같은 크기의 block으로 나뉜 Logical Memory를 Page 라고 한다.
>> Page Number (p) 와, Page Offset(d) 두 가지로 구성되어 있다.-
Page Number (p) : Page Table 안에서 'base address' 를 찾기 위한 index.
-
Page Offset (d) : Page Number를 통해 찾은 base address 와 함께 physical memory address 를 찾을 때 쓰임.
-
Logical memory address 가 Physical memory address로 변환될 때 필요한 것이 바로 'Page Table' 이다.
그리고 이 변환 과정을 Address Translation Scheme 이라고 한다.

여기서 질문,
Q. OS has one page table for the entire system. T/F?
A. False. Page Table은 Process 마다 존재한다.
교수님께서 수업시간에 언급하신 개념인데, 체크해두면 좋을 것 같다.
자, 그럼 Paging을 성공적으로 했다고 했을 때 Fragmentation 에 대하여 어떤 효과가 있는지 정리해보겠다.
- External Fragmentation x
- Internal Fragmentation
: Process가 필요한 것 이상으로 메모리가 할당되어 공간이 낭비되는 상황을 의미한다. 안타깝게도 Paging으로는 Internal Fragmentation 까지 피할 순 없다. 예를들어, 이건 좀 심각한 상황의 예시이긴 한데, n pages + 1byte가 필요한 상황에서 n+1 frames를 해당 프로세스에게 할당하는 경우가 발생할 수 있다. 다시말해 1byte 때문에 frame 하나를 통째로 준다는 것.
>> Page 크기 자체를 줄이면 Internal Fragmentation이 줄어드는 것은 맞다. 하지만 이 경우 page table을 관리하는 Overhead가 커질 것이다. - Free Frames 추적
: 프로세스가 n개의 page 를 요구한다고 했을 때, Physical Memory에는 n 개의 frame이 존재해야 된다. 어떤 frame이 할당되어있고 어떤 frame이 free 한 상태인지, OS가 관리할때 도움을 준다.
*오개념 지적 대환영*
#키워드 : (게시글이 있는 경우) 링크를 참고하시거나, 검색하면서 읽어주세요.이해에 꼭 필요한 개념입니다.
해당 게시글은 Operating Systems: Three Easy Pieces(#혜성책), Operating System Concepts (#공룡책), 그리고 이 도서를 기반으로 한 학부 수업 자료를 참고하여 작성하였습니다.
'CS > Operating Systems' 카테고리의 다른 글
| OS_Contiguous Allocation(Fragmentation) (0) | 2020.12.06 |
|---|---|
| OS_Deadlock(3): Solution(Prevention and Avoidance -Banker's Algorithm) (0) | 2020.11.30 |
| OS_Deadlock(2): Solution(Detection and Recovery) (0) | 2020.11.30 |
| OS_Deadlock(1): Problem (0) | 2020.11.29 |
| OS_Swapping (0) | 2020.11.28 |