>How do you imagine a general purpose system without paging? > >Paging is the mechanism for bridging the discrepancy between >relatively slow, large and permanent disk or other kind of bulk >storage and the relatively fast, small and ephemeral RAM.
I would say the developer is better of deciding what goes into memory as it matches the logic flow than the paging mechanism , especially these days with GC and most of the memory being media especially with LRU being almost useless these days ( due to user app GCs walking pages or caches where the least recently used page is the prime candidate for next use) . Look at DOS where apps much larger than main memory were supported by the developer if it ran paging these apps would have been unusable. Many GP OS run with no paging or at LEAST allow you to turn it off ( eg Lunux Android , some variants of Windows etc) . In a lot of these newer devices you choose how much Ram you want and how much secondary storage so your secondary storage reduces RAM defeating the purposes of paging . Lastly few new desktops sold need paging as they have plenty of memory they are just using the memory for increasing buffer caches. However existing Windows apps guarantees machines will have way more memory than they need. >As long as this discrepancy exists (that is until you can access any >storage attached to any computer on the internet within a few cpu >cycles) paging is needed. > >Even if you get hundreds of gigabytes of RAM in any new system in a >few years who says you won't have hundreds of terabytes of disk size, >too? You can't then just read the whole disk into RAM. Many OS have worked without Paging even GP ones I know many Linux and even Windows installations that don’t use a paging file esp those that network boot.. The additional storage is mainly used for data especially video , applications have stopped growing at the same rate , how big is g++ now compared to 10 years ago , even office has slowed down big time ! . > >There are also performance reasons. I would not want to see the >startup time of a system that reads my whole drive into the RAM. You mean like restore from Hibernate ? Its faster than most boots. ( I know what your saying but it gets back to who is more efficient the dev or a LRU algorithm which the 2 main GP OS have already dumped ) The above implementation while fine from 1950 till about mid 2000s , is now not a particularly suitable one. Eg Tying the generations GCs to Orthogonal persistence of which there are published examples allows you to have the option of paging greatly expanding your OS appeal , and these mechanisms are less susceptible to the flaws of the LRU paging algorithms. I acknowledge that user apps would have to enlist in this for persistence , though for Java and .NET/Mono that would be technically easy enough. >Also I doubt that in a few years the RAM sizes will increase >dramatically. The current jump in RAM size is bought by lower >reliability which is bordering on too flaky and I guess the next step >would be to work on that, especially if reliable systems are available >which actually work reliably on reliable hardware. In my opinion in future you will have more and more work moving to services on servers with lots of memory , at first mobiles and PDAs ,then netbooks will use these more and more and eventually desktops will be extensions of the phone ( ie keyboard and screen) or diskless workstations , laptops will be used less. Since mobiles now run many apps are they also a GP OS ? Anyway we don’t know what the future will bring and there is not much point discussing it but paging even today introduces a dependency and limits what devices your OS will run on . A new OS can work well without paging and it removes a lot of issues and nasty bugs. As an option for v2 think it's great but as a compulsory feature then you're at the mercy of the unknown , would this be a break with EROS yes , it was designed in a different era and I think for the future some future proofing is needed. Finally there is no point designing or building a theoretically perfect OS if no one uses it and mobile / Netbook or cloud servers are the big opportunities and they all need big increases in security. Regards, Ben ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ CapROS-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/capros-devel
