Linux kernel

Linux kernel
Tux the penguin, mascot of Linux[1]
Linux 3.0.0 boot.png
Linux kernel 3.0.0 booting
DeveloperLinus Torvalds and thousands of collaborators
Written inC and assembly[2]
OS familyUnix-like
Initial release0.02 (5 October 1991 (1991-10-05))
Latest release5.7.7[3] (30 June 2020 (2020-06-30)) [±]
Latest preview5.8-rc4[4] (6 July 2020 (2020-07-06)) [±]
Repository Edit this at Wikidata
Available inEnglish
Kernel typeMonolithic
LicenseGNU GPLv2 (only) with some code under compatible GPL variants or under permissive licenses like BSD, MIT, etc...[5]

The Linux kernel, developed by contributors worldwide, is a free and open-source, monolithic, modular (i.e., it supports the insertion and removal at runtime of loadable kernel objects[6]), Unix-like operating system kernel.

It is deployed on a wide variety of computing systems, such as embedded devices, mobile devices (including its use in the Android operating system), personal computers, servers, mainframes, and supercomputers.[7]

The Linux kernel was conceived and created in 1991 by Linus Torvalds[8] for his personal computer and with no cross-platform intentions, but has since ported to a wide range of computer architectures. Notwithstanding this, the Linux kernel is highly optimized with the use of architecture specific instructions (ISA),[9] therefore portability isn't as easy as it is with other kernels (e.g., with NetBSD, that as of 2019 supports 59 hardware platforms).

Linux was soon adopted as the kernel for the GNU Operating System,[10] which was created as an open source and free software, and based on UNIX as a by-product of the fallout of the Unix wars.[11] Since then it has spawned a plethora of operating system distributions, commonly also called Linux,[12] although, formally, the term "Linux" refers only to the kernel.[13]

Day-to-day development discussions take place on the Linux kernel mailing list (LKML). Linux as a whole, as it is clearly stated in the COPYING file,[14] is released under the GNU General Public License version 2 (GPLv2), but it also contains several files under other compatible licenses[5] and an ad hoc exemption for the User-space API header files (UAPI).

The Linux ABI (i.e., the Application Binary Interface which also includes Application Program Interface or API at the code source level)[15] between the kernel and the user space has four degrees of stability (stable, testing, obsolete, removed),[16] however the system calls are expected to never change in order to not break the userspace programs that rely on them.[17] As far as in-kernel APIs are regarded, there's no guarantee of stability. Device drivers included in the mainline Linux must be kept updated by their maintainers in order to stay at pace with the kernel evolution. Furthermore, the interface between the kernel and loadable kernel modules (LKMs), unlike in many other kernels, is not meant to be stable by design.[18]

  1. ^ "Linux Logos and Mascots". Linux Online. 2008. Archived from the original on 15 August 2010. Retrieved 11 August 2009.
  2. ^ The Linux Kernel Open Source Project on Open Hub: Languages Page
  3. ^ Levin, Sasha (1 July 2020). "Linux 5.7.7". LKML (Mailing list). Retrieved 1 July 2020.
  4. ^ Torvalds, Linus (6 July 2020). "Linux 5.8-rc4". LKML (Mailing list). Retrieved 6 July 2020.
  5. ^ a b "Linux kernel licensing rules — The Linux Kernel documentation". Retrieved 6 January 2020.
  6. ^ Love, Robert (2010). Linux kernel development. Addison-Wesley. p. 338. ISBN 978-0-672-32946-3. OCLC 268788260.
  7. ^ Cite error: The named reference top500stats was invoked but never defined (see the help page).
  8. ^ Richardson, Marjorie (1 November 1999). "Interview: Linus Torvalds". Linux Journal. Retrieved 20 August 2009.
  9. ^ Love, Robert (2010). Linux Kernel Development. USA: Addison Wesley. pp. 379–380. ISBN 9780672329463.
  10. ^ Williams, Sam (March 2002). "Chapter 9: The GNU General Public License". Free as in Freedom: Richard Stallman's Crusade for Free Software. O'Reilly. ISBN 0-596-00287-4. Retrieved 12 November 2010.
  11. ^ Unix System Laboratories v. Berkeley Software, 832 F. Supp. 790 (D.N.J. 1993).
  12. ^ "README".
  13. ^ Love, Robert (2010). Linux kernel development. Addison-Wesley. p. 4. ISBN 978-0-672-32946-3. OCLC 268788260.
  14. ^ "Linux source code: COPYING (v5.4.8) - Bootlin". Retrieved 6 January 2020.
  15. ^ "Binary Compatibility". Retrieved 18 April 2020.
  16. ^ "README\ABI\Documentation - kernel/git/torvalds/linux.git - Linux kernel source tree". Retrieved 18 April 2020.
  17. ^ "syscalls\stable\ABI\Documentation - kernel/git/torvalds/linux.git - Linux kernel source tree". Retrieved 18 April 2020.
  18. ^ Cite error: The named reference stable-api-nonsense was invoked but never defined (see the help page).

Powered by 654 easy search