Module. In der Linux-Sprache ist ein Modul dynamisch ladbarer Code. Module werden geladen (explizit oder implizit), initialisiert, deinitialisiert, entladen.
Devices. Hardware wird im Kernel als Device präsentiert, dem Softwaregegenstück zur physischen Hardware. Ein Device Special File ist die Schnittstelle zum Userspace.
Synchronisationsmechnismen. Während Prozesse im Userspace eigene Adressräume haben, hat der Kernel, der alle Prozesse repräsentiert, einen einzigen. Dadurch ist es sehr wichtig, die verfügbaren Synchronisationsmechnismen zu kennen und anwenden zu können. (Zum Beispiel: “Warum darf man in einer Interruptserviceroutine kein Mutex locken?”)
Kommunikationsmechnismen. Jeder kennt Wartebedingungen - liest man zum Beispiel von einem Socket, blockiert der Aufruf solange, bis Daten einlangen. Solche Wartebedingungen sind allgegenwärtig, und an der Basis jedes Betriebssystemes.
Interrupthandling. Interrupts sind im Prinzip Benachrichtigungen von Hardware an den Kernel. Es gibt verschiedene Arten, damit umzugehen, und noch mehr verschiedene Arten, wie man sein System unbrauchbar machen kann.