Repository of files created by subject OperatingSystems:
Lab1: Implementation of two way list as a library (static, dynamic and shared). Using makefiles, measurement of the program execution time.
Lab2: IO operations - comparision of system and librarys functions. Sorting files contents. Walking through the file tree using recursion, adequate structs and nftw function . Basic implementation of locks (mandatory/advisory).
Lab3: Creating processes in varied ways (fork, vfork, clone with different arguments) and testing their behaviour and efficiency. Creating some child processes tree to calculate amount of regular files in file tree.
Lab4: Navigating of the program execution using signals. Sending and receiving signals between two working programs. Disadvantages of simple using kill and signal. Improving program by using real time signals, sigqueue and sigaction.
Lab5: Using pipes to create program working like linux command: tr '[:lower:]' '[:upper:]' | fold -w N. Creating client and server who communicates using FIFO. Using pipes to create program working like linux command: ls -l | grep ^d > OUTPUT
Lab6: Creating server who sends to all clients random numbers. Clients resends to him information if the number is prime. Communication is built on queues of communicates. (In first exercise - System V standard, in second - POSIX standard).
Lab7:
Lab8:
Lab9: