newsgroups-index (beta)

Current group: comp.arch

increasing addressable memory via paged memory?

increasing addressable memory via paged memory?  
B.Crowhurst
From:B.Crowhurst
Subject:increasing addressable memory via paged memory?
Date:15 Jan 2005 08:07:42 -0800
Virtual memory is a concept of expanding the maximum addressable
memory by overlaying logical addresses on to core memory and storing
some on disk (page file) that are not required. Programs do this by
being split up into pages. The common size of a page is 4 KB but can
be larger as in Linux 2.6 where it can range from 4kb to 2mb.

Address Translation

Each process running will have a page table which will be used to map
a logical address onto a physical address.

for an example imagine a 16 bit program address giving 2^16 memory.
Assuming that the physical memory has been split into 16x4kb pages,
the high order 4 bits of the program address will specify the page
number and the low order 12 bits will specify the address within the
page.

[Page ][ Index ]
4 bits 12 bits

Since not all pages need to be in memory at any one time you may have
multiple programs executing at once *(not really but that's not the
question is it) and requesting a page of data/instructions only when
it is needed. The process of requesting and obtaining a new page is
known as swapping. This paging technique also has another advantage
that it reduces external fragmentation. However it still possess
internal fragmentation in which a final page of a program may not use
all of the 4kbs.

There is allot more detail to this than what i have covered and i
would suggest a rereading of your notes a book or google. Now I'm
going to get back to my KitKat if that's ok.
   

Copyright © 2006 newsgroups-index   -   All rights reserved   -   Impressum