Re: gnome



On  8 Dec, Jimen Ching wrote:
<snip>
> My conclusion still holds; it is a mistake to take a kernel level API and
> place it in a library.  This applies only to monolithic kernels.  Kernels
> like the HURD and Plan9 are perfect for this.  But those kernel support
> the old method as well.  So in my professional opinion, it is wiser to
> stick with the old method for now, until the new kernel philosophies are
> better understood.  Putting a kernel API in a library is just bad design,
> when applied to monolithic kernel.

This doesn't look like a "kernel level API" to me.  Perhaps you're
thinking that VFS *replaces* the kernel's FS handling.  That's not how
I understand it.

Unless I'm mistaken, libvfs is just a library that sits between the
application and the kernel and "pretends" that certain files are
actually filesystems.  libvfs replaces NO kernel functionality by
adding ANY filesystem-specific code.  Instead, it reads up FILES of a
certain FILE FORMAT (like tar) or uses network services (like FTP) and
"pretends" (for the sake of the application) that these things are
filesystems.

tar is a FILE FORMAT, not a FILE SYSTEM.  Just because VFS lets you open
a file directly from a tar file using a library call that LOOKS like a
kernel open() call doesn't mean that that functionality belongs in the
kernel.  If it does, then perhaps uudecode should go directly into the
kernel, and unshar and unzip, and...

Don't get me wrong.  If someone comes up with tarfs support (because
they think it's a good thing), then VFS can support that tarfs, on
*that*architecture* REGARDLESS of the specific tarfs API.  On the
others it's emulated.

And no, this is NOT a new question.  GGI and svgalib have BOTH had to
deal with similar problems: "What happens when the feature we want is
not available on a specific piece of hardware?"  The answer: emulate it
in software.

Granted, that's one level lower down, but the principle is the same
here: "What happens when the feature we want is not available in a
specific kernel?"  The anwer: emulate it in userspace.

Have fun,

Nathan 'Nato' Uno
  Nato@unos.net



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]