flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
BOTOKILLER
Hi everyone!
The question is: Is paging worth of implementing??? |
|||
![]() |
|
BOTOKILLER
If i'm not going to swap memory, but just for convinience of memory managment - it will work faster than just segmentation???
and what sizes of page can i select??? |
|||
![]() |
|
cod3b453
Segments are only available in 16bit. In 32bit protected mode, non-paged memory should be faster than paged (though I'm not sure this is noticeable). Pages sizes for 32bit are 4k and either 2M or 4M; in 64bit you can also have 1G pages.
|
|||
![]() |
|
BOTOKILLER
I wanted 64K pages
![]() ![]() ![]() ![]() Well, are you sure that non-paged is faster than paged, cuz I think that many years passed since paging got popular and intel guys would optimize it as much as possible... |
|||
![]() |
|
vid
Paging is needed for more than just swapping: Protection, Auto-growing stack, memory mapped files, etc.
|
|||
![]() |
|
BOTOKILLER
Also, how do I address memory in paging???
|
|||
![]() |
|
DJ Mauretto
Quote: Also, how do I address memory in paging??? There's all written in the intel manuals ![]() _________________ Nil Volentibus Arduum ![]() |
|||
![]() |
|
BOTOKILLER
Do I need GDT in paging??? If yes, then how do pages interact with GDT???
|
|||
![]() |
|
DJ Mauretto
Quote: Do I need GDT in paging??? If yes, then how do pages interact with GDT??? Intel Manuals please ![]() _________________ Nil Volentibus Arduum ![]() |
|||
![]() |
|
BOTOKILLER
DJ Mauretto wrote:
Argh.... ![]() |
|||
![]() |
|
vid
They are just as long as paging is complicated
![]() |
|||
![]() |
|
edfed
if you want, you can simulate some paging in real mode.
for that, you need something like an interruption to update the paged memory. then, you need 3 segments: DS is the segment used to point to the paged memory. another segment to contain the real memory another to contain the paging structure, constituted of pointers. a sort of lut. periodically, the interrupt updates the DS segment accordinglly to the LUT, and the real memory. an entry in the put is used to tell where the data comes from in the real memory segment, for each place in the paging structure. in real mode, it will give the possibility to build 2 bytes pages. then, 32 kpages. when you will have a simple paging like this working, you will understand the big hardware pm paging that uses directlly the adress decoder in the process of effective to physical adress translation. as there are 32k words in a segment, you can translate every single words anywhere else, on an even adress in the DS segment. this is a sort of simulated paging. |
|||
![]() |
|
BOTOKILLER
vid wrote: They are just as long as paging is complicated ![]() P.S.: I just need at least aproximate picture to plan what I'm gonna do, when, and how... |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.