Lec1 - ch1- Introuction
Lec1 - ch1- Introuction
Lec1 - ch1- Introuction
Operating System Concepts – 10h Edition Silberschatz, Galvin and Gagne ©2018
Chapter 1: Introduction
Operating System Concepts – 10th Edition 1.2 Silberschatz, Galvin and Gagne ©2018
Objectives
Operating System Concepts – 10th Edition 1.3 Silberschatz, Galvin and Gagne ©2018
What is an Operating System?
Operating System Concepts – 10th Edition 1.4 Silberschatz, Galvin and Gagne ©2018
Computer System Structure
Operating System Concepts – 10th Edition 1.5 Silberschatz, Galvin and Gagne ©2018
Abstract View of Components of Computer
Operating System Concepts – 10th Edition 1.6 Silberschatz, Galvin and Gagne ©2018
What Operating Systems Do
▪ Depends on the point of view
1. User view
• Users want convenience, ease of use and good performance
Don’t care about resource utilization (how various hardware
and software resources are shared )
• Mobile devices like smartphones and tables 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
What Operating Systems Do
▪ Depends on the point of view
2. System view
• 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
• Users of dedicate systems such as workstations have dedicated
resources but frequently use shared resources from servers
Operating System Concepts – 10th Edition 1.8 Silberschatz, Galvin and Gagne ©2018
Defining Operating Systems
Operating System Concepts – 10th Edition 1.9 Silberschatz, Galvin and Gagne ©2018
Operating System Definition
Operating System Concepts – 10th Edition 1.10 Silberschatz, Galvin and Gagne ©2018
Operating-System Operations
Operating System Concepts – 10th Edition 1.11 Silberschatz, Galvin and Gagne ©2018
Operating-System Operations
▪ For a computer to start running—for instance, when it is powered up or
rebooted—it needs to have an initial program to run.
▪ Kernel loads→ it can start providing services to the system and its users.
Operating System Concepts – 10th Edition 1.12 Silberschatz, Galvin and Gagne ©2018
Operating-System Operations
▪ Starts system daemons (services provided outside of the kernel that
are loaded into memory at boot time )
Operating System Concepts – 10th Edition 1.13 Silberschatz, Galvin and Gagne ©2018
Multiprogramming (Batch system)
Operating System Concepts – 10th Edition 1.14 Silberschatz, Galvin and Gagne ©2018
Multitasking (Timesharing)
Operating System Concepts – 10th Edition 1.15 Silberschatz, Galvin and Gagne ©2018
Memory Layout for Multiprogrammed System
Operating System Concepts – 10th Edition 1.16 Silberschatz, Galvin and Gagne ©2018
Dual-mode Operation
Operating System Concepts – 10th Edition 1.17 Silberschatz, Galvin and Gagne ©2018
Transition from User to Kernel Mode
Operating System Concepts – 10th Edition 1.18 Silberschatz, Galvin and Gagne ©2018
Timer
▪ Timer to prevent infinite loop (or process hogging
resources)
• Timer is set to interrupt the computer after some
time period
• Keep a counter that is decremented by the
physical clock
• Operating system set the counter (privileged
instruction)
• When counter zero generate an interrupt
• Set up before scheduling process to regain control
or terminate program that exceeds allotted time
Operating System Concepts – 10th Edition 1.19 Silberschatz, Galvin and Gagne ©2018
Resource Management
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
• Process executes instructions sequentially, one at a time, until
completion
▪ 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
• Concurrency by multiplexing the CPUs among the processes /
threads
Operating System Concepts – 10th Edition 1.21 Silberschatz, Galvin and Gagne ©2018
Process Management Activities
Operating System Concepts – 10th Edition 1.22 Silberschatz, Galvin and Gagne ©2018
Memory Management
Operating System Concepts – 10th Edition 1.23 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)
Varying properties include access speed, capacity, data-
transfer rate, access method (sequential or random)
▪ File-System management
• Files usually organized into directories
• 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
Operating System Concepts – 10th Edition 1.24 Silberschatz, Galvin and Gagne ©2018
Mass-Storage Management
▪ Usually disks used to store data that does not fit in main
memory or data that must be kept for a “long” period of time
▪ Proper management is of central importance
▪ Entire speed of computer operation hinges on disk subsystem
and its algorithms
▪ OS activities
• Mounting and unmounting
• Free-space management
• Storage allocation
• Disk scheduling
• Partitioning
• Protection
Operating System Concepts – 10th Edition 1.25 Silberschatz, Galvin and Gagne ©2018
Caching
Operating System Concepts – 10th Edition 1.26 Silberschatz, Galvin and Gagne ©2018
Characteristics of Various Types of Storage
Operating System Concepts – 10th Edition 1.27 Silberschatz, Galvin and Gagne ©2018
Migration of data “A” from Disk to Register
Operating System Concepts – 10th Edition 1.28 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 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
Operating System Concepts – 10th Edition 1.29 Silberschatz, Galvin and Gagne ©2018
Protection and Security
Operating System Concepts – 10th Edition 1.30 Silberschatz, Galvin and Gagne ©2018
Virtualization
▪ Virtualization is a technology that allows us to abstract the hardware
of a single computer (the CPU, memory, disk drives, network
interface cards, and so forth) into several different execution
environments.
▪ creating the illusion that each separate environment is running on its
own private computer.
▪ Allows operating systems to run applications within other OSes
• Vast and growing industry
▪ Emulation used when source CPU type different from target type
(i.e. PowerPC to Intel x86)
▪ Virtualization – OS natively compiled for CPU, running guest OSes
also natively compiled
• Consider VMware running WinXP guests, each running
applications, all on native WinXP host OS
• VMM (virtual machine Manager) provides virtualization services
Operating System Concepts – 10th Edition 1.31 Silberschatz, Galvin and Gagne ©2018
Virtualization (cont.)
▪ Use cases involve laptops and desktops running multiple OSes for
exploration or compatibility
• Apple laptop running Mac OS X host, Windows as a guest
• Developing apps for multiple OSes without having multiple
systems
• Quality assurance testing applications without having multiple
systems
• Executing and managing compute environments within data
centers
▪ VMM can run natively, in which case they are also the host
• There is no general-purpose host then (VMware ESX and Citrix
XenServer)
Operating System Concepts – 10th Edition 1.32 Silberschatz, Galvin and Gagne ©2018
Computing Environments - Virtualization
A computer running (a) a single operating system and (b) three virtual machines.
Operating System Concepts – 10th Edition 1.33 Silberschatz, Galvin and Gagne ©2018
Kernel Data Structure
Operating System Concepts – 10th Edition 1.34 Silberschatz, Galvin and Gagne ©2018
Kernel Data Structures
Operating System Concepts – 10th Edition 1.35 Silberschatz, Galvin and Gagne ©2018
Kernel Data Structures
Operating System Concepts – 10th Edition 1.36 Silberschatz, Galvin and Gagne ©2018
Kernel Data Structures
▪ Hash function can create a hash map
• A hash function takes data as its input, performs a numeric
operation on the data, and returns a numeric value.
• This numeric value can then be used as an index into a table
(typically an array) to quickly retrieve the data.
• Whereas searching for a data item through a list of size n can
require up to O(n) comparisons,
• using a hash function for retrieving data from a table can be as
good as O(1), depending on implementation details.
• Because of this performance, hash functions are used extensively in
operating systems.
Operating System Concepts – 10th Edition 1.37 Silberschatz, Galvin and Gagne ©2018
Kernel Data Structures
Operating System Concepts – 10th Edition 1.38 Silberschatz, Galvin and Gagne ©2018
Computer System Environments
Operating System Concepts – 10th Edition 1.39 Silberschatz, Galvin and Gagne ©2018
Computing Environments
▪ Traditional Computing
▪ Mobile Computing
▪ Client Server Computing
▪ Peer-to-Peer Computing
▪ Cloud computing
▪ Real-time Embedded Systems
Operating System Concepts – 10th Edition 1.40 Silberschatz, Galvin and Gagne ©2018
Traditional Computing
Operating System Concepts – 10th Edition 1.41 Silberschatz, Galvin and Gagne ©2018
Mobile Computing
Operating System Concepts – 10th Edition 1.42 Silberschatz, Galvin and Gagne ©2018
Client Server Computing
▪ Client-Server Computing
• 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.43 Silberschatz, Galvin and Gagne ©2018
Peer-to-Peer Computing
Operating System Concepts – 10th Edition 1.44 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 it functionality.
• Amazon EC2 has thousands of servers,
millions of virtual machines, petabytes of
storage available across the Internet, pay based
on usage
Operating System Concepts – 10th Edition 1.45 Silberschatz, Galvin and Gagne ©2018
Cloud Computing (Cont.)
▪ Many types
• Public cloud – available via Internet to anyone willing to pay
• Private cloud – run by a company for the company’s own use
• Hybrid cloud – includes both public and private cloud components
• Software as a Service (SaaS) – one or more applications available
via the Internet (i.e., word processor)
• Platform as a Service (PaaS) – software stack ready for application
use via the Internet (i.e., a database server)
• Infrastructure as a Service (IaaS) – servers or storage available
over Internet (i.e., storage available for backup use)
Operating System Concepts – 10th Edition 1.46 Silberschatz, Galvin and Gagne ©2018
Cloud Computing (cont.)
▪ Cloud computing environments composed of traditional OSes, plus
VMMs, plus cloud management tools
• Internet connectivity requires security like firewalls
• Load balancers spread traffic across multiple applications
Operating System Concepts – 10th Edition 1.47 Silberschatz, Galvin and Gagne ©2018
Real-Time Embedded Systems
Operating System Concepts – 10th Edition 1.48 Silberschatz, Galvin and Gagne ©2018
End of Chapter 1
Operating System Concepts – 10h Edition Silberschatz, Galvin and Gagne ©2018
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: