flat assembler
Message board for the users of flat assembler.
Index
> Main > Memory Operating System (FAMOS) Goto page Previous 1, 2, 3, 4 Next |
Author |
|
comrade 22 Jul 2008, 23:01
neville wrote: Windows uses a page database called the PFN for memory allocation - a bit like a File Allocation Table, except its for 4K memory pages instead of disk sectors! It that's true, no wonder Windows is so slow! lol. |
|||
22 Jul 2008, 23:01 |
|
bogdanontanu 23 Jul 2008, 01:28
Besides Solar OS is the first "memory operating system" and not this "FAMOS"
lol |
|||
23 Jul 2008, 01:28 |
|
comrade 23 Jul 2008, 05:22
neville, we are not trying to discourage you.
|
|||
23 Jul 2008, 05:22 |
|
neville 23 Jul 2008, 08:30
bogdanontanu, is Solar OS really a MOS or a DOS? I'll download it soon ...
I've been reading Mark's Blog about how Windows "manages" memory (link that comrade gave) and its really interesting, but also a bit confusing sometimes. Mark says: "The maximum 32-bit limit of 128GB, supported by Windows Server 2003 Datacenter Edition, comes from the fact that structures the Memory Manager uses to track physical memory would consume too much of the system's virtual address space on larger systems. The Memory Manager keeps track of each page of memory in an array called the PFN database and, for performance, it maps the entire PFN database into virtual memory." Surely this doesn't make sense? Isn't virtual memory and physical memory round the wrong way?? Then I would understand it. Surely it's the structures to track virtual memory that would consume too much physical memory?? But why would you map a database into virtual memory "for performance" reasons?? That doesn't sound right either. All of which illustrates why virtual memory or pagefiles etc should not be part of any modern operating system with GB of real physical RAM to use (or even 16MB of RAM which FAMOS can run on, but is better the more RAM there is, because it is a true pure Memory OS. There is no C: drive or any "default" drive in FAMOS...) _________________ FAMOS - the first memory operating system |
|||
23 Jul 2008, 08:30 |
|
bitRAKE 23 Jul 2008, 08:31
neville, have you attempted to test the cost of paging? The mapping of virtual addresses doesn't cost anything - processor does it on every address calculation. When the page is present there should be no cost for paging either.
_________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
23 Jul 2008, 08:31 |
|
bitRAKE 23 Jul 2008, 08:45
neville wrote: But why would you map a database into virtual memory "for performance" reasons?? That doesn't sound right either. I have an 64MB file, which I generate 32 bytes for each byte in the file - how can I process my file? _________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
23 Jul 2008, 08:45 |
|
revolution 23 Jul 2008, 08:53
bitRAKE: I think you confused virtual memory (which is the HDD) with main memory.
|
|||
23 Jul 2008, 08:53 |
|
neville 23 Jul 2008, 09:00
bitRAKE wrote: neville, have you attempted to test the cost of paging? The mapping of virtual addresses doesn't cost anything - processor does it on every address calculation. When the page is present there should be no cost for paging either. Yes, maybe when the page is present, but not when it isn't... I just think paging should be unnecessary when RAM is now so plentiful, even for multimedia applications. Gosh, I now have 100 times more RAM than the storage capacity that my hard disk used to be! I did a little experiment on my laptop with XP just now. I turned off paging and rebooted. Then I waited for the hard disk to power down in power saving mode. Then I clicked on the Start button, and nothing happened until the hard disk powered up again! Why?? Because some part of XP was still in a default "system" pagefile that can't be turned off?? XP is a DOS all right. _________________ FAMOS - the first memory operating system |
|||
23 Jul 2008, 09:00 |
|
revolution 23 Jul 2008, 09:15
neville wrote: I did a little experiment on my laptop with XP just now. I turned off paging and rebooted. Then I waited for the hard disk to power down in power saving mode. Then I clicked on the Start button, and nothing happened until the hard disk powered up again! Why?? Because some part of XP was still in a default "system" pagefile that can't be turned off?? |
|||
23 Jul 2008, 09:15 |
|
bitRAKE 23 Jul 2008, 09:41
revolution wrote: bitRAKE: I think you confused virtual memory (which is the HDD) with main memory. _________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup Last edited by bitRAKE on 23 Jul 2008, 10:00; edited 1 time in total |
|||
23 Jul 2008, 09:41 |
|
bitRAKE 23 Jul 2008, 09:52
neville wrote: I just think paging should be unnecessary when RAM is now so plentiful, even for multimedia applications. Gosh, I now have 100 times more RAM than the storage capacity that my hard disk used to be! Quote: almost all programming can be viewed as an exercise in caching _________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
23 Jul 2008, 09:52 |
|
neville 23 Jul 2008, 11:05
to revolution: OK, i was only guessing about the system pagefile. But it is a bit the same because not all of the OS is in memory all the time. I say it should be, for "performance reasons"! Getting OS components from the HDD is what slow cumbersome old DOS's do ....
to bitrake: Yes, but the RAM is there, it doesn't consume less power if you choose not to use it! So why not use it as much as possible? In a true MOS like FAMOS disks can be powered down completely until a mass storage operation is needed which is relatively infrequent compared to pagefile accesses. I don't know why Intel should "require" paging. What effect does it have on the CPU? The CPU is accessing memory all the time, whether it is paging or not. Its what CPU's do - the fetch/decode/execute cycle, the only program they know, just to keep reading memory and executing the next instruction... How can paging help the CPU? _________________ FAMOS - the first memory operating system |
|||
23 Jul 2008, 11:05 |
|
neville 23 Jul 2008, 11:07
bitRAKE: I forgot to say my first HDD was 10MB, also MFM.
|
|||
23 Jul 2008, 11:07 |
|
f0dder 23 Jul 2008, 14:38
Yeah, windows uses the paging file a bit too much, imho it's memory usage is a bit too conservative (at least up to and including XP, I haven't really played with Vista) - and on pre-XP, you can't even disable the paging file (well, you can, but windows will auto-create an "emergency" paging file in that case).
But I definitely think that paging (the x86 mechanism, not the use of a pagefile- pretty different things, even though pagefile is implemented using paging) should be enabled, to have process isolation/protection... I dunno what the cost of x86 paging is, if it can even be measured on the processors we have today. Yes, it does have some overhead (using additional memory for the paging structures, TLB hits/misses, etc.) - but does it have a real impact? Oh, and memory mapped file access is "slow" compared to other file I/O - sure, you're limited to disk I/O speed so it isn't slower in wall clock time, but watch CPU usage of mmf I/O compared to regular ReadFile. You need a pretty slow CPU to notice it, though |
|||
23 Jul 2008, 14:38 |
|
LocoDelAssembly 23 Jul 2008, 15:07
About the "overuse" of the pagefile by Windows, are you sure that it really swaps out memory pages prematurely rather than just copying seldom modified pages on disk to improve the number of non-dirty pages (and hence faster allocation of physical pages later)?
|
|||
23 Jul 2008, 15:07 |
|
bitRAKE 23 Jul 2008, 18:14
neville wrote: to bitrake: Yes, but the RAM is there, it doesn't consume less power if you choose not to use it! So why not use it as much as possible? Quote: In a true MOS like FAMOS disks can be powered down completely until a mass storage operation is needed which is relatively infrequent compared to pagefile accesses. Quote: I don't know why Intel should "require" paging. What effect does it have on the CPU? The CPU is accessing memory all the time, whether it is paging or not. Its what CPU's do - the fetch/decode/execute cycle, the only program they know, just to keep reading memory and executing the next instruction... How can paging help the CPU? Sure, none of these abstractions have to be used, but the setup time and additional resources consumed by them are far out weighed by the benefits they provide (assuming the variety of current use scenarios). An OS designed for specific use will of course make better use of resources. _________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
23 Jul 2008, 18:14 |
|
bogdanontanu 23 Jul 2008, 18:46
Quote:
Yes, Solar OS is really a "memory operating system" You can play with "SOL" button, applications, drivers, activate network layers, etc and the HDD will never "blink" ... it will never get accessed. The HDD will only blink when you want it to read files in HDD explorer application. And there is no RAM disk simulating a HDD. As comrade said I am not trying to discourage you but rather make you understand that although there is some truth in your perception ... My "lol" is because your ideas are naive and your criticism of Win/Unix/Linux is not so honest/knowledgeable and your hopes are kindly exaggerated. Before bashing Windows Unix and other "Disk OS" like you name them you should understand more about them. If they want to and/or found any kind of advantage in doing so it will take Windows or Unix/Linux a blink of an eye to convert them selfs to an "Memory OS" style if they ever needed to. But there are big advantages of paging and the ways they do things. Of course there are advantages of keeping things in RAM also. You will have to correctly understand the advantages/disadvantages and be ready to pay the price of your choices. But without a deep, detailed and correct understanding there is no value in "ideas" alone. |
|||
23 Jul 2008, 18:46 |
|
neville 23 Jul 2008, 20:59
bogdanontanu:
Nobody likes having their ideas called "naive" or "not so honest" etc. Especially when it is only an (unjustified) personal opinion I am truly very sorry that you do not fully agree with my ideas, which you think have "no value" because they lack a "deep, detailed and correct understanding"). I am sorry because we seem to share a belief in simplicity and elegance of design - and keeping C++ out of OS kernels! I downloaded your OS and tried it. It is nice. Your GUI graphics are much better than mine. FAMOS still starts in VESA mode 101 (640x480, 256 colours) but I do have plans to upgrade it. I used to use VESA linear buffer mode too (mode 4101) but too many computers of people trying FAMOS didn't support it So I reluctantly switched to VESA paged mode because nearly all except very old video cards support it. Paged video access made my code 3 times more complicated, and it is noticeably slower especially on one computer which has 4Kb video RAM granularilty (most have 64Kb). There is a very ironic lesson here about paging memory.... I'm also sorry because we might be the only 2 people in the world who have designed and written a genuine memory operating system. I did manage to crash your OS, but the watchdog came to the rescue I repeat that virtual memory is an outdated idea which should be abandoned. May I suggest that with careful analysis the supposed advantages of memory paging are now more virtual than real ... What to you think about Mark's Blog and my comments in an earlier post? I am only questioning the way DOS's use memory and I say there should be a fundamental change in the way some OS's do it. Is that "bashing" them? I don't think so, but they are big enough to take it anyway... What makes you think Windows could change in the "blink of an eye". I seriously doubt that. I don't yet have a 64-bit CPU, but Intel's long mode will make my planned 64-bit version of FAMOS very difficult if not impossible It is very sad that Intel want to turn their Ferraris into Model T Fords. Maybe AMD will force them to do the right thing, as has happened before. Now lets be constructive, not a bit personal, and debate the issues here.... _________________ FAMOS - the first memory operating system |
|||
23 Jul 2008, 20:59 |
|
f0dder 23 Jul 2008, 22:45
LocoDelAssembly wrote: About the "overuse" of the pagefile by Windows, are you sure that it really swaps out memory pages prematurely rather than just copying seldom modified pages on disk to improve the number of non-dirty pages (and hence faster allocation of physical pages later)? neville: "intel's" long mode was actually designed by AMD, and then copied (well, licensed I suppose) by intel, so there isn't much hope that "AMD will force them to do the right thing" - and what's so wrong with long mode, anyway? _________________ - carpe noctem |
|||
23 Jul 2008, 22:45 |
|
Goto page Previous 1, 2, 3, 4 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.