Linux System Programming - A programmers/Practical Approach




Linux System Programming - A programmers/Practical Approach

Note : This course is conducted by IT working Professional, and not by a Professional Instructor.


Q. What is the speciality of this course?

A. This is purely a Course on "Learning Programming using Linux", This course does not teach 'C'. Since this course is conducted by industry working professionals, This course tries to cover gap between academics and Industry, Also the last section Bonus - Students Q & A, contains the collective students questions and its solution to them. It is a regularly updating section.


Q. What is the Prior knowledge required for this course?

A. This course teaches from Basics of Linux Programming to Advanced, hence no prior knowledge on Linux is assumed, but should be energetic to learn Linux technology.


Q. Who is this course for?

A. This course is designed in mind from beginners(students) to intermediate professionals who want to learn Linux and Utilise the Open Source  platform to help build their careers related in field of Linux systems Design and Development.


Q. What will be the outcome of this course?

A. The students upon completion will definitely have a SOLID understanding of Linux System Programming,  For freshers this can be a good guide to crack interviews, for already working professionals they can start working as individual contributor in their projects, and definitely will be in par with the experienced colleagues.


Q. What are the contents of course?

In this course you will be learning the below Linux system programming. And more emphasis is given on the Programming part.

1.  Introduction to Linux systems.

   a. Linux architecture.

   b. Writing 'Hello World' program, compiling using GCC and its execution.

2. What is system call and standard library function calls

3. Kernel and User mode in Linux

4. File operations

    open(), close(), read(), write(), lseek()

    Blocking and Non-Blocking calls.

    Atomic operations, Race condition.

5. Memory Management and Virtual Memory

     stack segment, code segment,  heap segment, data segment,

     Virtual memory management.

     functions related to Memory allocation - Malloc(), calloc(), Realloc(), Auto variables, static variables.

6.  Process Management

     Process creation, Process termination, wait(), Process ID, fork() system call, Exec() family of system call, Parent-Child Process management,   

     Command line arguments of Process.

7.  Signals

     signal(), signal handlers, sending signals to process, ignoring and default signal actions.

8.  Posix Threads

     Thread creation, thread termination, thread ID, joinable and detachable threads.

9.  Thread synchronisation

      Mutex, Condition variables, Thread safe.

10.  Posix - Inter Process communication.

      Pipes, FIFO, Posix message Queue, Posix Semaphores, Posix Shared Memory.


NOTE - Ubuntu Distribution (Linux) is used for all Demo in this course.

Files, Memory and Process management, Fork, Signals, Threads, IPC - Pipes, FIFO, message Queue, Semaphores,Shared Memory

Url: View Details

What you will learn
  • From basics to advanced Linux systems programming, with lots of hands on 'C' programming demos.
  • File operation, System calls, Library functions, code compiling using GNU-GCC, Blocking and Non Blocking calls, Atomic operations, Race condition, User mode and Kernel mode,
  • Process Management - Process creation, termination, Fork() system call, child-parent process, command line argument of process, Memory Layout of Process

Rating: 4.24257

Level: All Levels

Duration: 10.5 hours

Instructor: Mohan P


Courses By:   0-9  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z 

About US

The display of third-party trademarks and trade names on this site does not necessarily indicate any affiliation or endorsement of coursescompany.com.


© 2021 coursescompany.com. All rights reserved.
View Sitemap