Title: Introduction · Linux Inside Description: Keywords: No keywords Text content: Introduction · Linux Inside 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 Introduction linux-insides A book-in-progress about the linux kernel and its insides. The goal is simple - to share my modest knowledge about the insides of the linux kernel and help people who are interested in linux kernel insides, and other low-level subject matter. Feel free to go through the book Start here Questions/Suggestions: Feel free about any questions or suggestions by pinging me at twitter @0xAX, adding an issue or just drop me an email. Mailing List We have a Google Group mailing list for learning the kernel source code. Here are some instructions about how to use it. Join Send an email with any subject/content to [email protected]. Then you will receive a confirmation email. Reply it with any content and then you are done. If you have Google account, you can also open the archive page and click Apply to join group. You will be approved automatically. Send emails to mailing list Just send emails to [email protected]. The basic usage is the same as other mailing lists powered by mailman. Archives https://groups.google.com/forum/#!forum/kernelhacking Support Support If you like linux-insides you can support me with: On other languages Brazilian Portuguese Chinese Japanese Korean Russian Spanish Turkish Contributions Feel free to create issues or pull-requests if you have any problems. Please read CONTRIBUTING.md before pushing any changes. Author @0xAX LICENSE Licensed BY-NC-SA Creative Commons. results matching "" No results matching ""