For 2/23 Flashcards
What does virtual memory allow for?
Parts of a program, only the current instructions and data, need to be in memory for execution. The rest gets a virtual address in secondary memory
Address space
The range of memory addresses available to a process
virtual address space
The virtual storage assigned to a process
Real address
The address of a storage location in main memory
resident set
The portion of a process that is actually in main memory
What happens if there is a page fault?
The process is blocked, what is needed is fetched while other things are processed, and then it is ready again
What is an advantage to only having a resident set?
More processes can be in main memory at a time, and a process can be larger than all of memory
Real memory
The same as main memory
Thrashing
The system spends too much time swapping out data and not executing
What prevents thrashing?
The OS keeps track of what has been used least recently when moving things around
Principle of locality
Program and data references within a process tend to cluster
How is a page table modified for virtual memory?
It indicates if a page is present in main memory and if it has been modified
How many page tables are there?
One per process
How are large page tables handled?
They too can be put into virtual memory. Only parts of the table are in main memory at a time
What is an inverted page table?
One that hashes the page number portion of a virtual address. the hash points to the inverted page table
What does an inverted page table contain?
The addresses of a real memory page frame in lieu of one per virtual address