Skip to main content
Back to top
Ctrl
+
K
Training Courses
About
Blog
Search
Ctrl
+
K
Search
Ctrl
+
K
Training Courses
About
Blog
Section Navigation
Course Descriptions
Pricing, Organizational
Log Of Past Courses
Complete Slide Material
Linux: Introduction, Userland/Kernel Programming, Hardware/Embedded
Linux Basics
Linux Systems Programming
SSH: Secure Shell
Toolchain, And Cross Development
Linux Hardware Interfaces
Linux Kernel Driver Development
Modern Character Devices
File Operations on Character Devices
Coding: First Functionality
Character Device Basics
Coding: Multiple Devices
Coding: Refactoring
DMA
Fedora: Building the Kernel
Fedora: Building External Kernel Modules
Module Loading, Hello World
Coding: Raspi GPIO Interrupts
Interrupts
IO Memory
Dynamic Memory:
kmalloc()
Doubly Linked Lists
Coding: Fix Race Condition (Mutex)
Mutex (and RT Mutex)
Network Devices
PCI
Process vs.Atomic Context
Raspberry Pi: Building the Kernel
Coding: Fix
Sleep While Atomic
Spinlock (vs. Mutex)
dup()
,
fork()
, and Reference Counting (Stub)
Coding: Timed Event
Timer Management
Accessing Userspace Memory
Waiting for Something
Workqueue
Sample Code Maintenance
To Do List
Drafts
Python Programming
C Programming
C++ Programming
Build Tools, Unit Testing, Design, And More
Training Courses
Complete Slide Material
Linux: Introduction, Userland/Kernel Programming, Hardware/Embedded
Linux Kernel Driver Development
Spinlock (vs. Mutex)
Spinlock (vs. Mutex)
#
Spinlock (vs. Mutex) (Slideshow)