commit
fec8edcf5e
@ -0,0 +1,76 @@
|
||||
# Linux Kernel Foundation (February 2022 batch)
|
||||
|
||||
This repository contains materials what I learnt, and am learning in context to Linux Kernel Programming. This includes programming in userspace and kernelspace.
|
||||
|
||||
More content will be added as the class progresses.
|
||||
|
||||
## Course overview
|
||||
|
||||
### Systems Programming
|
||||
|
||||
#### Pre-requisites
|
||||
|
||||
- Being able to program in C
|
||||
- Ability to use the Linux CLI
|
||||
|
||||
#### What is covered | What you are expected to learn
|
||||
|
||||
- Learning about Assembly language programming
|
||||
- ARM Assembly
|
||||
- x86 Assembly
|
||||
|
||||
- Advance concepts of Linux (userspace)
|
||||
- How a process gets created
|
||||
- Creating threads
|
||||
- Handling thread priority
|
||||
- Multithreading
|
||||
- Thread sync
|
||||
|
||||
- Debugging (userspace)
|
||||
- `valgrind`
|
||||
- `gdb`
|
||||
- AddressSanitizer
|
||||
|
||||
- Build System
|
||||
- Makefiles
|
||||
|
||||
- DPDP and SPDK
|
||||
|
||||
### Linux Programming
|
||||
|
||||
#### What is covered | What you are expected to learn
|
||||
|
||||
- Introduction to the Linux Kernel
|
||||
|
||||
- Basic entities in the Linux Kernel
|
||||
- Process Management
|
||||
- Sync various elements
|
||||
- Memory management
|
||||
- Device driver management
|
||||
- Spinlock
|
||||
|
||||
- Device drivers
|
||||
- Basic drivers
|
||||
- Char drivers
|
||||
- Misc drivers
|
||||
- Platform drivers (dtb, dto)
|
||||
- PWM drivers
|
||||
- DRM + GPU drivers
|
||||
- Block drivers
|
||||
|
||||
- Advance drivers
|
||||
- USB
|
||||
- PCIe
|
||||
|
||||
- Linux debugging techniques
|
||||
- kgdb
|
||||
- printk (not sure if this is supposed to be printk, not audible in recorded lectures)
|
||||
- BPF
|
||||
- JTAG
|
||||
- Other infrastructure offered by the Linux Kernel
|
||||
|
||||
- Networking
|
||||
- Stack overview
|
||||
- Proogramming from user[space(?)] POV
|
||||
- How it works inside the Linux Kernel
|
||||
- Inner working of a driver
|
Loading…
Reference in new issue