Linux Kernel Learning — Part 1
Overview
Looking at the full landscape of the Linux kernel, one can feel overwhelmed and lost amid the numerous subsystems. One approach is to observe the kernel's functionality from the perspective of Linux's diagnostic (measurement) tools and their functional slices.

Interrupt Subsystem
- Interrupts
hard interruptssoft interrupts- Interrupt nesting
hard interruptscan be nestedsoft interruptscannot be nested
- Differences between
hard interruptsandsoft interruptssoft interruptsare generated by executing interrupt instructions, whereashard interruptsare triggered by peripheral devices.- The interrupt number for
hard interruptsis provided by the interrupt controller; forsoft interrupts, the interrupt number is specified directly by the instruction, without needing an interrupt controller. hard interruptsare maskable, whilesoft interruptsare not maskable.- The
hard interrupthandler must ensure it completes its task quickly, so that the program execution does not wait for a long time; this is called the top half. soft interruptshandle the unfinished work ofhard interrupts, serving as a deferred execution mechanism, and belong to the bottom half.
Other Subsystems
TODO