Operating System
Theory Summary Blog Post
Describe features of contemporary operating systems and
their structures
Contemporary operating systems have
extensive features guiding the user and computer system to have purposeful interactions.
Specifically, the features include the user interface (UI), program execution, input/output
(I/O) operations, file system manipulation, communications, error detection,
resource allocation, accounting, and protection and security (Silberschatz,
Galvin, & Gagne, 2014). The below concept map describes what these features
are in an operating system.
Operating systems can be structured
in many different ways, including monolithic, layered, or hybrid structures.
The monolithic structure has all the functionalities of the operating system
compiled into one space, whereas the other two approaches use a hierarchical
structure. Contemporary operating systems used layered or hybrid approaches to
prevent system vulnerabilities discovered in the archaic monolithic approach.
In these methods, the subsystems or subcomponents are referred to as modules.
The course text shows a unique example of a layered approach for the Mac OS X,
also outlined below. The layers are hierarchical, starting with the Aqua graphical
user interface (GUI), the application environments and services layer, and the
kernel environment. The kernel environment details the I/O kit, kernel
extensions, Mach (memory management support), and BSD (support for networking
and file systems) functions (Silberschatz, Galvin, & Gagne, 2014). As
outlined in the description above and the graphic below, we can see that
subsystems or subcomponents use functions and services of only lower-level
layers or modules that can call any other module, alluding to its benefit in
reducing system vulnerabilities.