General Flashcards
In welcher Programmiersprache ist der Linux Kernel geschrieben und warum?
Hauptsächlich in C. Weil C hardwarenah & effizient ist.
Wenige Zeilen Assembler für:
- Hardware Initialisierung
- Interrupts
- Zeitkritische Funktionen
Warum muss zum Compilieren des Linux Kernels ein GNU Compiler verwendet werden?
Weil der Kernel auf besondere Funktionen des GNU Compilers angewiesen ist.
Wie arbeitet der Kernel mit Gleitkommazahlen?
Gar nicht! Mehr Aufwand durch Speichern der Floating-Point-Register.
Welche Dateien sind für die Konfiguration des Linux Kernels wichtig?
Das Makefile des Kernels und die .config-Datei die durch das Makefile erstellt wird.
Welche Tools stehen Ihnen für die Konfiguration des Kernels zur Verfügung?
Das Makefile des Kernels:
- make config
- make menuconfig
- make xconfig
- make gconfig
Nennen Sie drei wesentliche Unterschiede zwischen einem Embedded Device und einem Standard System.
Im Gegesatz zu einem PC hat ein Embedded System
… meist nur eine einzige Aufgabe (1)
… neben technischer auch zeitliche Anforderung (2)
… eine beschränkte Größe und Leistung (3)
… einen bregrenzten Speicher und Preis (3)
….eine hohe Langlebigkeit (3)
Nennen Sie drei Nachteile bei der Verwendung eines Linux auf einem Embedded Device.
- Hat eine lange Bootzeit (im Vergleich zu Microcontrollern)
- Mindestanforderungen an die Hardware: 32Bit, >4MB RAM
- (Noch) Einschränkungen im Safety-Critical und Realtime Bereich.
Erklären Sie den Unterschied zwischen der uClibc, glibc. Gehen Sie auch kurz auf die Vor- und Nachteile ein.
- glibc ist der Standard (wichtigste Funktijnen)
- uClibc ist kleiner und für die Embedded-Umgebung gedacht
Wie läuft der Kernel BUILD Prozess im Detail ab?
.config auslesen und die Abhängigkeiten der Module auflösen.
Warum benutzt man ‘static’ in Kernelmodulen?
Um im Namensraum Konflikte zu vermeiden.
Stichwort: Namespace Pollution
Wozu benutzt man ‘make oldconfig’?
- Nützlich um die .config Datei einer früheren Kernel-Version upzudaten.
- Gibt Warnung aus, für nicht mehr enthaltene Optionen.
Fragt nach Werten für neue Optionen
Was macht ‘make allnoconfig’?
- Generiert minimale Kernel Konfiguration.
- Idealer Startpunkt für Embedded Systems!
- Setzt nur die unbedingt benötigten Optionen zum Kompilieren.
Über welche Technologien lassen sich kritische Abschnitte schützen?
- Mutex
- Semaphor
- Spinlock
- Test and Set
- Interruptsperre (1-Kern-Prozessor)
- Monitor
Nennen Sie zwei Ausprägungen von Kernel-Threads.
- Workqueue
- Event-Workqueue
Nennen sie die drei Systemkomponenten eines Embedded Linux!
- Firmware (+ 1.Bootloader)
- Bootloader
- Kernel & RootFS