This repository contains lab assignments, practice tasks, and projects completed during the CSE321 Operating System course. (Summer 2025)
- Lab-1: Linux Shell Commands
- Lab-2: Introducing C Programming I
- Lab-3: Introducing C Programming II
- Lab-4: System Calls & Process Creation
- Lab-5: Threads & Synchronization
- Lab-6: Inter Process Communication
- Lab-Assignment-1: System Calls
- Lab-Assignment-2: Multi Threading
- Lab-Assignment-3: Message Queue
- Lab-Assignment-4: Access Control Simulation
- labtask1: Introducing C Programming I
- labtask2: System Calls & Process Creation
- labtask3: Threads & Synchronization
- labtask4: Inter Process Communication
- Programming Language: C
- Operating System: Linux
- Tools: GCC compiler, Shell scripting, pthread library
- Linux operating system (or WSL on Windows)
- GCC compiler
- Basic knowledge of C programming
Most C programs can be compiled using:
gcc filename.c -o output
./outputFor programs using threads:
gcc filename.c -pthread -o output
./output- Fork, exec, wait system calls
- Process creation and termination
- Process synchronization
- POSIX threads (pthread)
- Thread creation and joining
- Mutex locks and semaphores
- Race conditions and deadlock prevention
- Pipes and named pipes
- Message queues
- Shared memory
- Signals
- File operations (open, read, write, close)
- Process control (fork, exec, wait)
- Memory management
Shafiur Shuvo
This repository is for educational purposes as part of the CSE321 course.
This is a personal academic repository. However, suggestions and feedback are always welcome!
Last Updated: November 2025