Linux Kernel Flashcards
Was sind die vier Bestandteile der Linux Kernels?
- Prozess Management
- Speicher Management
- E/A Subsystem
- Gerätetreiber
Was passiert im Prozess Management?
- Verteilung der Ressource CPU.
- Single-Core-Scheduling.
- Multi-Core-Scheduling
Was passiert im Speicher Management?
- Adressumsetzung.
- Speicherschutz.
- Virtuellen Speicher (Swap-Space).
- Extended Memory.
Für was ist das E/A Subsystem verantwortlich?
- Einheitliches Programmierinterface (API) für den Zugri!
auf Dateien und Geräte. - Systemkonforme Integration von Hardware in den
Kernel (Treiberinterface). - Performanter Zugriff auf E/A (Stichworte Page-Cache,
E/A-Scheduling). - Filesysteme.
Was ermöglichen Gerätetreiber?
- Standardisierter Zugriff auf Hardware.
- Für jedes Peripheriegerät, das aus der User-Ebene
angesprochen werden soll, muss ein Gerätetreiber
existieren. - Kernel-Komponenten, somit auch die
Gerätetreiber, haben Zugriff auf den Kernel-
Adressraum
Was ist ein Kernel Patch?
- Eine diff Datei die den Quellcode des Kernels verändert
Was sind Besonderheiten des Linux Kernels?
Kein LIBC Funktionen - Standalone - Kein User Code Keine Gleitkommazahlen -> emuliert Alle Werte sind static um Nameskonflikte zu vermeiden
Wo werden alle Kernel Konfigurationsparameter gespeichert?
im .config file
Wie konfigurieren sie den Kernel?
make config
make menuconfig
make xconfig
make gconfig
Wo lässt sich die Konfig aus dem laufenden Kernel auslesen?
cat proc/config.gz
Wie ist der Kernel aufgebaut?
Der Kernel ist modular aufgebaut
Treiber auch einkompilierbar
Welche Befehle beschleunigen den Kernel Bauprozess?
make -j x
ccache
distcc
Was entsteht beim Kernel Bauprozess?
Erstellung immer aus vorherigem Object (Bootstrap):
vmlinux komplettes ELF Binary (’kernel proper’), wird
unabhängig von der Zielarchitektur erstellt.
vmlinux.bin The same as vmlinux, but in a bootable raw binary file format. All symbols and relocation information is discarded.
piggy.gz/piggy.o: ’vmliunx.bin’ komprimiert, bzw. als linkbares Objekt (.o)
+
Target Objects: head.o, misc.o Startup-Code und
Kernel Entpack-Code
=>
linker -> arch/:
zImage/bzImage: komprimiertes Kernel Image für Bootlader
Was ist ein RootFS und was beeinhaltet es?
OS benötigt FS zum Betrieb
System hat 2 Images Kernel, RootFS
Beeinhaltet:
Systemprogramme
Konfigurationsso!ware
Applikationen
Wichtige Bootparameter?
initrd= Initial RAM Disk Image (startet dort /linuxrc)
init= Angabe eines alternativen Binaries sta! ’/sbin/init’
(Block-Device Default)
rdinit= Angabe eines alternativen Binaries statt ’/init’ (initramfs Default)