IT-320 Operating Systems

Course Description:

A course designed for students with primary knowledge of the working of operating systems. The topics include: various generations of operating systems, process and its transitions, concurrent processes and multiprogramming, deadlock, real storage, virtual and auxiliary storage, processor scheduling and operating system security. The management of the above mentioned resources by operating system are covered in detail. Various popular state-of-the-art operating systems are also discussed.

Personal Reflection

We covered many topics in the operating systems course, including Introduction to Operating Systems, Memory Management (simple and virtual memory systems), Processor Management, Process Management, Concurrent Processes, Device Management, File Management, Network Organization Concepts, Management of Network Functions, Security and Ethics, System Management, and a final project on a major operating system of our choosing. All computers require an operating system because it is the main software that manages all hardware and any other added software. All major operating systems comprise four managers, Memory Manager, Processor Manager, Device Manager, and File Manager. These managers work together to ensure that the system works optimally.

The operating systems course provided many opportunities to problem solve and critically think because the four Operating System Managers require interesting algorithms for effectiveness. For example, in Page Replacement Policies and Concepts, we studied the First-In-First-Out (FIFO), Least Recently Used, Clock Replacement Variation, and Bit Shifting Variation concepts, which require algorithms to perform paging. In addition, the course demonstrated how over several years, computer scientists improved the various managers. For example, fixed or static memory partitions allowed multiprogramming by assigning one job per partition regardless of the size of the job. However, Jay W. Forrester improved this method by introducing a dynamic partition allocation scheme that allowed jobs to use the exact amount of memory they needed, thus improving memory usage.

Our final project was an individual project that required us to use what we learned in the Operating Systems course and research and apply it to an existing major operating system. I used the Windows 11 operating system because I was part of Microsoft's beta testers for Windows 11. The project covers the history of the Windows Operating System from Windows NT and compares it to other major operating systems such as Google's ChromeOS and the Linux Operating System. I explored the four managers of the operating system in the project, which you can download here.