Linux Internals 07 - I/O and Devices
From block and character devices to I/O schedulers, DMA, and the page cache
Thoughts on code, technology, and everything in between
From finite automata and formal languages to building a compiler from scratch
From block and character devices to I/O schedulers, DMA, and the page cache
Parse trees vs ASTs, designing AST nodes, and how ASTs bridge the compiler frontend and backend
The memory hierarchy from registers to HDD and how caches work
Shift-reduce parsing, LR parser mechanics, and how parser generators work under the hood
How a system call transitions from user space to kernel space, and how kernel modules work
Why interrupts exist and how IDT, ISR, PIC/APIC work
How VFS, inodes, and ext4 work in the world where everything is a file
The principles behind recursive descent parsers, LL(1) grammars, and the strengths and limitations of top-down parsing
Why CPUs distinguish privilege levels, and how x86 protection rings and ARM exception levels protect the system