/systems-programming

Systems programming works using C.

Primary LanguageCMIT LicenseMIT

Systems Programming

University assignments of Systems Programming course which are about POSIX, File I/O, buffering, file events, signals, process creation, process termination, process control, process synchronization, process communication, orphans, zombies, pipes, FIFOs, shared memory, semaphores, threads, condition variables, mutexes, sockets using C programming language.

Assignment Topic Description
Custom Dups File I/O, POSIX, Redirection, Race Condition Reads number of bytes from command line arguments writes it using lseek before each write, two process run same time and writes to same file, results compared. Implement dup, dup2 using fcntl.
Terminal Emulator Process Creation, Signal Handling, Process Termination, Child Processes, Pipes, Redirections, Error Handling Implementing a terminal emulator capable of handling shell commands in a single line, without using the system() function, instead fork(), exec(), wait() functions are used. "
Concurrent File Access System 1 Process Synchronization, Process Communication, Shared Memory, Semaphores Implementing a concurrent file access system.
Concurrent File Access System 2 Pthread Library, Thread Creation, Thread Termination, Thread Synchronization, Thread Communication, Mutexes, Condition Variables Implementing a concurrent file access system using threads.
pCp Thread Synchronization Implementing a directory copying utility "pCp" using threads.
BibakBOX Socket Programming, Thread Synchronization Implementing a similar version of dropbox using sockets and threads.