18. Paging: Introduction Flashcards
What is the role of page table? Is it a global or per-process data structure?
Store address translation for each of the virtual pages of the address space. It’s per-process data structure.
What does virtual address consist of in simple page table implementation?
Virtual Page Number (VPN) and offset
What is simplest form of page table? How does it work?
Linear page table. It indexes an array by the VPN and looks up PTE at that index.
What kind of bits can be in PTE?
Valid bit - if translation is valid (if the page is allocated).
Protection bits (rwx).
Present bit (if page is in memory or on disk).
Dirty bit (if page was modified)
Reference bit/access bit (if page has been accessed)
What is page-table base register and how is it used?
It’s a memory address of the start of page table for the process. This register is used by hardware to find a PTE for each memory reference and lookup a translation there
What are upsides and downside of paging in its first iteration?
It’s slow because incurs extra memory reference (to page table) and it’s big in size. Thought, it solves an issue with external fragmentation due to fixed-size pages