Chapter 1: Introduction
Operating System Concepts – 10h Edition Silberschatz, Galvin and Gagne ©2018
Outline
▪ What Operating Systems Do
▪ Computer-System Organization
▪ Computer-System Architecture
▪ Operating-System Operations
▪ Resource Management
▪ Distributed Systems
▪ Computing Environments
▪ Free/Libre and Open-Source Operating Systems
Operating System Concepts – 10th Edition 1.2 Silberschatz, Galvin and Gagne ©2018
Objectives
▪ Describe the general organization of a computer system and the
role of interrupts
▪ Describe the components in a modern, multiprocessor computer
system
▪ Illustrate the transition from user mode to kernel mode
▪ Discuss how operating systems are used in various computing
environments
▪ Provide examples of free and open-source operating systems
Operating System Concepts – 10th Edition 1.3 Silberschatz, Galvin and Gagne ©2018
What is an Operating System?
▪ A program that acts as an intermediary between a user of a
computer and the computer hardware
▪ Operating system goals:
• Execute user programs and make solving user problems
easier
• Make the computer system convenient to use
• Use the computer hardware in an efficient manner
Operating System Concepts – 10th Edition 1.4 Silberschatz, Galvin and Gagne ©2018
Computer System Structure
▪ Computer system can be divided into four components:
• Hardware – provides basic computing resources
CPU, memory, I/O devices
• Operating system
Controls and coordinates use of hardware among various applications
and users
• Application programs – define the ways in which the system resources are
used to solve the computing problems of the users
Word processors, compilers, web browsers, database systems, video
games
• Users
People, machines, other computers
Operating System Concepts – 10th Edition 1.5 Silberschatz, Galvin and Gagne ©2018
What Operating Systems Do
▪ Depends on the point of view
▪ Users want convenience, ease of use and good performance
• Don’t care about resource utilization
▪ But shared computer such as mainframe or minicomputer must keep
all users happy
• Operating system is a resource allocator and control program
making efficient use of HW and managing execution of user
programs
Operating System Concepts – 10th Edition 1.6 Silberschatz, Galvin and Gagne ©2018
What Operating Systems Do (Cont.)
▪ Users of dedicate systems such as workstations have dedicated
resources but frequently use shared resources from servers
▪ Mobile devices like smartphones and tablets are resource poor,
optimized for usability and battery life
• Mobile user interfaces such as touch screens, voice recognition
▪ Some computers have little or no user interface, such as embedded
computers in devices and automobiles
• Run primarily without user intervention
Operating System Concepts – 10th Edition 1.7 Silberschatz, Galvin and Gagne ©2018
Operating System Definition
▪ “The one program running at all times on the computer” is the kernel,
which is part of the operating system
▪ Everything else is either
• A system program (ships with the operating system, but not part of
the kernel) , or
• An application program, all programs not associated with the
operating system
▪ Today’s OSes for general purpose and mobile computing also include
middleware – a set of software frameworks that provide addition services
to application developers such as databases, multimedia, graphics
Operating System Concepts – 10th Edition 1.8 Silberschatz, Galvin and Gagne ©2018
Overview of Computer System Structure
Operating System Concepts – 10th Edition 1.9 Silberschatz, Galvin and Gagne ©2018
Computer System Organization
▪ Computer-system operation
• One or more CPUs, device controllers connect through common
bus providing access to shared memory
• Concurrent execution of CPUs and devices competing for memory
cycles
Operating System Concepts – 10th Edition 1.10 Silberschatz, Galvin and Gagne ©2018
Computer-System Operation
▪ I/O devices and the CPU can execute concurrently
▪ Each device controller is in charge of a particular device type
▪ Each device controller has a local buffer
▪ Each device controller type has an operating system device driver
to manage it
▪ CPU moves data from/to main memory to/from local buffers
▪ I/O is from the device to local buffer of controller
▪ Device controller informs CPU that it has finished its operation by
causing an interrupt
✓ Interrupt transfers control to the interrupt service routine generally,
through the interrupt vector, which contains the addresses of all
the service routines
✓ An operating system is interrupt driven
Operating System Concepts – 10th Edition 1.11 Silberschatz, Galvin and Gagne ©2018
Storage Structure
Operating System Concepts – 10th Edition 1.12 Silberschatz, Galvin and Gagne ©2018
Storage Structure
▪ Main memory – only large storage media that the CPU can
access directly
• Typically, volatile
• Typically, random-access memory in the form of
Dynamic Random-access Memory (DRAM)
▪ Secondary storage – extension of main memory that
provides large nonvolatile storage capacity
Operating System Concepts – 10th Edition 1.13 Silberschatz, Galvin and Gagne ©2018
Storage Structure (Cont.)
▪ Hard Disk Drives (HDD) – rigid metal or glass platters
covered with magnetic recording material
• Disk surface is logically divided into tracks, which are
subdivided into sectors
• The disk controller determines the logical interaction
between the device and the computer
▪ Non-volatile memory (NVM) devices– faster than hard disks,
nonvolatile
• Various technologies
• Becoming more popular as capacity and performance
increases, price drops
Operating System Concepts – 10th Edition 1.14 Silberschatz, Galvin and Gagne ©2018
Storage-Device Hierarchy
Operating System Concepts – 10th Edition 1.15 Silberschatz, Galvin and Gagne ©2018
How a Modern Computer Works
A von Neumann architecture
Operating System Concepts – 10th Edition 1.16 Silberschatz, Galvin and Gagne ©2018
Operating-System Operations
▪ Bootstrap program – simple code to initialize the system, load the
kernel
▪ Kernel loads
▪ Starts system daemons (services provided outside of the kernel)
▪ Kernel interrupt driven (hardware and software)
• Hardware interrupt by one of the devices
• Software interrupt (exception or trap):
Software error (e.g., division by zero)
Request for operating system service – system call
Operating System Concepts – 10th Edition 1.17 Silberschatz, Galvin and Gagne ©2018
Multiprogramming (Batch system)
▪ Single user cannot always keep CPU and I/O devices busy
▪ Multiprogramming organizes jobs (code and data) so CPU
always has one to execute
▪ A subset of total jobs in system is kept in memory
▪ One job selected and run via job scheduling
▪ When job has to wait (for I/O for example), OS switches to
another job
Operating System Concepts – 10th Edition 1.18 Silberschatz, Galvin and Gagne ©2018
Multitasking (Timesharing)
▪ A logical extension of Batch systems– the CPU
switches jobs so frequently that users can interact
with each job while it is running, creating
interactive computing
• Response time should be < 1 second
• Each user has at least one program executing
in memory, which is called process
• If several jobs ready to run at the same time
CPU scheduling
• If processes don’t fit in memory, swapping
moves them in and out to run
• Virtual memory allows execution of processes
not completely in memory
Operating System Concepts – 10th Edition 1.19 Silberschatz, Galvin and Gagne ©2018
Dual-mode Operation
▪ Dual-mode operation allows OS to protect itself and other
system components
• User mode and kernel mode
▪ Mode bit provided by hardware
• Provides ability to distinguish when system is running user
code or kernel code.
• When a user is running ➔ mode bit is “user”
• When kernel code is executing ➔ mode bit is “kernel”
▪ Some instructions designated as privileged, only executable in
kernel mode
Operating System Concepts – 10th Edition 1.20 Silberschatz, Galvin and Gagne ©2018
Process Management
▪ A process is a program in execution. It is a unit of work within the
system. Program is a passive entity; process is an active entity.
▪ Process needs resources to accomplish its task
• CPU, memory, I/O, files
• Initialization data
▪ Process termination requires reclaim of any reusable resources
▪ Single-threaded process has one program counter specifying location
of next instruction to execute
▪ Multi-threaded process has one program counter per thread
▪ Typically, system has many processes, some user, some operating
system running concurrently on one or more CPUs
Operating System Concepts – 10th Edition 1.21 Silberschatz, Galvin and Gagne ©2018
Memory Management
▪ To execute a program all (or part) of the instructions must be in
memory
▪ All (or part) of the data that is needed by the program must be in
memory
▪ Memory management determines what is in memory and when
▪ Memory management activities
• Keeping track of which parts of memory are currently being used
and by whom
• Deciding which processes (or parts thereof) and data to move into
and out of memory
• Allocating and deallocating memory space as needed
Operating System Concepts – 10th Edition 1.22 Silberschatz, Galvin and Gagne ©2018
File-system Management
▪ OS provides uniform, logical view of information storage
• Abstracts physical properties to logical storage unit - file
• Each medium is controlled by device (i.e., disk drive, tape drive)
▪ File-System management
• Files usually organized into directories
• Access control on most systems
• OS activities include
Creating and deleting files and directories
Mapping files onto secondary storage
Operating System Concepts – 10th Edition 1.23 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 first 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
Operating System Concepts – 10th Edition 1.24 Silberschatz, Galvin and Gagne ©2018
Characteristics of Various Types of Storage
Movement between levels of storage hierarchy can be explicit or implicit
Operating System Concepts – 10th Edition 1.25 Silberschatz, Galvin and Gagne ©2018
Distributed Systems
▪ 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 provides features between systems
across network
• Communication scheme allows systems to exchange messages
• Illusion of a single system
Operating System Concepts – 10th Edition 1.26 Silberschatz, Galvin and Gagne ©2018
Computer-System Architecture
Operating System Concepts – 10th Edition 1.27 Silberschatz, Galvin and Gagne ©2018
Computer-System Architecture
▪ Most systems use a single general-purpose processor
• Most systems have special-purpose processors as well
▪ Multiprocessor's systems growing in use and importance
• Also known as parallel systems, tightly-coupled systems
• Advantages include:
1. Increased throughput
2. Economy of scale
3. Increased reliability – graceful degradation or fault tolerance
• Two types:
1. Asymmetric Multiprocessing – each processor is assigned
a specie task.
2. Symmetric Multiprocessing – each processor performs all
tasks
Operating System Concepts – 10th Edition 1.28 Silberschatz, Galvin and Gagne ©2018
Symmetric Multiprocessing Architecture
Operating System Concepts – 10th Edition 1.29 Silberschatz, Galvin and Gagne ©2018
Dual-Core Design
▪ Multi-chip and multicore
▪ Systems containing all chips
• Chassis containing multiple separate systems
Operating System Concepts – 10th Edition 1.30 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
• Asymmetric clustering has one machine in hot-standby mode
• Symmetric clustering has multiple nodes running applications,
monitoring each other
▪ Some clusters are for high-performance computing (HPC)
• Applications must be written to use parallelization
▪ Some have distributed lock manager (DLM) to avoid conflicting
operations
Operating System Concepts – 10th Edition 1.31 Silberschatz, Galvin and Gagne ©2018
Computer System Environments
Operating System Concepts – 10th Edition 1.32 Silberschatz, Galvin and Gagne ©2018
Computing Environments
▪ Traditional
▪ Mobile
▪ Client Server
▪ Pear-to-Pear
▪ Cloud computing
▪ Real-time Embedded
Operating System Concepts – 10th Edition 1.33 Silberschatz, Galvin and Gagne ©2018
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 (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 – 10th Edition 1.34 Silberschatz, Galvin and Gagne ©2018
Mobile Computing
▪ Handheld smartphones, tablets, etc.
▪ What is the functional difference between them and a
“traditional” laptop?
▪ 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
Operating System Concepts – 10th Edition 1.35 Silberschatz, Galvin and Gagne ©2018
Client Server Computing
▪ 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
Operating System Concepts – 10th Edition 1.36 Silberschatz, Galvin and Gagne ©2018
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
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
Operating System Concepts – 10th Edition 1.37 Silberschatz, Galvin and Gagne ©2018
Cloud Computing
▪ Delivers computing, storage, even apps as
a service across a network
▪ Logical extension of virtualization because it
uses virtualization as the base for its
functionality.
• Amazon EC2 has thousands of
servers, millions of virtual machines,
petabytes of storage available across
the Internet, pay based on usage
▪ Cloud computing environments composed
of traditional Oses plus cloud management
tools
• Internet connectivity requires security
like firewalls
• Load balancers spread traffic across
multiple applications
Operating System Concepts – 10th Edition 1.38 Silberschatz, Galvin and Gagne ©2018
Real-Time Embedded Systems
▪ Real-time embedded systems most prevalent form of computers
• Vary considerable, special purpose, limited purpose OS, real-
time OS
▪ 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 constraint
• Correct operation only if constraints met
Operating System Concepts – 10th Edition 1.39 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)
• Free software and open-source software are two different ideas
championed by different groups of people
[Link]
▪ Examples include GNU/Linux and BSD UNIX (including core of Mac
OS X), and many more
Operating System Concepts – 10th Edition 1.40 Silberschatz, Galvin and Gagne ©2018
End of Chapter 1
Operating System Concepts – 10h Edition Silberschatz, Galvin and Gagne ©2018