OS161 Duplicated TLB entries

Date Category os161 Tags tlb / vm

Sys161 will panic if you try to write a TLB entry with a entryhi, but there are already a TLB entry with the same entryhi but in a different TLB slot. This is because entryhi should be a UNIQUE key in the TLB bank.

more ...

OS161 TLB Miss and Page Fault

Now we've set up user address space, it's time to handle TLB/page faults. Note that there is a difference between TLB and page faults:

  • TLB fault means the hardware don't know how to translate a virtual address since the translation didn't present in any TLB entry. So the hardware raise a TLB fault to let the kernel decide how to translate that address.

  • Page fault means the user program tries to access a page that is not in memory, either not yet allocated or swapped out.

more ...

OS161 Coremap

The first concern of OS161 virtual memory system is how to manage physical pages. Generally, we can pack a physical page's information into a structure (called struct coremap_entry) and use this struct to represent a physical page. We use an array of struct coremap_entry to keep all physical pages information. This array, aka, coremap, will be one of the most important data structure in this lab.

more ...