LWN.net Logo

Defining the kernel/user space interface

Defining the kernel/user space interface

Posted Oct 2, 2003 2:38 UTC (Thu) by cpeterso (guest, #305)
Parent article: Defining the kernel/user space interface

Defining a clear public API using information hiding is good module design. Linux's system calls are its API. So why are the kernel developers soooo reluctant to officially document the public system calls for the kernel? They don't want userspace apps including kernel headers because they contain both public and private code. They insist the glibc hand-create duplicate (and thus buggy and always behind) headers for use in userspace apps. I hope Linus will accept these changes soon in 2.6 or 2.7.


(Log in to post comments)

Re: Defining the kernel/user space interface

Posted Oct 2, 2003 11:34 UTC (Thu) by larryr (guest, #4030) [Link]

I think as a practical matter the interface(s) between the kernel and user processes is much more than just the system calls. My guess for why there is resistance to documenting things is if a documented interface changes, users will feel more justified complaining about it than if it was an undocumented feature; and conflicts between the real behavior of an interface and its documented behavior would be perceived as a "bug".

Re: Defining the kernel/user space interface

Posted Oct 2, 2003 14:28 UTC (Thu) by elanthis (subscriber, #6227) [Link]

And, of course, the interfaces *shouldn't* change. A properly designed interface can present a long-lasting stable API/ABI while still allowing the hackers to rearrange everything under the scenes (the biggest reason I've heard so far for not keeping a stable ABI).

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds