This repository contains practical implementations of key Operating System concepts, such as file and directory manipulation, process management, multithreading, and synchronization techniques. It is aimed at helping learners understand and apply OS fundamentals through hands-on experiments.
- Append
- Create and Open
- Delete using
unlink
lseek
Read- Read/Write Console
- Read/Write File
- Rename
stat
System Call
- Create Directory
getcwd
,chdir
,rmdir
opendir
,readdir
,closedir
execv
- Kill Child Process
- Make Child Process
- Make Orphan Process
- Make Zombie Process
- Thread Creation
- Passing Values to Threads
- Communication Between Threads and Main Function
- Synchronization Techniques Using Semaphores
- Programming Language: C/C++
- Compiler: GCC or equivalent
- OS Requirements: Linux/Unix system for system call compatibility
-
Clone the repository:
git clone https://github.com/Shreyas850/Operating-System-Lab.git
-
Navigate to the specific experiment directory:
cd Operating-System-Lab/<Experiment-Folder>
-
Compile the code:
gcc <filename>.c -o <outputname>
-
Run the executable:
./<outputname>
Contributions are welcome! Follow these steps:
- Fork this repository.
- Create a new branch for your feature.
- Submit a pull request for review.