Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Linux/Unix System Programming with C and C++

via Udemy

Overview

Google, IBM & Meta Certificates — All 10,000+ Courses at 40% Off
One annual plan covers every course and certificate on Coursera. 40% off for a limited time.
Get Full Access
Practical approach to Linux c-system programming for fork, thread, semaphore IPC, etc

What you'll learn:
  • Students should be able to write their own system call and utilize existing system call on Linux/Unix to create system software.
  • Students should be able to understand Unix/Linux/Mac/Windows system in greater details
  • It would also help to brush up the C coding skills of students
  • For existing developer it would help them in writing better code, free from memory leaks and other resource leaks.
  • Covers the practical aspect of system programming and gives a handson experience with System call

Description:

This course provides an in-depth exploration of system programming on POSIX-compliant operating systems. You'll learn to write robust C and C++ code at the system level, gaining a clear understanding of how Linux and Unix work under the hood. These skills form the foundation on which every user-facing application is built — mastering them will set you apart as a developer.

What You'll Learn:

Process Management — Fork system calls and their variants, PID status, defunct/zombie processes, and open file descriptor inheritance.

Threads — POSIX threads (pthreads), parameter passing, thread safety using semaphores and mutexes, and building producer-consumer applications.

File I/O — Unbuffered I/O with read/write system calls, buffered I/O with fopen/fwrite/fread/fseek/ftell/rewind, reading files line by line with getline, and understanding buffered vs. unbuffered operations.

Interprocess Communication (IPC) — Pipes, fork with pipe file descriptors, and popen.

Socket Programming — Building both server and client applications from scratch.

Signal Handling — Alarm signals, kill process signals, and writing custom signal handlers.

Directory Navigation — Using readdir and opendir to recursively traverse directory structures.

Writing System Calls — How system calls work internally and how to implement your own and interface with the kernel.

Lab Setup & Virtualization: The course also walks you through setting up your development environment, including compiling and debugging C/C++ code, and covers virtualization with VirtualBox, VMware Fusion, VMware Workstation, ESXi, Hyper-V, and Windows Subsystem for Linux.

By the end of this course, you'll write clean, efficient system-level code — free of memory leaks and resource leaks — with the confidence to work across Linux, Unix, macOS, and Windows environments.

Syllabus

  • Introduction and important system call demo
  • Interprocess Communication In Linux (IPC)
  • Lab Setup and virtualization

Taught by

Shakil khan

Reviews

4.3 rating at Udemy based on 556 ratings

Start your review of Linux/Unix System Programming with C and C++

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.