By Raghu Bharadwaj


Embedded Linux System Programming

  • Over 5000+ participants have gained clarity on interconnectedness of the Embedded Linux Ecosystem Components
  • Over 5000+ participants have achieved accelerated bug detection & deep problem solving skills
  • Gain future-proofing skills against AI disruption
  • Over 5000+ participants have enhanced their capability of reskilling & upskilling when engaged with evolving technologies at minimal turnaround time

Who is it for

Engineers looking to achieve career-defining skills in Embedded Linux & system programming. Developers struggling to work on. Engineers looking to upgrade their careers from other technology to Embedded Linux

What you will learn

This program helps you un-learn core programming concepts on Linux at a deeper level. It goes under the hood and gives you the necessary clarity and etiquettes for working on system level programming

Who will be your Mentor

Learn from Raghu Bharadwaj, India’s leading Linux mentor, consultant and author

Program Contents

GNU Compiler
  • Understanding compile & build process
  • Tool chain
  • Object file analysis
  • Executable Images
  • Introduction to libraries
  • Creating Static & Shared Libraries
  • Using Libraries
  • Managing dynamic libraries
Stack Analysis
  • Introduction to stack
  • How stack grows and shrinks
  • How function parameters are passed
  • How stack frames are created and destroyed
Application Programming Interface
  • Understanding need of API
  • API vs system calls
  • User mode/ kernel mode transitions
  • APIs and application portability
Process Address Space
  • Introduction to virtual address space
  • Stack allocations
  • Heap/Data segment management
  • Memory maps
  • Dynamic memory allocation & de-allocation
  • Memory locking
Process Management
  • Introduction to program loading
  • Process, defined
  • Understanding process address space
  • Kernel process descriptor
  • Introduction to Linux Process scheduler
I/O Architecture
  • Introduction to components of I/O architecture
  • Objectives of Linux I/O model
  • Virtual file system
  • File system services
  • I/O cache
  • Understanding file descriptors & inode structures
File Operations
  • Introduction to common file APIs
  • Accessing file attributes
  • Standard I/O operations
  • File control operations
  • Introduction to Signals
  • Linux signal types & categories
  • Signal generation and delivery
  • Linux signal management data-structures
  • Switching signal dispositions
  • Writing async signal handlers
  • Using signals for process communication
  • Blocking & Unblocking signal delivery
Concurrent Application Design
  • Introduction to concurrent applications
  • Understanding need for concurrent apps
  • Standard Concurrency models
Process Creation Calls
  • Process creation calls (fork, vfork, execve)
  • Monitoring child process
  • Linux kernel process creation routines
  • Copy-on-write resources
  • Handling child process termination events
  • Linux threads interface (clone)
Posix Threads
  • Multi-threading under Linux
  • Basic Program Structure
  • Creating and Destroying Threads
  • Signals and Threads
  • Forking vs. Threading
  • Deadlocks and Race Conditions
  • Mutex Operations
  • Semaphores
  • Futexes
  • Conditional Operations
Network Programming & Sockets
  • Networking Layers
  • What are Sockets?
  • Stream Sockets
  • Datagram Sockets
  • Raw Sockets
  • Byte Ordering
  • Socket Address Structures
  • Converting IP Addresses
  • Host Information
  • Service Port Information
  • Protocol Information
Socket Client/Server
  • Basic Client Sequence
  • socket()
  • connect()
  • close() and shutdown()
  • UNIX Client
  • Basic Server Sequence
  • bind()
  • listen()
  • accept()
  • UNIX Server
Socket Operations & Options
  • write(), read()
  • send(), recv()
  • sendto(), recvfrom()
  • sendmsg(), recvmsg()
  • sendfile()
  • socketpair()
  • Getting and Setting Socket Options
  • fcntl()
  • ioctl()
  • getsockopt() and setsockopt()
Multiplexing & Concurrent Server
  • Multiplexed and Asynchronous Socket I/O
  • select()
  • poll()
  • pselect() and ppoll()
  • epoll
  • Signal Driven and Asynchronous I/O
  • Concurrent Servers
  • Methods of IPC
  • System V IPC
  • Message Queue
  • Semaphore
  • Shared memory

Who Should Enroll

  • Engineers looking to achieve career-defining skills in Embd. Linux & system programming

  • Developers struggling to work on Linux based system & embedded projects

  • Engineers looking to join the top 10% of elite, highly rewarding programming career

  • Engineers looking to upgrade their careers from other technology to Embedded Linux

Program Schedules & Fee

  • Program Starts: 29 May 2024
  • Program Fee: ₹17,688/-  ₹15,328/- (inclusive of GST) Discount valid till 3rd May
  • Session Timings: 10am – 1:30pm (Sat. & Sun.)
  • Training Mode: Online, live, interactive (zoom)
  • Program Duration: 8 weekends.

Support Services

  • Missed sessions: Backup recording will be provided for missed sessions
  • Offline support: Delivered via Whatsapp
  • Batch transfers: Available within 1 year
  • Placement support: Offered on program completion (any experience category)

How Raghu sir works on your thought process

Abhishek Kumar Roy (John Deer)

Raghu sir taught me how to reason

Farheen Hussain (L&T)

Now I can say I really know things

Deepjyoti Roy

Interested. Apply Now

On receiving the application, we will contact you with further registration process

Know your trainer


Raghu Bharadwaj

  • Leading Linux mentor. Trained over 40 clients including Xilinx, Qualcomm, Broadcom, NXP, Harman, Mercedes among others
  • Trained over 3000 participants across 7 nations
  • Attended by professionals from over 100 companies
  • Leading authority and speaker on the Linux Kernel


What are the pre-requisite skills to enroll for this program?

You must be good at C programming and familiar with basic Linux commands, vi/vim editor

How is the program delivered?

This program is delivered online through a live, interactive session. You must login whenever there is a live session to access it. This program may have few recorded sessions. 

What if I miss some sessions due to work or other issues?

Do not worry, we have it covered. If you miss any session due to any reason, you can request to listen the backup recording at your convenient time

What is the validity of my registration?

Your registration is valid for a period of 1 year. That is, after you make the payment you can take the program once within 1 year