current versioning/development model
build dependencies
running new/bleeding-edge kernels
- kernel/user space
- libc/system calls
concepts
- robustness
+ kernel/user space
+ rings/levels/modes
+ memory protection/segmentation/pagination
+ library calls
+ allowed uses (floating point forbidden)
+ concurrency
+ small stack
+ libc/system calls
+ operating system functions
+ process management
+ concurrency
+ communication/IPC, scheduling
+ memory management
+ address space
+ virtual memory
+ filesystems
+ networking
+ device, I/O
+ robustness/security
error checking
+ kernel space code
+ programming errors and bugs
+ restrict some operations to privileged users
+ do not send unzeored data (information leak)
+ do not trust received data (malformed data) (exploit)
+ risks for the machine/system/data
basics
Makefile
Kconfig DO?
+ building linux DO?
build
init/exit
module macros
VFS
center/hub/interface
char/block/procfs/sysfs: all go through VFS to device
+ fops is the main structure in linux
FS on top of block devices
block layer
exception: some on top of MTD devices