Page 1 of 1
Memory Management: Where do I start?
Posted: Sun Jan 12, 2003 3:02 pm
by Unexpected
Hello,
now I need to design the MM(Memory Management).
I know that the paging is like segmentation with atributes .
What is the address syntax, page:offset? And what is the maximum value of page?
I read the Tim's documents.. But I don't understand all things...
Now reading once again..
Please explain something
Re:Memory Management: Where do I start?
Posted: Sun Jan 12, 2003 3:24 pm
by nullify
What is the address syntax, page:offset? And what is the maximum value of page?
The maximum value of a page defaults to 4096 bytes (4K), although I believe newer Intel systems can change this...
The address syntax is still seg:offset, but in protected mode, segments can be anywhere and any size, specified by the GDT. The segment selectors (e.g., cs, ds, ss) are loaded with the active code segment, data segment, etc. so when you address a memory location, you just specify the offset from the active segment.
You can't turn off segmentation on Intel systems, but you can elect to use paging instead of segmentation for address translation (i.e., converting virtual addresses to physical addresses). You'll need to learn about how paging works.
Try :
http://osdev.neopages.net/tutorials/pagetables.php
and
http://osdev.neopages.net/tutorials/paging.php
Re:Memory Management: Where do I start?
Posted: Mon Jan 13, 2003 7:04 am
by Whatever5k
Programming a memory manager is not only enabling paging and all that stuff, but also providing a useful virtual/phyiscal memory allocator...