Linux c and system programming

Linux c and system programming

In this module, you learn about the C and Linux system programming. You will begin module by learning to solve defined problems related to C and Linux programming. By the end of each module, you would be able to evaluate and assess yourself in the C and Linux programming for any open-ended problem and implement a solution based on your design choices. Also you should be able to implement into process communication, process management, data synchronization between multiple process queuing, shared memory, pipes, Unix socket programming, client server module, threading, processor affinity, messaging frameworks, signaling system calls etc.

Career Opportunity

 

summary

c programming

  • Programming like array, pointers structures, string and different data structures.
  • Implementation of loops, functions, recursion, static function, inline functions.
  • Implementation of c module with .h and .c with API abstraction.
  • Implementation of c library and generation static and shared libraries.
  • Implementing structure, union, function, pointers, call backs in c.
  • Data structures in c like  linked list, trees, graphs, hash map etc.
  • Implementing algorithms like quick sort, bubble sort, bucket sort, hash maps, BFS, DFS, knapsack, preorder, inorder, gaming tree etc.
  • Example projects.

Basics of System programming​

  • Unix/ Linux history, SYSV, API standards, POSICS.
  • Linux and system call binary format and ELF,
  • Timers in Linux,
  • Command line programming with Linux file – read, write, open, close system calls, manage processes, files and memory.
  • Opening , reading, writing control of device drivers.
  • Nmap, system call and sharing the nmap area with multiple processes.
  • Unix signals and sigaction() SIGTERM, SIGKILL and SIGINT (control c in Linux).
  • FIFO, pipes and name pipes.
  • Fork() child and parent process handling.
  • Example projects

Advanced System programming​

  • Unix socket programming basics.
  • Client and server programming.
  • Select and poll for asynchronous data handling IPC with RPC Semaphore and shared memory.
  • POSICS message QUEUES.
  • SYSV message QUEUES.
  • Messaging with third party library likes RabbitMQ , ActiveMQ, ZMQ etc.
  • Threading concepts and processor affinity backtrace and debug handler.
  • Simple network protocol implementation 
  • Example projects.

Real time project

  • Real time use case with IOT and opensource projects like edgx, eclipse cora, Apache Spark, kafka, thrift, and arduplane, open CV etc.
  • Use cases vary from agriculture solution to healthcare, medical, retail, manufacturing banking etc.
  • security, devices etc.

share

Scroll to Top