Difference between revisions of "Template:Linux layers"

From blackwiki
Jump to navigation Jump to search
imported>François Robere
(Clarify)
 
(2 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
! rowspan=3 style="width: 10%" | User mode
 
! rowspan=3 style="width: 10%" | User mode
 
| colspan=1 style="width: 10%" | '''User applications'''
 
| colspan=1 style="width: 10%" | '''User applications'''
| colspan=5 style="width: 80%" | For example, [[Bourne-again shell|bash]], [[LibreOffice]], [[GIMP]], [[Blender (software)|Blender]], [[0 A.D. (video game)|0 A.D.]], [[Mozilla Firefox]], etc.
+
| colspan=5 style="width: 80%" | ''[[Bourne-again shell|bash]], [[LibreOffice]], [[GIMP]], [[Blender (software)|Blender]], [[0 A.D. (video game)|0 A.D.]], [[Mozilla Firefox]], ...''
 
|-
 
|-
| style="width: 20%; background-color: #ffffff" | Low-level system components:
+
| style="width: 20%" | '''System components'''
| colspan=1 style="width: 18%; background-color: #def"| '''System [[Daemon (computing)|daemons]]''':<br>''[[systemd]], [[runit]], logind, networkd, [[PulseAudio]], ...''
+
| colspan=1 style="width: 18%; background-color: #def"| '''[[Daemon (computing)|Daemons]]''':<br>''[[systemd]], [[runit]], logind, networkd, [[PulseAudio]], ...''
| colspan=1 style="width: 18%; background-color: #def"| '''[[Windowing system]]''':<br>''[[X11]], [[Wayland (display server protocol)|Wayland]], [[SurfaceFlinger]] (Android)''
+
| colspan=1 style="width: 18%; background-color: #def"| '''[[Windowing system|Window manager]]''':<br>''[[X11]], [[Wayland (display server protocol)|Wayland]], [[SurfaceFlinger]] (Android)''
| colspan=2 style="width: 36%; background-color: #FFFDD0" | '''Other libraries:'''<br>''[[GTK+]], [[Qt (software)|Qt]], [[Enlightenment Foundation Libraries|EFL]], [[Simple DirectMedia Layer|SDL]], [[Simple and Fast Multimedia Library|SFML]], [[FLTK]], [[GNUstep]]'', etc.
+
| colspan=1 style="width: 18%; background-color: #def"| '''Graphics''':<br>''[[Mesa (computer graphics)|Mesa]]'', ''[[AMD Catalyst]], ...''
| colspan=1 style="width: 18%; background-color: #def"| '''Graphics''':<br>''[[Mesa (computer graphics)|Mesa]]'', ''[[AMD Catalyst]]'', ...
+
| colspan=2 style="width: 36%; background-color: #FFFDD0" | '''Other libraries:'''<br>''[[GTK+]], [[Qt (software)|Qt]], [[Enlightenment Foundation Libraries|EFL]], [[Simple DirectMedia Layer|SDL]], [[Simple and Fast Multimedia Library|SFML]], [[FLTK]], [[GNUstep]], ...''
 
|- style="background-color: #dfd"
 
|- style="background-color: #dfd"
 
| colspan=1 style="width: 10%" | '''[[C standard library]]'''
 
| colspan=1 style="width: 10%" | '''[[C standard library]]'''
Line 17: Line 17:
 
! 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;" |<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){{Citation needed|reason=Have any of the maintainers publicly expressed the intention to be 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){{Citation needed|reason=Have any of the maintainers publicly expressed the intention to be compatible?|date=October 2020}}
 
|- 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

Latest revision as of 14:26, 29 December 2020

Various layers within Linux, also showing separation between the userland and kernel space
User mode User applications bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, ...
System components Daemons:
systemd, runit, logind, networkd, PulseAudio, ...
Window manager:
X11, Wayland, SurfaceFlinger (Android)
Graphics:
Mesa, AMD Catalyst, ...
Other libraries:
GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep, ...
C standard library open(), exec(), sbrk(), socket(), fopen(), calloc(), ... (up to 2000 subroutines)
glibc aims to be fast, musl and uClibc target embedded systems, bionic written for Android, etc. All aim to be POSIX/SUS-compatible.
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)[citation needed]
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.: