1. 페이지 크기
일반적으로 페이지 크기는 4KB ~ 4MB 이다.
프로그램 사이즈가 커지면서, 페이지 크기도 점점 커지는 경향이 있다.
페이지 크기는 작은게 좋을까? 큰게 좋을까?
페이지 크기는 내부 단편화, Page in/out 시간, 페이지 테이블 크기, memory resolution, page fault 발생 확률에 영향을 미친다.
1) 페이지 크기가 작은 경우
페이지 크기가 작은 경우
장점은,
- 페이지 크기가 작으면 페이지 단편화가 감소되고, 한 개의페이지를 메인 메모리로 이동하는 시간이 줄어든다.
- 프로세스 수행에 필요한 내용만 메인 메모리에 적재할 수 있고, Locality에 더 일치할 수 있기 때문에 기억장치 효율성이 높아진다.
반면,
- 페이지 정보를 갖는 페이지 테이블의 크기가 커지고, 매핑 속도가 늦어진다.
- 디스크 접근 횟수가 많아져서 전체적인 I/O 시간이 늘어난다.
2) 페이지 크기가 큰 경우
페이지 크기가 큰 경우 당연하게 페이지 크기가 작은 경우와 장단점이 반대이다.
장점으로는
- 페이지 테이블 크기가 작아지고, 매핑 속도가 빨라진다.
- 디스크 접근 횟수가 줄어들어 전체적인 I/O 효율성이 증가한다.
단점으로는
- 페이지 단편화가 증가되고, 한 개의 페이지를 메인 메모리로 이동하는 시간이 늘어난다.
- 프로그램 수행에 불필요한 부분까지 메인 메모리에 적재될 수 있다.
는 점이있다.
내부 단편화는 페이지가 작을 때 적게 일어나고,
Page in/out 시간은 페이지가 클 때 적게 일어난다.
페이지 테이블 크기는 페이지가 클 때 테이블 크기가 작아지므로 비용 측면에서 더 낫다 또한, 매핑 속도가 빨라진다.
memory resoultion는 페이지가 작을 때 더 좋다. 페이지가 정밀할수록 좋기때문이다. 페이지 사이즈가 크면 필요하지 않은 부분도 적재하게된다.
page fault 발생 확률은 페이지가 클 수록 발생 확률이 낮아진다. 공간 Locality 때문이다.
2. 페이지 테이블
페이지 테이블을 cpu에 만들면 용량 한계가 있고, 메모리에 만들면 속도가 느리다는 문제가있었다.
그래서 TLB 캐시라는 별도의 칩을 사용했다.
기술 발달에 따라 캐시 메모리는 on-chip 형태로 CPU에 들어가고,
TLB 역시 on-chip 내장으로 나온다.
'CS > OS' 카테고리의 다른 글
[운영체제] 디스크 스케쥴링(Disk Scheduling) (0) | 2024.12.26 |
---|---|
[운영체제] 파일 할당 File Allocation (0) | 2024.12.15 |
[운영체제] 프레임 할당 (0) | 2024.12.13 |
[운영체제] 페이지 교체 Page Replacement (0) | 2024.12.13 |
[운영체제] 가상메모리 Virtual Memory (0) | 2024.12.13 |