page table 2

[운영체제] 다계층 페이지 테이블

오늘은 다계층 페이지 테이블. Multi-level Page Table에 대해서 알아보겠습니다. Multi-level Page Table 프로세스의 크기가 커지게 되면서 page table을 저장하기 위해 많은 저장 공간이 필요해지게 되었습니다. 이러한 문제를 해결하고자 다계층 페이지 테이블이 도입되게 되었습니다. 4G의 주소공간을 갖는 컴퓨터가 있다고 해봅시다. 하나의 페이지는 통상 4Kb이니 우리의 메모리에는 페이지가 총 1M개 들어갈 수 있습니다. 페이지 테이블 1개는 4K이고, 페이지 엔트리는 4byte입니다. 따라서 페이지 테이블은 1K개의 페이지를 나타낼 수 있습니다. 즉, 페이지 테이블 한개로는 4G에 있는 모든 페이지를 저장할 수 없습니다. 따라서 이러한 여러 페이지테이블을 관리하기 위한 ..

CS/OS 2023.12.09

[운영체제] Paging

오늘은 메모리 관리 기술 중 대표적으로 쓰이고있는 기술인 Paging 기법에 대해서 다뤄봅니다. Paging 예전에 배웠던 Memory Partitioning 기법에 대해서 떠올려봅시다. 간혹 이런 메모리 파티셔닝에서 발생하는 fragmentation 문제는 아래와 같은 아이디어로 해결해볼 수 있을 것입니다. fragmentation 부분만큼 프로세스를 쪼개갠 후에 해당 구역에 나눠서 배정하는 것은 어떨까?? 말을 좀 어렵게 한건데, 쉽게 말해서 여러 fragmentation에 프로세스를 나눠서 분배한다는 아이디어입니다. 이 아이디어에서 나온 기법이 Paging입니다. 여기서 메모리를 조각냈을 때의 1 조각을 frame이라고 하고, 프로세스를 메모리 조각에 맞춰서 나눈 것을 page라고 합니다. Pagi..

CS/OS 2023.12.08