vault backup: 2022-11-01 13:34:33

This commit is contained in:
Jet Hughes 2022-11-01 13:34:33 +13:00
parent f56b87a0b8
commit 63779b698a

View File

@ -35,8 +35,43 @@ implementing
- in paging scheme there are extra bits in the table to provide more information
- valid/invlid bit
- protection bits
- in demand paging the mem manager
- in demand paging the mem manager uses valid/invalid bit to tell if a page is loaded
![example|400](https://i.imgur.com/JeQxF4H.png)
note: each page can be stored twice: loaded in main memory and in the backing store - these two copies need to remain consistent. i.e.., changes to one must be reflected in the other
page faults
- "trap" occurs when trying to access and invalid page
- what the os does:
- check if caused by invalid memory access or unavailable page frame
- if nvalid mem access
- terminate process
- else
- find a free frame
- read the page from the disk to the free frame
- modify the page table
- restart the instruction
- VMAs are searched to find valid areas or memory access
# page replacement algorithms
If main memory is full when a page fault is generated, one of the pages currently being held needs to be replaced.
This means an extra step in the operating systems page-servicing routine.
- Find the desired page on the backing store (secondary storage).
- Find a free frame of memory
- If theres a free frame in memory, use it
- Otherwise: Select a frame to swap out
- Save it to the backing store (in case its changed)
- Proceed as before.
FIFO
- replace the oldest page
- pro
- simple to understand/implement
- con
- maybe first page to be ref'd is often being referenced
- belady's anomaly
# frame allocation