Operating System Features
A contemporary operating system provides a platform for programs to execute, called program execution, and interact with hardware resources, called I/O Operation (Silberschatz et al., 2014). The operating system also provides a user interface. In delivering these core features, a contemporary operating system has six other functions. These functions are file system manipulation, communication, error detection, resource allocation, accounting, and protection and security (Silberschatz et al., 2014). The features and functions of an operating system are seen in the below diagram.
These functions are implemented through operating system subsystems and system programs. For a complete review of the operating systems, functions, and implementations, see the Section 1 concept map.
Process Communication
The operating system enables process communication to allow processes to share and exchange information. This interprocess communication (IPC) allows processes to cooperate with other processes running on the system. Interprocess communication follows two models shared memory and message passing.
Virtual Memory Management
The operating system uses virtual memory to expand the memory available for processes to execute. The operating system achieves this by using both physical memory and secondary storage (hard drive) of the system. When processes are not running, or routes within processes are not required, the operating system will page between the secondary storage and memory to allow running processes to leverage physical memory. See the mapping of virtual memory in the diagram below.
The operating system also leverages shared pages to store shared libraries to reduce memory usage as well as allowing processes to share memory (Silberschatz et al., 2014). By using virtual memory, the operating system expands the usable memory for processes. For additional details on memory management, see the Section 3 Concept Map.
Files, Mass Storage, and I/O
The modern operating system handles files, mass storage, and I/O to provide s seamless user experience. The file system provides an interface for the end-user and mass storage. The operating system requests I/O from the mass storage to either access information or virtual memory. The hardware within a computer system communicates either through the operating system or directly to the CPU. Device drivers designed for the operating system allow communications with various I/O devices like printers or network cards. See the below diagram of I/O hardware.
For additional details on files, mass storages, and I/O, see the section 4 concept map.
Protection & Security
The access matrix serves as the mechanism for protecting access to resources within the operating system. The access matrix ensures that users, processes, and procedures only obtain access to appropriate and assigned system objects. A system object can be either hardware or software. An access matrix can be either an access control list (ACL), a capabilities list, or Role-Based-Access-Control (RBAC). The diagram below shows the access matrix.
Security provides a defense from external threats for the computing system. Threats are potential dangers, whereas attacks are actual attempts on the computing system. For organizations, a security policy is foundational for addressing threats. From the security policy technologies, processes and people form a defense-in-depth to detect, protect, and respond to security threats. For additional details on security and protection, please see the section 5 concept map.
Beyond OS Theory
Understanding the concepts and theory of operating systems provides a foundation for further studies. The operating system provides the system software that provides the interface between all higher-level applications and the computing hardware. The mechanisms and methods that the operating system utilizes to function enable and limit other applications. In the career of a Cybersecurity professional, understanding how the operating system will assist in analyzing security incidents and determining the correct security controls for all computing systems whether servers, workstations, mobile devices, network, or IoT. The knowledge obtained in this class will be critical in future learning and an informed career.
References
Shukla, A. (2017). File Management Functions of Operating System. IncludeHelp.com. Retrieved from https://www.includehelp.com/operating-systems/file-management-functions.aspx
Silberschatz, A., Galvin, P. B., & Gagne, G. (2014). Operating system concepts essentials (2nd ed.). Retrieved from https://redshelf.com/