Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
1
Einfuerung in Kernel Programmierung
Michael Blizek
2
About Hauptsaechlich C/keine glibc z.B.: nicht printf, sondern printk
keine Gleitkommazahlen Programmfluss Vorsicht, Interrupts Locking Speicherverwaltung
3
Programmfluss MODULE_INIT/MODULE_EXIT System calls Callbacks
Threads, Timer, Workqueues, ...
4
Interrupts Interrupt ==> Task wird unterbrochen
Interrupts abgedreht ==> Interrupts "gequeued" Wo? Interrupt-handler, Timer local_irq_disable/enable(), local_irq_save/restore() kein sleep() in Interrupts
5
Locking Interrupts aufgedreht: mutex Interrupts abgedreht: spinlock
beides: local_irq_save/restore, spinlock
6
Speicherverwaltung physischer Speicher, nicht Virtueller kmalloc/kfree
GFP_KERNEL, GFP_ATOMIC, GFP_DMA, GFS_NOIO, GFP_NOFS, GFP_HIGH slab caches Requests > 4096 Bytes ... nicht gut kein Speicher ==> "return 0" 0-Pointer dereferenzierung ==> security bug copy_to_user(), copy_from_user()
7
Siehe auch /usr/src/linux/Documentation www.kernel.org/doc/
kernelnewbies.org
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.