Re: that old GNU/Linux argument

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

 



On Wed, Jul 23, 2008 at 10:36:58PM -0300, Alexandre Oliva wrote:
> On Jul 23, 2008, Nifty Fedora Mitch <niftyfedora@xxxxxxxxxxxx> 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.

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux