1/121
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
operating system
software that manages a computer's hardware. It also provides a basis for application programs and acts as an intermediary between the computer user and the computer hardware.
hardware
the central processing unit (CPU), the memory, and the input/output (I/O) devices—provides the basic computing resources for the system.
application programs
such as word processors, spreadsheets, compilers, and web browsers—define the ways in which these resources are used to solve users' computing problems.
environment
An operating system is similar to a government. Like a government, it performs no useful function by itself. It simply provides an environment within which other programs can do useful work.
kernel
the main part of an operating system that starts running as soon as a computer turns on
system program
software related to the operating system but designed for smaller and more specific tasks . (Utility Software)
Bus
A communication system; e.g., within a computer, a bus connects various components, such as the CPU and I/O devices, allowing them to transfer data and commands.

device driver
An operating system component that provides uniform access to various devices and manages I/O to those devices.
interrupt
A hardware mechanism that enables a device to notify the CPU that it needs attenti
interrupt vector
An operating-system data structure indexed by interrupt address and pointing to the interrupt handlers. A kernel memory data structure that holds the addresses of the interrupt service routines for the various devices.
interrupt-request line
The hardware connection to the CPU on which interrupts are signaled.
interrupt-handler routine
An operating system routine that is called when an interrupt signal is received.
interrupt-controller hardware
Computer hardware components for interrupt management
nonmaskable interrupt
An interrupt that cannot be delayed or blocked (such as an unrecoverable memory error)
maskable
Describes an interrupt that can be delayed or blocked (such as when the kernel is in a critical section).
interrupt chaining
A mechanism by which each element in an interrupt vector points to the head of a list of interrupt handlers, which are called individually until one is found to service the interrupt request.
interrupt priority level
Prioritization of interrupts to indicate handling order.
bootstrap program
the first program that starts a computer by getting everything ready for the main software to run when the computer is turned on
electrically erasable programmable read-only memory (EEPROM)
a type of nonvolatile memory that can be electrically erased and reprogrammed to store data
Memory Device Types (review)
hard disk drive (HDD): a storage device that uses spinning disks and read/write heads to store and retrieve data
nonvolatile memory (NVM): memory that retains data even when power is turned off
nonvolatile storage (NVS): storage that keeps data without needing power, such as hard drives and SSDs
solid state drive (SSD): a storage device that uses flash memory to store data with no moving parts
random-access memory (RAM): a computer's main memory that can be used quickly to run programs
dynamic random-access memory (DRAM): a type of RAM that is fast and used a lot in computers
User Mode
refers to the CPU operating mode that restricts certain instructions from executing user processes
kernel mode
refers to a CPU operating mode where all instructions are accessible
mode bit
added to the hardware of the computer to indicate the current mode: kernel (0) or user (1). With the mode bit, we can distinguish between a task that is executed on behalf of the operating system and one that is executed on behalf of the user.
privileged instructions
The hardware allows privileged instructions to be executed only in kernel mode.
switch to kernel mode is an example of a privileged instruction. Some other examples include I/O control, timer management, and interrupt management
protection rings
A model of privilege separation consisting of a series of rings, with each successive ring representing greater execution privileges.
virtual machine manager
The computer function that manages the virtual machine; also called a hypervisor.
Has privileged access somewhere between User and Kernel
timer
A hardware component that can be set to interrupt the computer after a specified period.
batch operating system
executes similar jobs in batches to optimize CPU use without user interaction
multiprogramming
keeps multiple programs in memory to maximize CPU usage by switching between them
time-sharing system
n operating system that allows multiple users to share computer resources simultaneously
real-time system
ensures tasks are completed within defined time limits, including hard (strict) and soft (flexible) real-time systems
hard real-time
handles critical tasks that must meet strict, predefined time constraints without virtual memory or time-sharing
soft real-time
handles tasks with deadlines that are more flexible than hard real-time systems, allowing for some timing variability
distributed operating system
handles networked processors that collaborate on tasks, enabling resource sharing and high-speed processing
loosely coupled systems
systems where each component or computer is independent and communicates over a network
fault tolerance
the ability of a multiprocessor system to handle the failure of a processor by redistributing its tasks to other processors, ensuring continuous operation
resource manager
The system's CPU, memory space, file-storage space, and I/O devices are among the resources that the operating system must manage
I/O subsystem
The I/O subsystem consists of several components:
A memory-management component that includes buffering, caching, and spooling
A general device-driver interface
Drivers for specific hardware devices
shared memory
In interprocess communication, a section of memory shared by multiple processes and used for message passing.
message passing
In interprocess communication, a method of sharing data in which messages are sent and received by processes. Packets of information in predefined formats are moved between processes or between computers.
command interpreter
The operating system component that interprets user commands and causes actions based on them.
shells
One of the command interpreters on a system with multiple command interpreters to choose from.
shell scripts
A file containing a set series of commands (similar to a batch file) that are specific to the shell being used.
System calls
Software-triggered interrupt allowing a process to request a kernel service.
process control
Definition: A running program needs to halt its execution either normally or abnormally.
create process, terminate process
load, execute
get process attributes, set process attributes
wait event, signal event
allocate and free memory
file management
Definition: Managing files includes creating, deleting, opening, reading, writing, and closing.
create file, delete file
open, close
read, write, reposition
get file attributes, set file attributes
device management
Definition: Managing physical and virtual devices
request device, release device
read, write, reposition
get device attributes, set device attributes
logically attach or detach devices
information maintenance
Definition: Transferring information between user programs and the operating system
get time or date, set time or date
get system data, set system data
get process, file, or device attributes
set process, file, or device attributes
communications
Definition: Enabling processes to exchange information
create, delete communication connection
send, receive messages
transfer status information
attach or detach remote devices
protection
Definition: Controlling access to computer system resources
get file permissions
set file permissions
application programming interface (API)
A set of commands, functions, and other tools that can be used by a programmer in developing a program.
These APIs allow developers to write portable code that can run on any system supporting the same API.
runtime environment (RTE)
handles these system calls, using a system-call interface
system-call interface
translates API functions into kernel-level operations
6 Types of System Calls
Process Control
File Management
Device Management Information Maintenance
Communication
Protection
symmetric multiprocessing (SMP)
each peer CPU processor performs all tasks, including operating-system functions and user processes
clustered system
A system that gathers together multiple CPUs. Clustered systems differ from multiprocessor systems in that they are composed of two or more individual systems—or nodes—joined together.
high-availability
Describes a service that will continue even if one or more systems in the cluster fail.
graceful degradation
The ability of a system to continue providing service proportional to the level of surviving hardware.
fault-tolerant system
A system that can suffer a failure of any single component and still continue operation.
asymmetric clustering
A configuration in which one machine in a cluster is in hot-standby mode while the other is running applications.
hot-standby mode
A condition in which a computer in a cluster does nothing but monitor the active server. If that server fails, the hot-standby host becomes the active server.
symmetric clustering
A situation in which two or more hosts are running applications and are monitoring each other.
distributed lock manager (DLM)
A function used by a clustered system to supply access control and locking to ensure that no conflicting operations occur.
storage-area network (SAN)
A local-area storage network allowing multiple computers to connect to one or more storage devices.
System services
also known as system utilities, provide a convenient environment for program development and execution. Some of them are simply user interfaces to system calls. Others are considerably more complex.
7 Examples of System Services
File management
Status Information
File modification
Programming Language Support
Program Loading and Execution
Communications
Background Services
system utility
A collection of applications included with or added to an operating system to provide services beyond what are provided by the kernel.
registry
A file, set of files, or service used to store and retrieve configuration information. In Windows, the manager of hives of data.
service
A software entity running on one or more machines and providing a particular type of function to calling clients. In Android, an application component with no user interface; it runs in the background while executing long-running operations or performing work for remote processes.
subsystem
A subset of an operating system responsible for a specific function (e.g., memory management).
application program
A program designed for end-user execution, such as a word processor, spreadsheet, compiler, or Web browser.
monolithic structure
Singe static binary file, changes affect entire structure.
layered approach
The main advantage of the layered approach is simplicity of construction and debugging
microkernel
his method structures the operating system by removing all nonessential components from the kernel and implementing them as user-level programs that reside in separate address spaces.
Advantage: is easier to port from one hardware design to another. The microkernel also provides more security and reliability, since most services are running as user—rather than kernel—processes. If a service fails, the rest of the operating system remains untouched.
loadable kernel module (LKM)
A kernel structure in which the kernel has a set of core components and can link in additional services via modules, either at boot time or during run time.
application frameworks layer
n the layered macOS and iOS operating system design, the layer that includes Cocoa and Cocoa Touch frameworks, providing an API for Objective-C and Swift programming languages.
kernel environment
in the layered macOS and iOS operating system design, the darwin layer that includes the mach microkernel and the bsd unix kernel.
Mach
An operating system with microkernel structure and threading; developed at Carnegie Mellon University.
Process State
As a process executes, it changes state. The state of a process is defined in part by the current activity of that process. A process may be in one of the following states:
New. The process is being created.
Running. Instructions are being executed.
Waiting. The process is waiting for some event to occur (such as an I/O completion or reception of a signal).
Ready. The process is waiting to be assigned to a processor.
Terminated. The process has finished execution.
Process Control Block
serves as the repository for all the data needed to start, or restart, a process, along with some accounting data.
Process State
Program Counter
CPU Registers
CPU scheduling info
Memory Management info
Accounting info
I/O status info
task
A process, a thread activity, or, generally, a unit of computation on a computer.
text section
The executable code of a program or process.
data section
The data part of a program or process; it contains global variables.
heap section
The section of process memory that is dynamically allocated during process run time; it stores temporary variables.
stack section
The section of process memory that contains the stack; it contains activation records and other temporary data.
activation record
record created when a function or subroutine is called; added to the stack by the call and removed when the call returns. Contains function parameters, local variables, and the return address.
task control block
A per-process kernel data structure containing many pieces of information associated with the process.
thread
A process control structure that is an execution location. A process with a single thread executes only one task at a time, while a multithreaded process can execute a task per thread.
process scheduler
A scheduler that selects an available process (possibly from a set of several processes) for execution on a CPU.
degree of multiprogramming
The number of processes in memory.
I/O-bound process
A process that spends more of its time doing I/O than doing computations
CPU-bound process
A process that spends more time executing on CPU than it does performing I/O
ready queue
The set of processes ready and waiting to execute.
wait queue
In process scheduling, a queue holding processes waiting for an event to occur before they need to be put on CPU.
dispatched
Selected by the process scheduler to be executed next.
CPU scheduler
Kernel routine that selects a thread from the threads that are ready to execute and allocates a core to that thread.
foreground
Describes a process or thread that is interactive (has input directed to it), such as a window currently selected as active or a terminal window currently selected to receive input.
background:
Describes a process or thread that is not currently interactive (has no interactive input directed to it), such as one not currently being used by a user. In the Grand Central Dispatch Apple OS scheduler, the scheduling class representing tasks that are not time sensitive and are not visible to the user.
split-screen
Running multiple foreground processes (e.g., on an iPad) but splitting the screen among the processes.
service
A software entity running on one or more machines and providing a particular type of function to calling clients. In Android, an application component with no user interface; it runs in the background while executing long-running operations or performing work for remote processes.