Gullible Jones wrote:[serious]
This sounds like Xen, except Xen instead uses one of the virtualized domains to provide device drivers. Typically that would be a Linux kernel, sometimes NetBSD, and IIRC it does run in ring 1. (Though the other kernels do as well, I think.)
Also, your OS has already been done, using Xen: https://wiki.qubes-os.org/wiki
Though Qubes is more of a paranoid desktop OS, single-user and with an isolation based security model. (Like Android, kind of.) Also it can run Windows programs thanks to Xen and hardware virtualization. Personally I think it's utterly the wrong approach to desktop security, but the people at Invisible Things Labs know a lot more about this stuff than me, so...
[/serious]
FZR1KG wrote:If you keep that in mind and never break from the above, you will write an O/S that will be stable, small and secure...unless you are really really retarded and I can't see how it could be messed up but, retards can be so damned innovative.
You can do that in 100 rings, or 1 ring.
Only the difficulty in implementation changes and, sorting out address space and ,I/O space infractions, can be done on any system with a little cheap hardware. That is really CPU design 101, its that basic.
Gullible Jones wrote:FZ, what you're describing sounds to me a lot like RTOS stuff. Lynxworks, PikeOS, that sort of thing. Also maybe seL4? But sadly these are all hugely expensive. (Except for seL4, but I'm not sure if anything useful runs on that; I'll have to do some DuckDuckGoing.)
I could be misinterpreting things though. I'm very much a Linux geek, and while Linux has a lot of shortcomings my time using it has influenced my thinking on OSes quite a bit.
OT: whenever I hear about logical partitioning, I think of the Joe Haldeman short story "None So Blind," which was published ~20 years ago. IMO it should be required reading material at some point in college, just for its social relevance in this age.
Sigma_Orionis wrote:Yes, what Zee is describing is what a kernel is supposed to be like, thread scheduling, message passing, memory management etc. everything else is supposed to go elsewhere. That's how I've heard that RTOSs work and given Zee's background in hardware it's natural that what he tends to lean towards stuff like that. And, as he says, it's nothing new.
Hell, that was what MicroKernels were supposed to be about, what this mythical beast called the Cache Kernel is supposed to improve.
That's the general idea. what I copied from the Freedows thing was the idea that "application kernels" would be in place to provide compatibility with all the stuff that exists. "native" stuff would be running on a different "application kernel" on top of the Cache kernel, on top of that "application kernel" there would be all the userland stuff that would be used to manage the system. "native" (ie new) applications would run on another copy of that "application kernel". And all of that requires that this "Cache Kernel" be what Zee proposes: "small, simple, tight and efficient." the idea of taking advantage of the hardware ring architecture is to help isolate the stuff that misbehaves (particularly the current stuff that everyone wants and its written the way we know it is) from crashing the system.
So basically we have this "Cache Kernel" that ONLY does what a kernel is supposed to do, on top of that there would be "application kernels" (say a linux kernel modified the way the Colinux kernel is, not to touch the hardware directly, but THROUGH the underlying cache kernel) and there would be any number of those running simultaneously, as many as the user wants or as the hardware is able to handle.
It does sound a lot like Hypervisor on top of an RTOS, the difference is that there would not need to emulate hardware, except for the non-intel stuff.
Sigma_Orionis wrote:Well yeah, the idea would be to use as much of what the Open Source community has done as reasonably possible.
I was thinking of UDOS (as in Universal DOS) but ZeeDos has an interesting ring to it and to paraphrase SUN's Line on ZFS "The Last Word on Operating Systems"
Damn, we just came up with a slogan and a name without writing a single line of code. We're now officially Vaporware
SciFiFisher wrote:You need a marketing guy.
Operating system research has endeavored to develop micro-kernels that provide modularity, reliability and security improvements over conventional monolithic kernels. However, the resulting kernels have been slower, larger and more error-prone than desired. These efforts have also failed to provide sufficient application control of resource management required by sophisticated applications.
This paper describes a caching model of operating system functionality as implemented in the Cache Kernel, the supervisor-mode component of the V++ operating system. The Cache Kernel caches operating system objects such as threads and address spaces just as conventional hardware caches memory data. User-mode application kernels handle the loading and writeback of these objects, implementing application-specific management policies and mechanisms. Experience with implementing the Cache Kernel and measurements of its performance on a multiprocessor suggest that the caching model can provide competitive performance with conventional monolithic operating systems, yet provides application-level control of system resources, better modularity, better scalability, smaller size and a basis for fault containment.
Users browsing this forum: No registered users and 0 guests