On Thursday 02 December 2004 09:30, Sam Watkins wrote: > Current mainstream OSes like Linux implement memory protection primarily > to prevent buggy or malicious processes trampling on each-others memory > and memory-mapped devices, or spying on other processes. No, they don't. Memory protection is generally a free side effect of virtual memory (not to be confused with "swap"). That is, virtual memory is the goal, and memory protection is a good thing that comes along with it. > All processes could run on a single address space, there would be no need > for context-switching, pipes could be implemented as shared buffers, and > processes could send messages to eachother without needing to copy > memory. Congratulations - you've just invented shared memory (see shm*(2) for details on the Linux syscalls that implement it). > I think people don't normally use more than 4GB of VM on 32-bit > computers, at least they won't now that 64 bit CPUs are taking off, Not even close to correct, actually. > Programs could call "yield" every now and again, Get a pre-OS X Macintosh and see how well you like it. Seriously, it's called cooperative multitasking, and it's generally not well-regarded. > and the compiler and programmer could be required to prove that the code > would not loop forever without calling yield. This is provably impossible. Reference "the halting problem". > Files could be accessed by partially mapping them to memory. See "man 2 mmap" for details. > Anyway, if anyone would comment on any of this vapourware, I'd like to > hear it - off the list if you think it's too off topic. Sorry, but your ideas have pretty much already been implemented (and in some cases discarded). :-/ -- Kirk Strauser
Attachment:
pgpMFsdkrephr.pgp
Description: PGP signature