Skip to content

About

This is a repository which displays my systems programming skills in C programming language. This primarily involves producing code in C, that makes system calls for certain operations such as file manipulation, complex writing, etc.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

System-Programming

This is a repository which displays my systems programming skills in C programming language. This primarily involves producing code in C, that makes system calls for certain operations such as file manipulation, complex writing, process management, etc. All programs are command line based C codes.

I will keep updating this repository with other projects and learnings that I come across as I continue to develop them. I have tried to make sure to include a new learning for every single one of this upload with varied difficulty levels.

Each folder will have a readme file and a make file, that explains that sub project.

Disclaimer: Some parts of the code was developed with the help of generative AI, for all sub projects and the mini project.

Contents:

  1. File Copy: Copy data between files and standard input/output
  2. Single File Operations: Performing the following functions on a single file/Directory -> Create file/Directory, Auto detect text vs binary file and append information based on that, Write bytes from file to standard output, Delete file/Directory, rename file/directory.
  3. Multi File Operations: This is an extension to the previous project, where I have extended the file operations of rename, create, delete, append text, etc. Over here, the code takes command line arguments with the input of a directory and performs these operations to all files within this directory or any sub directories containing those files.
  4. Process Management: This project delves into processes and how they can be performed either in the foreground or in the background. Similar to the previous project it takes in command line arguments and processes those files either in the background or foreground.
  5. Pipelines: This C program, showcases interprocess communication using pipes. It allows two processes to exchange data, with one process acting as a data generator and the other as a data consumer.
  6. Mini Project: This is a simplified version of the ps command which performs the following commands: Print all process IDS, print details of a particular process ID, print tree of processes, print all process IDS in the same group and lastly print all processes that are executing on behalf of Real and effective UID.

Special Thanks:

Dr. Abhijat Vichare - Faculty at FLAME University - Computer Science Department, under whom this entire project was executed, as a part of the "Systems Programming" Course (CSIT206).

Other Collaborators:

Mukund Tekriwal, Keeran Dhami

About

This is a repository which displays my systems programming skills in C programming language. This primarily involves producing code in C, that makes system calls for certain operations such as file manipulation, complex writing, etc.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages