quartz/content/notes/22-virtual-memory.md
2022-11-01 13:19:33 +13:00

44 lines
1.3 KiB
Markdown

---
title: "22-virtual-memory"
aliases:
tags:
- cosc204
- lecture
---
# Swapping and virtual memory
swapping
- if there is not enough physical memory we need to sawp processes out of the main ememory to the secondary storage e.g., disk
- ![slide](https://i.imgur.com/ImjjXkb.png)
- when a process is ready, it is swapped into the main memory
- allows more processes to multitask
partially loaded proceses
- dynamic loading
- load a potion of code when it is called as some code may not need to be executed, e.g., code for handling errors
- pros
- process not limited by amount of avilable memory
- more processes multitasking
- quicker to swap than entire process
virtual memory
- idea that processes dont need to be fully in memory to run
extends main memory to secondary storage, and allows dynamic loading of processes while they execute
- programmer deals with vmem just like paging scheme
- mem manager in OS kernel controls loading pages of the process into main mem from secondary storage
# Demand paging
dont load a page into mem until it is referenced by CPU
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
# page replacement algorithms
# frame allocation
# thrashing