Zybook Ch1: Introduction Flashcards
What is an operating system (OS)?
The software that runs on the bare hardware of a computer and provides essential support for users to develop and use applications in the most efficient and safe manner.
What are the CPU’s hardware capabilities?
Machine instructions perform operations on contents of registers and memory locations.
What are the CPU’s user needs?
The user thinks in terms of arrays, lists, and other high-level data structures, accessed and manipulated by corresponding high-level operations.
What are the main memories hardware capabilities?
Physical memory is a linear sequence of addressable bytes or words that hold programs and data.
What are the main memories user needs?
The user must manage a heterogeneous collection of entities of various types and sizes, including source and executable programs, library functions, and dynamically allocated data structures, each accessed by different operations.
What is the secondary storage’s hardware capabilities?
Disk and other secondary storage devices are multi-dimensional structures, which require complex sequences of low-level operations to store and access data organized in discrete blocks.
What is the secondary storage’s user needs?
The user needs to access and manipulate programs and data sets of various sizes as individual named entities without any knowledge of the disk organization.
What are the I/O devices hardware capabilities?
I/O devices are operated by reading and writing registers of the device controllers.
What are the I/O devices user needs?
The user needs simple, uniform interfaces to access different devices without detailed knowledge of the access and communication protocols.
What is abstraction?
the act of removing unimportant details or attributes of objects in order to construct more general and less complex objects
How does the OS use abstraction?
by creating hierarchies of objects where multiple operations at one level are combined into a single operation at a higher level, thus hiding the details of the implementation and making the operation easier to use
What is virtualization?
the act of creating the illusion of having one or more objects with more desirable characteristics than the real object
How does the OS use virtualization?
OSs rely on virtualization to create virtual CPUs, memory, I/O devices, and other system components that facilitate the work of programmers and users
How is the OS an extended machine?
abstraction and virtualization lets the OS make objects with expanded functionality and more favorable characteristics
What is multiprogramming?
a technique that keeps several programs active in memory and switches execution among the different programs to maximize the use of the CPU and other resources.
-Whenever a program enters an I/O-bound phase where little CPU time is needed, other programs can resume and utilize the CPU in the meantime. Similarly, whenever a device completes an operation, the OS activates computations that can utilize the now available device.
What is time-sharing (multitasking)?
an extension of multiprogramming where the CPU is switched periodically among all active computations to guarantee acceptable response times to each user. Time-sharing employs the concept of virtualization by creating the illusion of having a separate virtual CPU for each computation.
What is the Kernel of an OS?
the minimal set of functions necessary to manage the system resources safely and efficiently
What is a privileged instruction?
Instructions that perform critical operations that access I/O devices and the CPU’s status and control registers. Thus only the OS kernel is allowed to execute privileged instructions.