Low-level programming and operating systems
Descriptions
-
Memory allocation exercise.
-
Implemented my own version of a Unix Shell. Handled multiple processes on a low-level.
-
Built my own solution to the producer-consumer problem. 7 threads minimum - 3 consumers and 4 producers. All threads share a common 10-slot memory buffer. There is a linux and winodws solution, using libraries unique to each operating system.
-
Coded a full client-server implementation. Minimum of 5 threads - 1 server and 4 clients. The server manages a 10-slot buffer. The clients request 2-4 slots, write data or release data, and go to the end of the queue. Synchronization was here was tricky, and the key to the solution.