Template:Linux layers
From SETV Springfield Technical Wiki
User mode | User applications | For example, bash, LibreOffice, Apache OpenOffice, Blender, 0 A.D., Mozilla Firefox, etc. | ||||
---|---|---|---|---|---|---|
Low-level system components: | System daemons: systemd, runit, logind, networkd, soundd, ... |
Windowing system: X11, Wayland, Mir, SurfaceFlinger (Android) |
Other libraries: GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep, etc. |
Graphics: Mesa, AMD Catalyst, ... | ||
C standard library | open(), exec(), sbrk(), socket(), fopen(), calloc(), ... (up to 2000 subroutines) glibc aims to be POSIX/SUS-compatible, uClibc targets embedded systems, bionic written for Android, etc. | |||||
Kernel mode | Linux kernel | stat, splice, dup, read, open, ioctl, write, mmap, close, exit, etc. (about 380 system calls) The Linux kernel System Call Interface (SCI, aims to be POSIX/SUS-compatible) | ||||
Process scheduling subsystem |
IPC subsystem |
Memory management subsystem |
Virtual files subsystem |
Network subsystem | ||
Other components: ALSA, DRI, evdev, LVM, device mapper, Linux Network Scheduler, Netfilter Linux Security Modules: SELinux, TOMOYO, AppArmor, Smack | ||||||
Hardware (CPU, main memory, data storage devices, etc.) |

Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this template. |