Difference between revisions of "Template:Linux layers"

From blackwiki
Jump to navigation Jump to search
imported>Gdominik100
(Include the musl C Library for embedded systems,)
imported>Rchard2scout
m (Replace obsolete <tt> tags. You can help!)
Line 13: Line 13:
 
|- style="background-color: #dfd"
 
|- style="background-color: #dfd"
 
| colspan=1 style="width: 10%" | '''[[C standard library]]'''
 
| colspan=1 style="width: 10%" | '''[[C standard library]]'''
| colspan=5 style="width: 80%" | <tt>open()</tt>, <tt>exec()</tt>, <tt>sbrk()</tt>, <tt>socket()</tt>, <tt>fopen()</tt>, <tt>calloc()</tt>, ... (up to 2000 [[subroutine]]s)<br>''[[GNU C Library|glibc]]'' aims to be [[POSIX]]/[[Single UNIX Specification|SUS]]-compatible, ''[[musl]]'' and ''[[uClibc]]'' target embedded systems, ''[[Bionic (software)|bionic]]'' written for [[Android (operating system)|Android]], etc.
+
| colspan=5 style="width: 80%" | <code>open()</code>, <code>exec()</code>, <code>sbrk()</code>, <code>socket()</code>, <code>fopen()</code>, <code>calloc()</code>, ... (up to 2000 [[subroutine]]s)<br>''[[GNU C Library|glibc]]'' aims to be [[POSIX]]/[[Single UNIX Specification|SUS]]-compatible, ''[[musl]]'' and ''[[uClibc]]'' target embedded systems, ''[[Bionic (software)|bionic]]'' written for [[Android (operating system)|Android]], etc.
 
|-
 
|-
 
! rowspan=3 style="width: 10%" | Kernel mode
 
! rowspan=3 style="width: 10%" | Kernel mode
 
| rowspan=3 style="width: 10%" | '''[[Linux kernel]]'''
 
| rowspan=3 style="width: 10%" | '''[[Linux kernel]]'''
| colspan=5 style="width: 80%; background-color: #ffb7b7;" |<tt>[[stat (system call)|stat]]</tt>, <tt>[[splice (system call)|splice]]</tt>, <tt>[[dup (system call)|dup]]</tt>, <tt>[[read (system call)|read]]</tt>, <tt>[[open (system call)|open]]</tt>, <tt>[[ioctl]]</tt>, <tt>[[write (system call)|write]]</tt>, <tt>[[mmap]]</tt>, <tt>[[close (system call)|close]]</tt>, <tt>[[exit (system call)|exit]]</tt>, etc. (about 380 system calls)<br>The Linux kernel [[System call|System Call Interface]] (SCI, aims to be [[POSIX]]/[[Single UNIX Specification|SUS]]-compatible)
+
| colspan=5 style="width: 80%; background-color: #ffb7b7;" |<code>[[stat (system call)|stat]]</code>, <code>[[splice (system call)|splice]]</code>, <code>[[dup (system call)|dup]]</code>, <code>[[read (system call)|read]]</code>, <code>[[open (system call)|open]]</code>, <code>[[ioctl]]</code>, <code>[[write (system call)|write]]</code>, <code>[[mmap]]</code>, <code>[[close (system call)|close]]</code>, <code>[[exit (system call)|exit]]</code>, etc. (about 380 system calls)<br>The Linux kernel [[System call|System Call Interface]] (SCI, aims to be [[POSIX]]/[[Single UNIX Specification|SUS]]-compatible)
 
|- style="background-color: #ffb7b7;"
 
|- style="background-color: #ffb7b7;"
 
| style="width: 18%;" | [[Scheduling (computing)|Process scheduling]]<br>subsystem
 
| style="width: 18%;" | [[Scheduling (computing)|Process scheduling]]<br>subsystem

Revision as of 13:20, 17 December 2019

Various layers within Linux, also showing separation between the userland and kernel space
User mode User applications For example, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, etc.
Low-level system components: System daemons:
systemd, runit, logind, networkd, PulseAudio, ...
Windowing system:
X11, Wayland, 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, musl and uClibc target 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.)
Template documentation[view] [edit] [history] [purge]

See also an SVG equivalent at File:Free and open-source-software display servers and UI toolkits.svg.

To do

Missing from both versions are: Mesa (computer graphics) and Advanced Linux Sound Architecture.

Also please note, that there are Wikipedia contents for free and open-source device drivers, e.g.: