Difference between revisions of "Template:Linux layers"
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%" | | + | | 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% | + | | style="width: 20%" | '''System components''' |
| − | | colspan=1 style="width: 18%; background-color: #def"| ''' | + | | 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]] | + | | 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
| 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.) | ||||||
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.:
- Free and open-source graphics device drivers
- Free and open-source device drivers: audio
- Free and open-source device drivers: IEEE 802.11
- Maybe Lines of code could be used to illustrate the size/extent of a library.
| The above documentation is transcluded from Template:Linux layers/doc. (edit | history) Editors can experiment in this template's sandbox (edit | diff) and testcases (create) pages. Please add categories to the /doc subpage. Subpages of this template. |