that old GNU/Linux argument

Nifty Fedora Mitch niftyfedora at niftyegg.com
Thu Jul 24 19:18:14 UTC 2008


On Wed, Jul 23, 2008 at 10:36:58PM -0300, Alexandre Oliva wrote:
> On Jul 23, 2008, Nifty Fedora Mitch <niftyfedora at niftyegg.com> wrote:
> 
> > systematic interface between the kernel services and the applications.
> > This interface consists of an API and and ABI.
> 
> Not really.  It's just an ABI, really.  It's GNU libc's job to offer
> an API for applications and translate that into the system calls
> defined in the kernel ABI.  There's no such thing as a kernel header
> file you can include from userland and start issuing calls into the
> kernel.  Kernel developers will tell you that including kernel headers
> from userland is not kosher.
> 
> Of course GNU libc has its own ABI as well, and that's what
> applications for GNU/Linux are compatible with, after being built
> using the GNU libc API.  As for the kernel ABI, nothing but GNU libc
> really cares about it, since pretty much nobody else issues syscalls
> directly.
....
> Red Hat Compiler Engineer   aoliva@{redhat.com, gcc.gnu.org}

Yes,
At some point it is all ABI.
The list of system calls (kernel services) is the API and GNU libc
does include some header file to get from the user space API/ABI to
kernel space.

Recall, the name of this line that joins the kernel (Linux) and
application space (think HelloWorld, X-windows and more) is the "question
I am asking".  Of interest the "omissions" in the list of system calls 
commonly show up as hardware specific ioctl() side doors.

Perhaps the answer is as simple as "glibc".  I suspect that Posix is slightly more 
apropos.




-- 
	T o m  M i t c h e l l 
	Looking for a place to hang my hat.




More information about the fedora-list mailing list