01 Virtual Memory Overview

background image

University of Washington

Roadmap

car *c = malloc(sizeof(car));
c->miles = 100;
c->gals = 17;
float mpg = get_mpg(c);
free(c);

Car c = new Car();
c.setMiles(100);
c.setGals(17);
float mpg =
c.getMPG();

get_mpg:
pushq %rbp
movq %rsp, %rbp
...
popq %rbp
ret

Java:

C:

Assembly
language:

Machine
code:

0111010000011000
100011010000010000000010
1000100111000010
110000011111101000011111

Computer
system:

OS:

Virtual Memory Overview

Memory & data
Integers & floats
Machine code & C
x86 assembly
Procedures & stacks
Arrays & structs
Memory & caches
Processes

Virtual memory

Memory allocation
Java vs. C

background image

University of Washington

Section 9: Virtual Memory (VM)

Overview and motivation

Indirection

VM as a tool for caching

Memory management/protection and address translation

Virtual memory example

Virtual Memory Overview

background image

University of Washington

Processes

Definition: A

process

is an instance of a running program

One of the most important ideas in computer science

Not the same as “program” or “processor”

Process provides each program with

two key abstractions

:

Logical control flow

Each process seems to have exclusive use of the CPU

Private virtual address space

Each process seems to have exclusive use of main memory

How are these illusions maintained?

Process executions interleaved (multi-tasking) – last section

Address spaces managed by virtual memory system –

this section!

Virtual Memory Overview

background image

University of Washington

Virtual Memory (Previous Lectures)

Programs refer to virtual memory addresses

movl (%ecx),%eax

Conceptually memory is just a very large array of bytes

Each byte has its own address

System provides address space private to particular “process”

Allocation: Compiler and run-time system

Where different program objects should be stored

All allocation within single virtual address space

What problems does virtual memory solve?

FF∙∙∙∙∙∙F

00∙∙∙∙∙∙0

Virtual Memory Overview

background image

University of Washington

Problem 1: How Does Everything Fit?

64-bit addresses:
16 Exabyte

Physical main memory:
Few Gigabytes

?

And there are many processes ….

Virtual Memory Overview

background image

University of Washington

Problem 2: Memory Management

Physical main memory

What goes

where?

stack

heap

.text
.data

Process 1
Process 2
Process 3

Process n

x

Virtual Memory Overview

background image

University of Washington

Problem 3: How To Protect

Physical main memory

Process i

Process j

Problem 4: How To Share?

Physical main memory

Process i

Process j

Virtual Memory Overview


Wyszukiwarka

Podobne podstrony:
01 6 1 Transport Layer Overview
01 Dynamic Memory Allocation
01 Dynamic Memory Allocation
03 Virtual Memory Caches
Piers Anthony Mode Series 01 Virtual Mode
chirstmas misc memory cards 01
01 Stacks in Memory and Stack Operations
01 Stacks in Memory and Stack Operations
Holly Lisle World Gates 01 Memory Of Fire
chirstmas misc memory cards 01
TD 01
Ubytki,niepr,poch poł(16 01 2008)
01 E CELE PODSTAWYid 3061 ppt
01 Podstawy i technika
01 Pomoc i wsparcie rodziny patologicznej polski system pomocy ofiarom przemocy w rodzinieid 2637 p
zapotrzebowanie ustroju na skladniki odzywcze 12 01 2009 kurs dla pielegniarek (2)
01 Badania neurologicz 1id 2599 ppt
01 AiPP Wstep

więcej podobnych podstron