Linux Kernel Notes
  • README
  • concepts
    • interrupts
    • syscalls
      • Implementation
      • Syscalls
      • Userspace from syscalls
      • vDSO and virtual syscalls
  • core-apis
    • core-apis
    • kobjects
    • core-utilities
      • Notification Mechanism
      • printk
      • Symbols and Assembler Notations
      • Workqueue
  • debugging-tracing
    • debugging
    • ebpf-tracing
    • finding-bugs
    • syzkaller
    • tracing
  • extras
    • rcu
  • implementations
    • pipes
  • lkmp
    • Prerequisites
    • Linux Kernel Mentorship
    • Setting up for kernel development
  • misc
    • Current
    • What is KABI or (Kernel ABI) ?
    • noinstr
    • this_cpu
  • subsystems
    • device-tree
      • Device Tree YAML Components
      • Testing yaml dtschemas
Powered by GitBook
On this page
  • C Prorgramming and Debugging
  • Operating Systems Concepts
Edit on GitHub
  1. lkmp

Prerequisites

PreviouslkmpNextLinux Kernel Mentorship

Last updated 11 months ago

C Prorgramming and Debugging

  • C fundamentals (unions, structs, typedefs, pointers, pointers vs arrays, etc.)

  • callbacks and function pointers

  • macros and preprocessors

  • scope (extern, static, etc.)

  • linking libraries and ability to work with Makefile and KConfig Files

  • generation of static and shared (.so) libraries

  • Debugging

    • Fluent in using GDB, Valgrid, strace, ptrace, etc. debugging and tracing tools

Resources

  • Pointers on C Book by Kenneth A. Reek (highly recommended) - teaches you pointers and other important topics

  • for basics and fundamental C

  • Expert C Programming by van der Linden, Peter

Operating Systems Concepts

  • You need overall knowledge of working of operating systems

  • Knowledge of userspace linux APIs and syscalls is highly recommended

Resources

or

MIT 6.1810 or 6.828 : Operating System Engineering (Labs + xv6 book is must) - . This will give you the important prerequisites and the confidence to explore into the kernel. Remember, complete all the labs.

Beej’s Guide to C Programming
Operating Systems Concept by Abraham Silberschatz
Operating Systems: Three Easy Pieces
link