Operating System
A program that acts as an intermediary between a user of a computer and the computer hardware.
Operating System
Execute user programs and make solving user problems easier. This also makes the computer system convenient to use and efficiently uses the computer hardware.
Hardware
A Computer System Structure. Provides basic computing resources.
Operating System
A Computer System Structure. Controls and coordinates use of hardware among various applications and users.
Application Programs
A Computer System Structure. Defines the ways in which the system resources are used to solve the computing problems of the users.
Users
A Computer System Structure. People, machines, other computers.
Operating System
A resource allocator and control program making efficient use of HW and managing execution of user programs.
Mobile
___________ devices like smartphones and tables are resource-poor, optimized for usability and battery life.
Embedded Computers
Some computers have little or no user interface. Examples include _______________ in devices and automobiles.
These primarily run without user intervention.
Kernel
The one program that runs at all times on the computer.
It manages system resources and provides low-level services to other parts of the operating system.
Application Program
all programs not associated with the operating system.
System Program
ships with the operating system, but not part of the kernel
Middleware
A set of software frameworks that provide additional services to application developers such as databases, multimedia, graphics.
Bus
One/more CPU(s) and device controllers connect through common ____________ to provide access to shared memory.
Interrupt
An event that occurs when the sevice controller informs CPU that it has finished its operation.
Interrupt Vector
A vector that contains the addresses of all the service routines. It is through here that Interrupt transfers control to the interrupt service routine.
Trap/Exception
A software-generated interrupt caused either by an error or a user request.
Interrupt Handling
The event where the operating system preserves the state of the CPU by storing the registers and the program counter.
This determines which interrupt type has occured, and separate segments of code determine what action should be taken for each type of interrupt.
System Call
When there is a request to the OS to allow user to wait for I/O completion.
Device-status table
A table that contains entry for each I/O device indicating its type, address, and state.
Main Memory
The only large storage media that the CPU can access directly.
This is typically Random Access (in the form of Dynamic Random-access Memory or DRAM) and volatile (maintains its data only while the device is powered)
Secondary Memory
The extension of main memory that provides large nonvolatile storage capacity.
This typically pertains to ROM memory, like your C:/ or D:/ drives which stores files, as it can still maintain data even if the device is off.
Hard Disk Drives
Rigid metal or glass platters covered with magnetic recording material.
Its disk surface is logically divided into tracks, which are subdivided into sectors.
Disk Controller
Part of the Hard Disk Drive.
This determines the logical interaction between the device and the computer.
Non-volatile Memory
Devices that are faster than hard disks, nonvolatile.
It makes use of various technologies, and it is becoming more popular as capacity and performance increases, and price drops.
Caching
The process of copying information into faster storage system; main memory (RAM) can be viewed as a cache for secondary storage.
Device Driver
Manages Input and Output for each device controller, such as, sound, Bluetooth, peripherals, etc.
Bootstrap Program
A program that contains simple code to initialize the system and load the kernel.
Software error
A type of Software Interrupt.
Example: Division by 0
System Call
A type of Software Interrupt.
Example: Request for operating system service.
Process Overlap or Infinite Loop
A type of Software Interrupt.
Example: Other process problems.
Interactive Computing
When the CPU switches jobs so frequently that users can interact with each job while it is running.
CPU Scheduling
When several jobs are ready to run at the same time.
Swapping
Moves processes in and out to run if they don’t fit in memory.
Virtual Memory
Allows the execution of processes not completely in memory.
Process
When each user has at least one program executing in memory.
Dual-Mode Operation
Allows OS to protect itself and other system components. Has User Mode and Kernel Mode. The Mode Bit is provided by hardware.
Privileged
Instructions designated as only executable in kernel mode.
Timer
Used to prevent infinite loop or process hogging resources. This is set to interrupt the computer after some time period.
Program Counter
Single-threaded process has one ____________________ specifying location of next instruction to execute.
Thread
Multi-threaded process has one program counter per ___________________.
Process Management
The operating system is responsible for the following activities in connection with _____________________:
Creating and deleting both user and system processes
Suspending and resuming processes
Providing mechanisms for process synchronization
Providing mechanisms for process communication
Providing mechanisms for deadlock handling
Memory Management
OS Management that keeps track of which parts of memory are currently being used and by whom. Decides which processes (or parts thereof) and data to move into and out of memory and allocating and deallocating memory space as needed.
File-system Management
OS Management that organizes files into directories. It is an access control on most systems to determine who can access what.
OS activities include:
Creating and deleting files and directories
Primitives to manipulate files and directories
Mapping files onto secondary storage
Backup files onto stable (non-volatile) storage media
Mass-Storage Management
OS Management that stores and manages data that does not fit in main memory or data that must be kept for a “long” period of time.
OS activities
Mounting and unmounting
Free-space management
Storage allocation
Disk scheduling
Partitioning
Protection
Caching
The process of information in use is copied from slower to faster storage temporarily.
Faster storage (cache) is checked first to determine if the information is there.
If it is, information is used directly from the cache (fast). •
If not, data is copied to the cache and used there.
Cache Coherency
Multiprocessor environment must provide _______________ in hardware such that all CPUs have the most recent value in their cache.
I/O Subsystem
An OS Subsystem that hides peculiarities of hardware devices from the user.
Responsible for:
Memory management of I/O including buffering (storing data temporarily while it is being transferred), caching (storing parts of data in faster storage for performance), spooling (the overlapping of output of one job with input of other jobs)
General device-driver interface
Drivers for specific hardware devices
Protection
any mechanism for controlling access of processes or users to resources defined by the OS.
Security
defense of the system against internal and external attacks.
Huge range, including denial-of-service, worms, viruses, identity theft, theft of service
user ID
User identities that include name and associated number, one per user.
group ID
Group identifier that allows set of users to be defined and controls managed, then also associated with each process, file.
Privilege Escalation
allows user to change to effective ID with more rights.
Virtualization
Allows operating systems to run applications within other OSes. OSes are natively compiled for CPU, and running guest OSes are also natively compiled.
Emulation
Generally the slowest method of virtualization, used when source CPU type different from target type (i.e. PowerPC to Intel x86).
In this process, the computer language not compiled to native code and mainly makes use of interpretation.
Virtual Machine Manager
AKA VMM, provides virtualization services.
Distributed Systems
A collection of separate, possibly heterogeneous, systems networked together.
Network
___________ is a communications path, TCP/IP most common.
Local Area Network (LAN)
Wide Area Network (WAN)
Metropolitan Area Network (MAN)
Personal Area Network (PAN)
Network Operating System
An Operating System that provides features between systems across networks.
Multiprocessors
Also known as parallel systems, tightly-coupled systems • Advantages include:
Increased throughput
Economy of scale
Increased reliability – graceful degradation or fault tolerance
Has two types:
Asymmetric Multiprocessing
Symmetric Multiprocessing
Asymmetric Multiprocessing
each processor is assigned a specic task.
Symmetric Multiprocessing
each processor performs all tasks
Dual-Core Design
A Processor Design that is multi-chip and multicore.
Systems containing all chips
Chassis containing multiple separate systems
Clustered Systems
A system that is like multiprocessor systems, but multiple systems working together • Usually sharing storage via a storage-area network (SAN).
Provides a high-availability service which survives failures.
Two types:
Asymmetric clustering
Symmetric clustering
Asymmetric clustering
A Clustered System Type. Has one machine in hot-standby mode.
Symmetric clustering
A Clustered System Type. Has multiple nodes running applications, monitoring each other.
High-Performance Computing
A Type of Computing where applications must be written to use parallelization.
Distributed Lock Manager
Used by some Clustered Systems to avoid conflicting operations.
Traditional
A Computing Environment. Is a stand-alone general-purpose machine, blurred as most systems interconnect with others (i.e., the Internet).
Portals provide web access to internal systems
Network computers (thin clients) are like Web terminals.
Mobile computers interconnect via wireless networks.
Networking becoming ubiquitous – even home systems use firewalls to protect home computers from Internet attacks.
Mobile
A Computing Environment. Examples of devices making use of this are handheld smartphones, tablets, etc.
Extra feature – more OS features (GPS, gyroscope)
Allows new types of apps like augmented reality
Use IEEE 802.11 wireless, or cellular data networks for connectivity
Leaders are Apple iOS and Google Android
Client Server
A Computing Environment.
Dumb terminals supplanted by smart PCs.
Many systems now servers, responding to requests generated by clients.
Compute-server system provides an interface to client to request services (i.e., database)
File-server system provides interface for clients to store and retrieve files.
Peer-to-Peer
A Computing Environment. Another model of distributed system.
Does not distinguish clients and servers
Instead all nodes are considered peers
May each act as client, server or both
Node must join network
Registers its service with central lookup service on network, or
Broadcast request for service and respond to requests for service via discovery protocol
Examples include Napster and Gnutella, Voice over IP (VoIP) such as Skype.
Cloud Computing
A Computing Environment. Delivers computing, storage, and even apps as a service across a network.
Its environments are composed of traditional OSes, plus VMMs, plus cloud management tools.
The logical extension of virtualization because it uses virtualization as the base for its functionality.
Amazon EC2 has thousands of servers, millions of virtual machines, and petabytes of storage available across the Internet, and pay-based on usage.
Many types:
Public cloud
Private cloud
Hybrid cloud
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
Public cloud
A type of Cloud Computing. Available via Internet to anyone willing to pay.
Private cloud
A type of Cloud Computing. Run by a company for the company’s own use.
Hybrid cloud
A type of Cloud Computing. Includes both public and private cloud components.
Software as a Service/SaaS
A type of Cloud Computing. One or more applications available via the Internet (i.e., word processor).
Platform as a Service/PaaS
A type of Cloud Computing. Software stack ready for application use via the Internet (i.e., a database server).
Infrastructure as a Service/IaaS
A type of Cloud Computing. Servers or storage available over Internet (i.e., storage available for backup use).
Load Balancers
Part of cloud computing. Spreads traffic across multiple applications.
Firewalls
Internet connectivity requires security such as _______________.
Real-Time Embedded Systems
Systems that are the most prevalent form of computers. Real-time OS. Special purpose, limited purpose OS.
Many other special computing environments as well
Some have OSes, some perform tasks without an OS
Processing must be done within constraint
Correct operation only if constraints met
Open-Source Operating Systems
Operating systems that are made available in source-code format rather than just binary closed-source and proprietary.
Started by Free Software Foundation (FSF), which has “copyleft” GNU Public License (GPL).
Examples include GNU/Linux and BSD UNIX (including core of Mac OS X), and many more.
Singly Linked List
A Kernel Data Structure.
Doubly Linked List
A Kernel Data Structure.
Circular Linked List
A Kernel Data Structure.
Binary Tree
A Kernel Data Structure.
Hash function
A Kernel Data Structure.
Bitmap
A Kernel Data Structure.
system daemons
services provided outside of the kernel
workstations
Users of dedicate systems such as _____________ have dedicated resources but frequently use shared resources from servers
interrupt-driven
An operating system and the kernel is ______________.
Multiprogramming
_____________ organizes jobs (code and data) so the CPU always has one to execute.
One job is then selected and run via job scheduling.
When a job has to wait (for I/O for example), OS switches to another job.
passive entity
Program is a ____________.
active entity
Process is a ______________.
portals
Traditional Computing.
______________ provide web access to internal systems.
Compute-server system
System in a Client Server that provides an interface to client to request services (i.e., database)
File-server system
System in a Client Server that provides interface for clients to store and retrieve files
Digital Rights Management
Free and Open-Source Operating Systems were made to counter the copy protection and _____________________ (DRM) movement
GNU
GNU/Linux and BSD UNIX are Operating Systems that are part of the ____________ Public License