Linux Inside
Summary
Introduction
Booting
From bootloader to kernel
First steps in the kernel setup code
Video mode initialization and transition to protected mode
Transition to 64-bit mode
Kernel decompression
Kernel load address randomization
Initialization
First steps in the kernel
Early interrupts handler
Last preparations before the kernel entry point
Kernel entry point
Continue architecture-specific boot-time initializations
Architecture-specific initializations, again...
End of the architecture-specific initializations, almost...
Scheduler initialization
RCU initialization
End of initialization
Interrupts
Introduction
Start to dive into interrupts
Interrupt handlers
Initialization of non-early interrupt gates
Implementation of some exception handlers
Handling Non-Maskable interrupts
Dive into external hardware interrupts
Initialization of external hardware interrupts structures
Softirq, Tasklets and Workqueues
Last part
System calls
Introduction to system calls
How the Linux kernel handles a system call
vsyscall and vDSO
How the Linux kernel runs a program
Implementation of the open system call
Limits on resources in Linux
Timers and time management
Introduction
Clocksource framework
The tick broadcast framework and dyntick
Introduction to timers
Clockevents framework
x86 related clock sources
Time related system calls
Synchronization primitives
Introduction to spinlocks
Queued spinlocks
Semaphores
Mutex
Reader/Writer semaphores
SeqLock
RCU
Lockdep
Memory management
Memblock
Fixmaps and ioremap
kmemcheck
Cgroups
Introduction to Control Groups
SMP
Concepts
Per-CPU variables
Cpumasks
The initcall mechanism
Notification Chains
Data Structures in the Linux Kernel
Doubly linked list
Radix tree
Bit arrays
Theory
Paging
Elf64
Inline assembly
CPUID
MSR
Initial ram disk
initrd
Misc
Linux kernel development
How the kernel is compiled
Linkers
Program startup process in userspace
Write and Submit your first Linux kernel Patch
Data types in the kernel
KernelStructures
IDT
Useful links
Contributors
Powered by
GitBook
Useful links
Useful links
Linux boot
Linux/x86 boot protocol
Linux kernel parameters
Protected mode
64-ia-32-architectures-software-developer-vol-3a-part-1-manual.pdf
Memory management in the Linux kernel
Notes on the linux kernel VM subsystem by @lorenzo-stoakes
Serial programming
8250 UART Programming
Serial ports on OSDEV
VGA
Video Graphics Array (VGA)
IO
IO port programming
GCC and GAS
GCC type attributes
Assembler Directives
Important data structures
task_struct definition
Useful links
Linux x86 Program Start Up
Memory Layout in Program Execution (32 bits)
results matching "
"
No results matching "
"