CPT 304: Final Project

The course's completed concept map is provided below. We will examine each section in greater detail.

Completed Concept Map
The completed concept map. Please zoom in to see individual items.

 


Features of Contemporary Operating Systems

The modern operating system is a complex set of software that manages the computer hardware and provides services for programs to utilize. Operating systems are designed to be as efficient and reliable as possible while giving end users a user-friendly interface. There are a few different types of user interfaces, namely graphical (picture-driven), batch (a series of instructions to be executed, generally without user interaction), and command line (a non-graphical, text-based option for the user to issue sequential commands). System calls (SYSCALLs) are direct calls to the operating system to perform utilities for processes or users. The operating system also provides services such as security and protection, resource management, device management, and process management. Finally, the operating system includes software called drivers to translate hardware interaction to their equivalent machine code instructions.

Week 1 Concept Map
The week one concept map.

Processes and Sharing Information

Interprocess communications can be broken into two main models: shared memory and message passing. Shared memory provides a region accessible by multiple processes, allowing them to read and write directly to the shared location. Message queues, however, enable processes to send and receive messages through a queue, ensuring messages are received in the order they were sent. In client-server systems, sockets can help facilitate communication between processes over the network; sockets allow local and remote communication. Another technique for network-oriented systems is the remote procedure call, which enables processes to execute code in another process via a procedure call. Finally, processes can write and read to a specific temporary file or a special file called a pipe.

Week 2 Concept Map
The week two concept map.

Main Memory and Virtual Memory

Main memory is the physical RAM that is installed in the computer. Although main memory provides quick access to data for the CPU, RAM is a finite resource that requires effective management to ensure all processes have the memory they need to execute. Virtual memory is one of the techniques the operating system uses to create an illusion of a large, continuous block of memory for processes. Virtual memory is achieved using both hardware and software, allowing the computer to swap sections of real RAM to disk to keep the illusion alive. Each process is given its own virtual address space that the operating system maps to physical memory. Paging divides the virtual address space into fixed-sized sections called pages mapped to RAM frames. In summation, main and virtual memory work hand-in-hand to provide a flexible and consistent process experience, helping solve the finite RAM issue.

Week 3 Concept Map
The week three concept map.

Files, Mass Storage, and I/O

Files are organized in a hierarchical format, with each level depicting a folder, directory, file, or device. The operating system maintains metadata about files, such as file names, sizes, types, permissions, creation date, last modified time, and others. The operating system provides several file operations, such as reading and writing, creation and deletion, and opening and closing. The files are stored on different mass storage devices, such as hard disk drives, solid-state drives, magnetic tape, or optical drives. I/O devices, such as keyboards, mice, printers, storage devices, et cetera, are interacted with by the operating system via device drivers. Using scheduling algorithms, like first-come/first-served, shortest seek time first, and SCAN, the operating system can optimize throughput and reduce I/O stalls.

Week 4 Concept Map
The week four concept map.

Protection and Security

The operating system employs various techniques to control system, program, and user access. By forcing authentication through a typical username/password combo, multi-factor authentication, or server certificates, users and processes can identify themselves as trusted subjects for a system. After being granted access via authentication, the operating system typically utilizes an authorization method (such as access control lists, capabilities for domains, role-based access, or a global access matrix) to grant or revoke permissions. Files can have permissions individually, or a domain (a group of users or processes) can have capabilities for permissions. Data being transferred on a network or accessed remotely is often encrypted to ensure the data is protected from prying processes. Finally, networks will use firewalls and logging to limit access and provide audit trails to confirm the appropriate use of the system.

Week 5 Concept Map
The week five concept map.

How Will This Knowledge Help Me in the Future?

Having a more well-rounded knowledge of the inner workings of operating systems will help me be a better IT administrator; I will now be able to potentially help diagnose issues with other systems outside of the mainframe. Knowing how resources are allocated can also help me determine how to optimize our workload manager best to provide higher throughput to our production batch loads. Understanding how access is granted from an operating system perspective can assist me in troubleshooting an end user's permission issues. In general, simply by dedicating time to learning the operating system's design, I can further my ability to be a better employee.

References

Silberschatz, A., Peter Baer Galvin, & Gagne, G. (2014). Operating system concepts essentials (2nd ed.). John Wiley & Sons, Cop. https://redshelf.com/

Comments