Content deleted Content added
Tom.Reding (talk | contribs) m →{{Anchor|Linux API}}Linux API: Enum 1 author/editor WL; WP:GenFixes on |
m Task 18 (cosmetic): eval 16 templates: hyphenate params (4×); |
||
Line 15:
| url = http://www.linux.it/~rubini/docs/ksys/ksys.html
| title = Kernel System Calls
| date = 2006-11-02 |
| author = Alessandro Rubini | website = linux.it
}}</ref> It is composed out of the System Call Interface of the Linux kernel and the subroutines in the [[GNU C Library]] (glibc). The focus of the development of the Linux API has been to provide the ''usable features'' of the specifications defined in [[POSIX]] in a way which is reasonably compatible, robust and performant, and to provide additional useful features not defined in POSIX, just as the kernel– user space APIs of other systems implementing the POSIX API also provide additional features not defined in POSIX.
Line 22:
| url = https://lkml.org/lkml/2012/12/23/75
| title = Re: [Regression w/ patch] Media commit causes user space to misbahave (was: Re: Linux 3.8-rc1)
| date = 2012-12-23 |
| author = Linus Torvalds | publisher = [[Linux kernel mailing list]]
| quote = If a change results in user programs breaking, it's a bug in the kernel. We never EVER blame the user programs.
}}</ref> At the same time, Linux kernel developers have historically been conservative and meticulous about introducing new system calls.{{citation needed|date=November 2014}}
Much available [[free and open-source software]] is written for the POSIX API. Since so much more development flows into the Linux kernel as compared to the other POSIX-compliant combinations of kernel and C standard library,{{citation needed|date=July 2014}} the Linux kernel and its API have been augmented with additional features. As far as these additional features provide a technical advantage, programming for the Linux API is preferred over the POSIX-API. Well-known current examples are [[udev]], [[systemd]] and [[Weston (software)|Weston]].<ref>{{cite web |url=https://lwn.net/Articles/430598/ |title=Choosing between portability and innovation |publisher=[[LWN.net]] |date=2011-03-02}}</ref> People such as [[Lennart Poettering]] openly advocate to prefer the Linux API over the POSIX API, where this offers advantages.<ref name="fosdem1">{{cite web|url=https://archive.fosdem.org/2011/interview/lennart-poettering.html |publisher=fosdem.org |title=Interview: Lennart Poettering - Lennart Poettering will give a talk about "Systemd: beyond init" at FOSDEM 2011.|year=2011 |
At [[FOSDEM]] 2016, [[Michael Kerrisk]] explained some of the perceived issues with the Linux kernel's user-space API, describing that it contains multiple design errors by being non-extensible, unmaintainable, overly complex, of limited purpose, in violation of standards, and inconsistent. Most of those mistakes cannot be fixed because doing so would break the ABI that the kernel presents to the user space.<ref>{{cite web|url=https://archive.fosdem.org/2016/schedule/event/design_linux_kernel_api/|title=How to design a Linux kernel API|author=Michael Kerrisk|author-link=Michael Kerrisk|date=2016-01-31|
=== {{Anchor|System Call Interface|SCI}} System Call Interface of the Linux kernel===
|