Prerequisites
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
) librariesDebugging
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
Beej’s Guide to C Programming 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
MIT 6.1810 or 6.828 : Operating System Engineering (Labs + xv6 book is must) - link. This will give you the important prerequisites and the confidence to explore into the kernel. Remember, complete all the labs.
Last updated