Language: English | Size: 3.89 GB | Duration: 19 sections | 60 lectures | (10h 30m)
What you’ll 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
Signals – signal handlers, sending signals to process, Default signal handlers.
Posix Threads – Thread creation, thread termination, Thread ID, Joinable and detachable Threads.
Thread Synchronisation – Mutex, Condition Variables
Inter Process Communication (IPC)- Pipes, FIFO, Posix Message Queue, Posix semaphore, Posix shared memory
Memory Management – Process Virtual Memory management, Memory segments(code, data, stack, Heap)
Requirements
Should have basic C language understanding
Description
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.
Who this course is for:
Students, and professionals (beginners) who want to explore Linux systems programming and learn product development using Linux OS
Reviews
There are no reviews yet.