Programming Linux
Courses
googletest
kmalloc()
dup()
fork()
About
Blog
Topics and Dependencies
Links
A put-together of kernel related topics.
Fedora: Building the Kernel (linux.kernel.fedora_kernel_build)
Fedora: Building External Kernel Modules (linux.kernel.fedora_module_build)
Module Loading, Hello World (linux.kernel.modules_hello_world)
Character Device Basics (linux.kernel.cdev_manual)
Process vs.Atomic Context (linux.kernel.process_vs_atomic)
dup(), fork(), and Reference Counting (Stub) (linux.kernel.stub_sysprog_dup)
Modern Character Devices (linux.kernel.cdev_auto)
Doubly Linked Lists (linux.kernel.list)
Dynamic Memory: kmalloc() (linux.kernel.kmalloc)
File Operations on Character Devices (linux.kernel.cdev_file_operations)
Coding: First Functionality (linux.kernel.cdev_first_functionality)
Coding: Refactoring (linux.kernel.cdev_refactoring)
Mutex (and RT Mutex) (linux.kernel.mutex)
Coding: Multiple Devices (linux.kernel.multiple_devices)
Interrupts (linux.kernel.interrupt)
Coding: Fix Race Condition (Mutex) (linux.kernel.mutex_coding)
Raspberry Pi: Building the Kernel (linux.kernel.raspi_kernel_build)
Spinlock (vs. Mutex) (linux.kernel.spinlock)
Coding: Raspi GPIO Interrupts (linux.kernel.interrupt_coding)
Timer Management (linux.kernel.timer)
Coding: Fix Sleep While Atomic (linux.kernel.spinlock_coding)
Coding: Timed Event (linux.kernel.timer_coding)
Workqueue (linux.kernel.workqueue)
DMA (linux.kernel.dma)
IO Memory (linux.kernel.iomemory)
Accessing Userspace Memory (linux.kernel.usermem)
Network Devices (linux.kernel.netdev)
PCI (linux.kernel.pci)
Waiting for Something (linux.kernel.waitqueue)
https://www.kernel.org/doc/
https://www.kernel.org/doc/html/latest/
LDD3, O’Reilly