Difference between revisions of "Template:Linux layers"
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%" | < | + | | 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;" |< | + | | 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
| 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.) | ||||||
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. |