Operating Systems

This is the first operating systems related course that I had taken during university, and as such it introduced the concepts of synchronization, scheduling, and network security to name a few. We were taught synchronization through the use of mutexes and semaphores with practical exercises done in assignments. Relating to scheduling we looked at shortest-job-first and priority scheduling by drawing timing diagrams, calculating throughput, CPU utilization, etc. Last but not least network security was thoroughly studied as it was the professor’s area of interest. Properties of security were defined (authentication, authorization, integrity, etc.) and the workings of digital certificates, SSL, and RPC studied.

Assignment #3

One of the more code-oriented subjects was on semaphores, which is what this assignment covered. We used RPCGEN to generate code for client and server stubs to solve a networked variation of the producer/consumer problem. After the code generation step was completed the proper semaphore logic was integrated.