virtual memory

Post on 31-Dec-2015

11 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Virtual Memory. Operating Systems Lecture # 8. Multi-tasking OS. 0x9000. OS. 0x8000. MS Word. 0x7000. Excel. 0x4000. Outlook. 0x0000. Virtual Memory. Protection A process should be able to reference its own “address space” Abstraction - PowerPoint PPT Presentation

TRANSCRIPT

Virtual Memory

Operating Systems

Lecture # 8

Multi-tasking OS

OS

Excel

MS Word

Outlook0x0000

0x7000

0x4000

0x8000

0x9000

Virtual Memory

Protection– A process should be able to reference its

own “address space” Abstraction

– Every process thinks it owns the entire RAM e.g. 0x0000 to 0x9000

• Makes it easier for the compiler to generate object (assembly) code

Virtual Memory

Virtual Memory manager translates the virtual (or fake) addresses

Compiler

virtual address

CPU

Assembly language Load Store

Translate

Virtual -> Actual

Physicaladdress RAM

Address Translation (MMU)

Memory Manager

Compiler

virtual address

CPU

Assembly language Load Store

legal addr?Illegal?

Physicaladdress

RAMAddress Translation (MMU)

Illegal Access Exception

Data

Virtual Memory

Virtual memory makes the compiler job much simpler – Sequential addresses– MMU maps and remaps the virtual addresses to

actual memory If some part of the memory is not used

– Memory may be multiplexed between processes – Just as the process abstraction permits the CPU

to be multiplexed between processes

Memory Translation

Hardware provides two registers and an adder

Keep a base register to remap addresses Add the current address to the base register

address Protection: Check against an upper bound

Memory Translation

0x0000

Process A0x3000

0x4000

process A

read 0x3000 read 0x2000

0x9000

Base: 0x4000Bound:0x9000

MMU

Virtual MemoryVirtual memory

Physical Memory

0

0

0

0OS

MMU

0

top related