Content deleted Content added
redirect this collection of (outdated?) links to Linux kernel |
Template:Linux because we still do not have a Template:Linux kernel, http://man7.org/tlpi/, distinguish between the User-kernel API (never breaks) and the In-kernel API (there is none) !!!!! |
||
Line 1:
There are two types of [[Application programming interface]] (API) in the [[Linux kernel]] that are not to be confused: "user-kernel" API and "in-kernel" API.
== User-kernel API ==
[[File:Linux kernel API.svg|thumb|300px|The '''Linux kernel API''' versus the [[POSIX]] API.]]
The User-kernel API is the API that allows programs in user-space to access system resources and services of the Linux kernel. This API, by choice, never breaks. The [[POSIX]] API is only a small part of the Linux kernel API.
Many available [[free and open-source software]] is written with the POSIX API. But since the last POSIX version is from 2008, and since so much more development is going on with the Linux kernel as compared to the other POSIT-compatible kernel, more programs pop up, that are written with the Linux kernel API in mind. Well-known examples are [[systemd]] and [[Weston (software)|Weston]].
People like e.g. [[Lennart Poettering]] openly advocate to write software for the Linux kernel API instead of POSIX, where this offers advantages.
== In-kernel API ==
By choice, the Linux kernel has no in-kernel API (a.k.a. [[Application binary interface|Binary Kernel Interface]].<ref>{{cite web |url=https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/stable_api_nonsense.txt |title=The Linux Kernel Driver Interface}}</ref>
== References ==
{{reflist}}
== External links ==
* [http://www.gnugeneration.com/books/linux/2.6.20/kernel-api/ The API of Linux kernel 2.6.20] – sadly no current version available
* [http://man7.org/tlpi/ The Linux Programming Interface]
* [http://www.makelinux.net/kernel_map Interactive Linux kernel map] with main API functions and structures
* [http://www.makelinux.net/ldd3 Linux Device Drivers] by Jonathan Corbet, Greg Kroah-Hartman and Alessandro Rubini, 3rd edition
* [http://isis.poly.edu/kulesh/stuff/src/klist/ Linux Kernel Linked List Explained]
{{Linux}}
{{DEFAULTSORT:Linux Kernel Api}}
[[Category:Linux]]
{{Linux-stub}}
|