OperatingSystems repository: Operating systems projects while in University A complete description and details about all the projects can be found inside the respective folder in a .pdf file. Project1: - Create and manage processes in Unix, using C; - Send, handle and ignore and block signals; - Allow the communication between processes using pipes and named-pipes; - Use select() to implement I/O multiplexing. Project2: - Create and use a segment of shared memmory to share data between concurrent processes; - Map a file on disk into a buffer in memory and use it to share data between concurrent processes; - Use the library <semaphore.h> to create and use semaphores to synchronise the access to shared resources from competing processes. Project3: - Create and manage multiple threads inside a process; - Use synchronisation primitives such as semaphores, mutexes and condition variables.