diff --git a/README.md b/README.md index bf7e843..20bd623 100644 --- a/README.md +++ b/README.md @@ -10,67 +10,67 @@ More content will be added as the class progresses. #### Pre-requisites - - Being able to program in C - - Ability to use the Linux CLI + - 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 + - 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 + - Advance concepts of Linux (userspace) + - How a process gets created + - Creating threads + - Handling thread priority + - Multithreading + - Thread sync - - Debugging (userspace) - - `valgrind` - - `gdb` - - AddressSanitizer + - Debugging (userspace) + - `valgrind` + - `gdb` + - AddressSanitizer - - Build System - - Makefiles + - Build System + - Makefiles - - DPDP and SPDK + - 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 + - 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