Advanced Linux Programming- Kernel Internals and Kernel Space Programming, Introduction to Character Drivers
Duration: 40 Hours
- Linux New Kernel Version Configuration and Build on Ubuntu Desktop.
- Kernel Internals : Linux Scheduling Policies and Algorithm.
- Kernel Internals : Virtual Memory Management
- What is Kernel Module ? Understanding Kernel module interface
- How to write kernel module , implement “Hello World” module with Example
- Logging messages in kernel space using printk with Example
- How module is linked to kernel , kernel symbol table ? with Example
- Introduction to Kernel Threads , Kernel Thread Vs Process/pthread
- Using Jiffies Based Timers and High Resolution Timers in Kernel Space
- Concurrency , Synchronization and Race Condition Issues in Kernel space with Examples
- Using Kernel Semaphore and mutex for protecting shared data
- Sharing Data Between ISRs and Threads and Multi-core issues
- Using spin locks with Example
- Accessing IO Space , mapping Physical Address to Kernel Virtual Space
- Interrupt Handling in Linux , Registering ISRs
- Top-Half and Bottom Half mechanisms
- Soft-IRQ , tasklet and work queue with Examples
- Wait Queues
- Memory Allocation Techniques in Kernel Space
- Using Kernel Provided Data Structures like Link Lists.
- Linux Device Driver Architecture
- Overview of VFS and it’s role in Character Driver
- Device Files with Examples
- Device Number Scheme with Example
- Character Driver Registration
- Various methods need to be implemented in Character Driver
- Passing Data to/from Character Driver to User Space application
Our Students are working with below companies ….