flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Paging |
Author |
|
BOTOKILLER 23 Jul 2011, 14:24
Hi everyone!
The question is: Is paging worth of implementing??? |
|||
23 Jul 2011, 14:24 |
|
BOTOKILLER 23 Jul 2011, 15:23
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??? |
|||
23 Jul 2011, 15:23 |
|
cod3b453 23 Jul 2011, 16:34
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.
|
|||
23 Jul 2011, 16:34 |
|
BOTOKILLER 23 Jul 2011, 16:49
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... |
|||
23 Jul 2011, 16:49 |
|
vid 23 Jul 2011, 17:44
Paging is needed for more than just swapping: Protection, Auto-growing stack, memory mapped files, etc.
|
|||
23 Jul 2011, 17:44 |
|
BOTOKILLER 26 Jul 2011, 10:38
Also, how do I address memory in paging???
|
|||
26 Jul 2011, 10:38 |
|
DJ Mauretto 26 Jul 2011, 10:41
Quote: Also, how do I address memory in paging??? There's all written in the intel manuals _________________ Nil Volentibus Arduum |
|||
26 Jul 2011, 10:41 |
|
BOTOKILLER 26 Jul 2011, 13:28
Do I need GDT in paging??? If yes, then how do pages interact with GDT???
|
|||
26 Jul 2011, 13:28 |
|
DJ Mauretto 26 Jul 2011, 14:35
Quote: Do I need GDT in paging??? If yes, then how do pages interact with GDT??? Intel Manuals please _________________ Nil Volentibus Arduum |
|||
26 Jul 2011, 14:35 |
|
BOTOKILLER 26 Jul 2011, 14:43
DJ Mauretto wrote:
Argh.... Those manuals are looooong :lazy: |
|||
26 Jul 2011, 14:43 |
|
vid 26 Jul 2011, 16:48
They are just as long as paging is complicated
|
|||
26 Jul 2011, 16:48 |
|
edfed 26 Jul 2011, 18:16
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. |
|||
26 Jul 2011, 18:16 |
|
BOTOKILLER 26 Jul 2011, 19:02
vid wrote: They are just as long as paging is complicated Still, Does paging interact with segments in GDT and if yes how??? P.S.: I just need at least aproximate picture to plan what I'm gonna do, when, and how... |
|||
26 Jul 2011, 19:02 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.