User Tools

Site Tools


kernel

Kernel

The kernel kernel is stored in boot:

  • /boot/vmlinuz - kernel image
  • /boot/config - configuration
  • /boot/system.map - symbols table

The kernel modules are stored in /lib/modules:

  • /lib/modules/

Every distribution includes the LInux Kernel.

Linux Components

  • Kernel
    • executable
    • kernel modules
  • User space
    • coreutils package contains GNU software, things like mv, ls, rm, etc
  • Desktop environment
    • not needed for servers
    • optional for workstations
    • gnome, kde, etc

The kernel source code lives in the linux repository at github owned by Linus Torvalds. https://github.com/torvalds

Official releases are hosted at https://www.kernel.org/

There are four different levels of release

  • longterm - once a year, last one 5.4 on 2019-11-24, EOL Dec 2025
  • stable
  • mainline
  • prepatch

Each distribution vendor maintains its own set of releases. The kernel release number has two parts, before and after the dash. The part after the dash is added by the distribution vendor.

$ uname -r # show distribution kernel release number 
5.4.0-45-generic

If kernel release number is 5.4.0-45-generic, then

  • 5.4.0-45-generic is the release per Ubuntu
  • 5.4.0 is the release per the kernel developers used as starting point by Ubuntu

5.4.63 is the latest longterm maintenance release from the developers as of 2020 Sep 5

Hardware to Software

The purpose of the kernel is to make the bridge between hardware and software.

Resources, devices, virtual devices

  • CPU
  • memory
  • disk I/O
  • network

Interface

kernel API https://www.kernel.org/doc/htmldocs/kernel-api/index.html

System Calls The Linux API cross over from user space to kernel space using software interrupts or traps userspace programs call kernel functions

Library Calls glibc - the GNU C library

Commands Programs the a human user can execute.

reverse, graphic, top level command, bottom level kernel api exec, read, kill, cp, ls, sh

kernel.txt · Last modified: 2021/01/28 05:46 by 127.0.0.1

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki