Linux kernel interfaces

This is an old revision of this page, as edited by ScotXW (talk | contribs) at 21:48, 4 November 2013. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

 
The Linux kernel API versus the POSIX API. Maybe 1.000 people are working on the Linux kernel.

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.

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. Binary Kernel Interface.[1]

References

  1. ^ "The Linux Kernel Driver Interface".