Agenda
<aside> 📌 Reminders
A physical memory address refers to a location on the actual hardware. We will never deal, modify, or even look at these types of addresses; they are completely under the control of the hardware (specifically the Memory Management Unit). There are many reasons for this distinction that you will cover in class (e.g. abstract, virtualization, etc), what’s important now is that we recognize this distinction.
Translation between from virtual to physical addresses are done by the MMU
pintOS adds another layer of distinction between user addresses and kernel addresses (both are still virtual addresses though!).
User addresses in PintOS refer to memory locations accessible by user processes, while kernel addresses are reserved for the OS itself. The kernel must handle transitions between these spaces carefully to maintain security and stability.
Memory is allocated in fixed-size chunks called pages, typically 4KB in size. This simplifies memory management and enables efficient use of hardware resources.
Address translation is done via page tables, which map virtual addresses to physical ones. The MMU consults these tables on every memory access, ensuring correct translation and enforcing protection mechanisms. You’ll explore how PintOS sets up and manages these mappings later in the course.
Example of passing arguments:

Questions: