Linux Internals Programming
|Overview ||This module is intended to build a strong knowledge about operating systems. This guides the programmer to build high performance embedded applications using standard Linux APIs and interfaces. |
|Description ||Currently most of the embedded systems are build over an operating system due to performance requirements and the resource complexity. This adds responsibility to developers to understand the make use of the operating system capabilities to build a secure, high performance and crash free system. |
This course gives complete understanding of the Operating system concepts and Linux internals (Interfaces, API’s and system calls). This module helps the audience to move to the next level of programming by considering other factors in the system. This module is industrial aligned and provides ample practical classes to provide good exposure to Linux programming.
|Objective || |
- To gain strong knowledge of OS programming
- Proficiency on the Linux API’s and system calls.
- To get the knowledge of high performance and secure coding by using OS capabilities.
|Pre-requisites ||Proficiency in C programming, Fundamentals of Operating system. |
|Duration ||1 Month class and lab |
|Platform ||Linux |
|Delivery method || Instructor led, Assignments, Workshops, Project(optional). |
|Course topics ||OS Basics – Process, CPU scheduling, Dead lock & starvation, priority, Components of Linux – Kernel structure, Shell basics, Linux file system – ext2 & ext3, POSIX Threads – Multi threaded programming, p-thread API’s, Synchronization – Race condition & mutex, semaphores, condition variables, memory barriers, spinlock, IPC – pipe, FIFO, shared memory, System V-semaphores, Process management and memory management. |
Links to other module details:
Data Structures & Logic Analysis
Micro-controllers (8051 and PIC)
Embedded Linux on ARM9
Linux device drivers