CO2017
Operating Systems
Operating System Concepts Silberschatz, Galvin and Gagne ©2018
Textbook and References
● [1] “Operating System Concepts”, Abraham Silberschatz, Greg
Gagne, Peter B. Galvin, 10th Edition, John Wiley & Sons, 2018.
ISBN1119439256, 9781119439257, 976 pages.
● [2] “Operating Systems: Three Easy Pieces”, Remzi H. Arpaci-
Dusseau, Andrea C. Arpaci-Dusseau, CreateSpace Independent
Publishing Platform, 2018.
ISBN198508659X, 9781985086593, 714 pages.
Operating System Concepts 5 Silberschatz, Galvin and Gagne ©2018
Abstract View of Computer Components
Operating System Concepts 11 Silberschatz, Galvin and Gagne ©2018
Common Functions of Interrupts
● Device controller informs CPU that it has finished its operation by
raising an interrupt or CPU has to do a polling for an I/O completion
(possibly waste a large number of CPU cycles)
● Interrupt transfers control to the interrupt service routine generally,
through the interrupt vector, which contains the addresses of all the
service routines
● Interrupt architecture must save the address and status of the interrupted
instruction
● A trap (or exception) is a software-generated interrupt caused either
by an error or a user request
● An operating system is interrupt-driven
Operating System Concepts 17 Silberschatz, Galvin and Gagne ©2018
Interrupt Timeline
Operating System Concepts 18 Silberschatz, Galvin and Gagne ©2018
Interrupt-driven I/O Cycle
Operating System Concepts 20 Silberschatz, Galvin and Gagne ©2018
Storage Structure
● Main memory – only storage media that the CPU can access directly
● Random access, typically in the form of Dynamic Random-Access
Memory (DRAM)
● Typically volatile
● Secondary storage – extension of main memory that provides large
nonvolatile storage capacity
● Hard Disk Drives (HDD) – rigid metal or glass platters covered with
magnetic recording material
4 Disk surface is logically divided into tracks, which are subdivided into sectors
● Non-volatile memory (NVM) devices– faster than hard disks, nonvolatile
4 Becoming more popular as capacity and performance increases, price drops
4 Various technologies
Operating System Concepts 22 Silberschatz, Galvin and Gagne ©2018
Storage Hierarchy
● Storage systems are organized in hierarchy according to
● Speed (or access time)
● Capacity
● Volatility
● Cost
● Caching – mechanism copying data into faster storage system
● Main memory can be viewed as a cache for secondary storage
Operating System Concepts 24 Silberschatz, Galvin and Gagne ©2018
Storage-Device Hierarchy
Operating System Concepts 25 Silberschatz, Galvin and Gagne ©2018
An example of storage hierarchy
Operating System Concepts 26 Silberschatz, Galvin and Gagne ©2018
Direct Memory Access Structure
● Used for high-speed I/O devices able to transmit information at
close to memory speeds
● Device controller transfers blocks of data from local buffer directly to
main memory without CPU intervention
● Only one interrupt is generated per block, rather than the one
interrupt per byte
Operating System Concepts 28 Silberschatz, Galvin and Gagne ©2018
Computer-System Architecture
● Most older systems use a single general-purpose processor
● Most systems have special-purpose processors as well
● Multiprocessors systems growing in use and importance
● Also known as parallel systems, tightly-coupled systems
● Advantages include:
4 Increased throughput
4 Economy of scale, increased reliability – graceful degradation or fault tolerance
● Two types:
4 Asymmetric Multiprocessing – each processor is assigned a special task.
4 Symmetric Multiprocessing – each processor performs all tasks
Operating System Concepts 29 Silberschatz, Galvin and Gagne ©2018
Symmetric Multiprocessing Architecture
Operating System Concepts 30 Silberschatz, Galvin and Gagne ©2018
A Dual-Core Design
● Multi-chip and
multicore
● Systems containing
all chips
● Chassis containing
multiple separate
systems
Operating System Concepts 31 Silberschatz, Galvin and Gagne ©2018
Non-Uniform Memory Access System
Non-Uniform Memory Access (NUMA)
Operating System Concepts 32 Silberschatz, Galvin and Gagne ©2018
Clustered Systems
● 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
4 Asymmetric clustering has one machine in hot-standby mode
4 Symmetric clustering has multiple nodes running applications
● Some clusters are used for High-
Performance Computing (HPC)
4 Applications must be written to use
parallelization
● Some clusters have Distributed
Lock Manager (DLM) to avoid
conflicting operations
Operating System Concepts 33 Silberschatz, Galvin and Gagne ©2018
Transition from User to Kernel Mode
● Timer to prevent infinite loop / process hogging resources
● Timer is set to interrupt the computer after some time period. Operating system
sets a counter (privileged instruction), keeps the counter that is decremented by
the physical clock, when counter zero generate an interrupt.
● Set up before scheduling process to regain control or terminate program that
exceeds allotted time.
Operating System Concepts 40 Silberschatz, Galvin and Gagne ©2018
Caching
● Important principle, performed at many levels in a computer (in
hardware, operating system, software)
● Information in use copied from slower to faster storage temporarily
● Faster storage (cache) checked to determine if information is there?
● If it is, information used directly from the cache (fast)
● If not, data copied to cache and used there
● Cache is smaller than storage being cached
● Cache management is an important design problem
● Cache size and replacement policy
Operating System Concepts 46 Silberschatz, Galvin and Gagne ©2018
Various Types of Storage
● Movement between levels of storage hierarchy can be
explicit or implicit
Operating System Concepts 47 Silberschatz, Galvin and Gagne ©2018
Migration of Data from Disk to Register
● Multitasking environment must be careful to use most recent value,
no matter where it is stored in the storage hierarchy
● Multiprocessor environment must provide cache coherency in
hardware such that all CPUs have the most recent value in their
cache
● In distributed environment, the situation is even more complex
● Several copies of a datum can exist
● Various solutions
Operating System Concepts 48 Silberschatz, Galvin and Gagne ©2018
I/O Subsystem
● One purpose of OS is to hide peculiarities of hardware devices from
the user
● I/O subsystem is 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)
● I/O subsystem includes
● General device-driver interface
● Drivers for specific hardware devices
Operating System Concepts 49 Silberschatz, Galvin and Gagne ©2018
Protection and Security
● 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
● Systems generally first distinguish among users, to determine who
can do what
4 User identity (UID, or security ID) includes name and an associated number.
User ID is then associated with all files, processes of that user to determine
access control
4 Group identifier (GID) allows set of users to be defined for access control,
then also associated with each process or file
4 Privilege escalation allows user to change to effective ID with more rights
Operating System Concepts 50 Silberschatz, Galvin and Gagne ©2018
Virtualization
● Allows operating systems to run applications within other OSes
● Vast and growing industry
● Emulation used when source CPU type different from target CPU
type (e.g., PowerPC to Intel x86)
● Generally slowest method
● When computer language not compiled to native code – Interpretation
● Virtualization – OS natively compiled for CPU, running guest OSes
also natively compiled
● E.g., Consider VMware running WinXP guests, each running
applications, all on native WinXP host OS
● Virtual Machine Manager (VMM) provides virtualization services
Operating System Concepts 51 Silberschatz, Galvin and Gagne ©2018
Computing Environments - Virtualization
A single A virtualization system
operating with 3 OSes
system
Operating System Concepts 53 Silberschatz, Galvin and Gagne ©2018
Evolution
● Mainframe system
● Desktop system
● Multiprocessor system
● Distributed system
● Real-time system
● Handheld system/mobile system
Operating System Concepts 58 Silberschatz, Galvin and Gagne ©2018
Computing Environments - Traditional
● Stand-alone general purpose machines
● But blurred as most systems interconnect with others (i.e., the
Internet)
● Portals provide web access to internal systems
● Network computers (or 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
Operating System Concepts 59 Silberschatz, Galvin and Gagne ©2018
Computing Environments - Mobile
● Such as handheld smartphones, tablets, etc.
● What is the functional difference between them and a “traditional”
laptop?
● Extra feature – more OS features (e.g., GPS, gyroscope)
● Allows new types of apps like Augmented Reality (AR)
● Use IEEE 802.11 wireless, or cellular data networks for connectivity
● Leaders are Apple iOS and Google Android
Operating System Concepts 60 Silberschatz, Galvin and Gagne ©2018
Computing Environments – Client-Server
● Client-Server Computing
● Dumb terminals supplanted by smart PCs
● Many systems now servers, responding to requests generated by
clients
4 Compute-server system provides an interface to client to request services
(i.e., database)
4 File-server system provides interface for clients to store and retrieve files
Operating System Concepts 61 Silberschatz, Galvin and Gagne ©2018
Computing Environments - Peer-to-Peer
● Another model of distributed system
● P2P does not distinguish clients and
servers
● Instead all nodes are considered peers
● May each act as client, server or both
● Node must join P2P network
4 Registers its service with central lookup
service on network, or
4 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
Operating System Concepts 62 Silberschatz, Galvin and Gagne ©2018
Computing Environments – Cloud Computing
● Delivers computing, storage, apps as a service across a network
● Logical extension of virtualization because it uses virtualization as the
base for it functionality.
● E.g., Amazon EC2 has thousands of servers, millions of virtual
machines, petabytes of storage available across the Internet
● Many types of services ● Many types of structure
● Software as a Service (SaaS) – one or ● Public cloud – available via
more applications available via the Internet Internet to anyone willing to pay
● Platform as a Service (PaaS) – software ● Private cloud – run by a
stack ready for application use via the company for the company’s own
Internet use
● Infrastructure as a Service (IaaS) – ● Hybrid cloud – includes both
servers or storage available over Internet public and private cloud
(i.e., storage available for backup use) components
Operating System Concepts 63 Silberschatz, Galvin and Gagne ©2018
Computing Environments – Real-Time Embedded Systems
● Real-time embedded systems most prevalent form of computers
● Vary considerable, special purpose, limited purpose OS, real-time OS
● Use expanding
● Many other special computing environments as well
● Some have OSes, some perform tasks without an OS
● Real-time OS has well-defined fixed time constraints
● Processing must be done within constraints
● Correct operation only if constraints met
Operating System Concepts 65 Silberschatz, Galvin and Gagne ©2018
Free and Open-Source Operating Systems
● Operating systems made available in source-code format rather than
just binary closed-source and proprietary
● Counter to the copy protection and Digital Rights Management
(DRM) movement
● Started by Free Software Foundation (FSF), which has “copyleft”
GNU Public License (GPL) or Lesser GPL (LGPL)
● Free software and open-source software are two different ideas championed by
different groups of people
4 http://gnu.org/philosophy/open-source-misses-the-point.html/
● E.g., GNU/Linux and BSD UNIX (including Darwin, core of Mac OS X)
● Use VMM like VMware Player (Free on Windows), VirtualBox
● Use to run guest operating systems for exploration
Operating System Concepts 66 Silberschatz, Galvin and Gagne ©2018
End of Chapter 1
Operating System Concepts Silberschatz, Galvin and Gagne ©2018