Page size
- 적당한 크기가 좋음
page가 작을 경우 | page가 클 경우 |
page table이 큼 : page 수가 많아서 |
page table이 작음 : page 수가 작아서 |
내부 단편화 감소 : 프로그램을 잘랐을 때 꼬투리가 적게 생성 |
내부 단편화 증가 : 프로그램을 잘랐을 떄 꼬투리가 많이 생성 |
I/O 시간 증가 : 많은 page를 읽기 때문에 |
I/O 시간 감소 : 적은 page를 읽기 때문에 |
Locality 향상 : 사용하지 않는 영역을 적게 포함하여 가져오기 때문에 |
Locality 저하 : 사용하지 않는 영역을 많이 포함해서 가져오기 때문에 |
page fault 증가 : page를 여러 번 가져오기 때문에 |
page fault 감소 : page를 여러 번 가져오지 않기 때문에 |
- 최근 경향 : page size가 증가하는 추세
* why? CPU와 memory의 성능 향상으로 disk와의 gap이 점차 커지고 있습니다. 이때, page size가 작으면 데이터 전송에 병목 현상이 발생하기 때문에 I/O 시간이 증가하여 전체 시스템 성능이 저하됩니다. 따라서 이를 해결하기 위해서 CPU와 memory의 성능 향상에 따라 page size도 증가하고 있습니다.
Programming restructuring
- 가상 메모리 시스템의 특성에 맞도록 프로그램을 재구성
- 사용자가 가상 메모리 관리 기법에 대해 이해하고 있다면, 프로그램의 구조를 변경하여 성능을 높일 수 있음
- 예시 1
* program 1 처럼 코드를 작성하면, j를 먼저 보게 되므로 row부터 보게 됩니다. 그렇게 되면 매번 page fault가 발생합니다.
- 예시 2
* program 2 처럼 코드를 작성하면, i를 먼저 보게 되므로 column부터 보게 됩니다. 그렇게 되면 행을 이동할 때만 page fault가 발생하게 됩니다.
TLB Reach
- TLB를 통해 접근할 수 있는 메모리의 양
- The number of entries of TLB * the page size
- TLB의 hit ratio는 높으면 좋음
* TLB의 크기를 증가 시키면 되지만 비쌈
* Page의 크기를 증가 시키면 되지만 문제가 많음. 따라서 상황에 맞에 page size를 바꾸는 전략 사용
본 내용은 한국기술교육대학교 김덕수 교수님의 유튜브 강의를 듣고 정리한 내용입니다.
'Software Courses > Operating System' 카테고리의 다른 글
File System (0) | 2020.12.13 |
---|---|
Disk System (0) | 2020.12.13 |
[Memory] Replacement strategies (0) | 2020.12.12 |
[Memory] Virtual memory management (0) | 2020.12.12 |
[Memory] Hybrid paging segmentation system (0) | 2020.12.10 |