DragonFly kernel List (threaded) for 2003-10
Re: Microkernel architecture?
Pedro Giffuni wrote:
Gary Thorpe wrote:
There is nothing special about running applications in the priviledged
mode of the processor (if it has any, and they will need this to do
tasks typically relegated to an OS). Thats like saying AmigaOS is better
than VMS....it might be for certain tasks, but unless you have some sort
of inflexible embedded design you may need all those other features that
a modern OS provides.
Yeah, an exokernel sounds cool...until you realize that every single
application needs to be linked into libraries that implement an OS
basically. What does that do for memory usage? How protected is the
machine from malicious/errant applications? Security? IPC?
You can use tricks to make this issues irrelevant (dynamic preloading, stack
protection). That said I am not defending the Exokernel design, I'm just pointing out
that if the idea behind DragonFlyBSD is turning some of the kernel interfaces into
userland APIs we might as well look at some other systems that made it.
How many commercial sites use TUX, Linux's in-kernel web server that is
very much faster than the others for the platform? Some probably do, but
most admins think that the risk introduced when bugs are found (and they
will be found) outweigh any benefits. I would say the study is unfair,
unless NCSA was particularly known as a speed demon among web servers in
What happens when a trojan application is run on an exokernel OS? Can
there be such a thing as priviledge seperation, since all apps have
access to OS routines?
A microkernel makes it possible to modularize the OS, but an exokernel
sounds like it forces all the applications to be monolithic OS+app
hybrids. The speed comparisons on the ExOS web site don't even use a
particularly fast web server for BSD (or is NCSA now considered high
performance as well as obsolete?).
The study is old, but it does look fair. It's rather funny, I just heard a linux
teacher around here saying that all the webservers should be implemented in the kernel
I see that the exokernel OS uses the softdep filesystem as its default,
but the systems used to develop the first prototypes seem to be
UNIX-based (circa 1995). I would have that a userland OS would have made
it easier to develop and it is this which confused the association for me.
Pedro Giffuni wrote:
This is off topic, (but just for reference and because there is not
technical-chat list ...)
when you mentioned you wanted a userland VFS API, I recalled someone already did
that: in fact, they turned everything into libraries and made the kernel very
small... they called it an Exokernel:
They invented softupdates, BTW :).
I believe Sun funding some research into improving FFS and the resultant
code first emerged on BSD:
No mention of exokernels...was it used for the development?
Check well the reference for Kirk's work. In fact, not all the improvements have found
their way into the BSD kernel: