Linux Roadmap
- include: header files, including architecture-specific header files;
- ipc: deals with inter-process communication, msg, shm, semaphores;
- kernel: process management, fork, exec, exit, signal, scheduling;
- lib: utility routines, e.g. kernel printf (or sprintf);
- mm: memory management, all the virtual memory codes;
- net: networking protocol implementation, tcp and udp implementations are in ipv4, other directories hold link-level codes
- scripts: valuable tools in developing new kernel
- init: main.c has initialization routines called during boot
- __init_func macro: see include/linux/init.h
- ifdefs handles booting in different circumstances, e.g. multiprocessor
- start_kerne: initialize many things: fs caches, idle threads, init thread
- init thread: spawn pageout daemon, execve(/sbin/init)