Programmers do not need to worry about physical memory
locations at all
Pieces of data (and instructions) are identified by virtual addresses
At different points in time, the same piece of data
(identified by its virtual address) may reside at
different locations in RAM (identified by different physical
addresses) or may not be present in RAM at all
OS keeps track of (virtual) address spaces:
What (virtual address) is located where (physical address)
Supported by hardware, memory management unit (MMU)
Translation of virtual into physical addresses (see next
This slide serves as reminder that I am happy to obtain and provide feedback for course topics and organization. If contents of presentations are confusing, you could describe your current understanding (which might allow us to identify misunderstandings), ask questions that allow us to help you, or suggest improvements (maybe on GitLab). Please use the session’s shared document or MoodleOverflow. Most questions turn out to be of general interest; please do not hesitate to ask and answer where others can benefit. If you created additional original content that might help others (e.g., a new exercise, an experiment, explanations concerning relationships with different courses, …), please share.
Please take some minutes to answer this
anonymous survey in Learnweb
on your thoughts related to Just-in-Time Teaching (JiTT) and
the presentation format for Operating Systems.
Virtual memory provides abstraction over RAM and secondary storage
Paging as fundamental mechanism
Isolation of processes
Stable virtual addresses, translated at runtime
Page tables managed by OS
Address translation at runtime
Hardware support via MMU with TLB
Page table sizes pose challenges (to be revisited)
In particular, trademark rights are not licensed under this license.
Thus, rights concerning third party logos (e.g., on the title slide)
and other (trade-) marks (e.g., “Creative Commons” itself) remain with
their respective holders.