Chapter 1: Introduction What Operating Systems Do
Computer-System Organization Computer-System Architecture
Operating-System Structure Operating-System Operations Distributed
Systems Computing Environments 2
Slide 3
Objectives To provide a grand tour of the major operating
systems components To provide coverage of basic computer system
organization 3
Slide 4
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 4
Slide 5
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 5
Slide 6
Four Components of a Computer System 6
Slide 7
The operating systems Role User View: Single User (personal
computer) OS designed for ease of use, with some attention paid to
performance. Multiple Users (mainframe or minicomputer) OS designed
to maximize resource utilization. Workstations users connected to
networks of other workstations and servers OS designed to
compromise between individual usability and resource utilization.
7
Slide 8
The operating systems Role (cont.) System View: OS is a
resource allocator Manages all resources Decides between
conflicting requests for efficient and fair resource use It is
important when many users access the same mainframe or minicomputer
OS is a control program Controls execution of programs to prevent
errors and improper use of the computer It is especially concerned
with the operation and control of I/O devices. 8
Slide 9
Operating System Definition No universally accepted definition
The one program running at all times on the computer is the kernel.
Everything else is either a system program (ships with the
operating system) or an application program. An operating system is
a software that manages the computer hardware, as well as providing
an environment for application programs to run. 9
Computer System operation 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 11
Slide 12
Computer System Operation (cont.) Computer Startup: bootstrap
program is loaded at power-up or reboot Typically stored in ROM or
EEPROM, generally known as firmware Initializes all aspects of
system Loads operating system kernel and starts execution 12
Slide 13
Computer System Operation (cont.) Interrupt: The occurrence of
an event is usually signaled by an interrupt from either the
hardware or the software. Hardware interrupts by sending a signal
to the CPU through system bus. Software interrupts by executing a
special operation called a system call. The interrupt is signal
that gets the attention of the CPU and is usually generated when
I/O is required. For example, hardware interrupts are generated
when a key is pressed or when the mouse is moved. Software
interrupts are generated by a program requiring disk input or
output. 13
Slide 14
Storage Hierarchy Storage systems organized in hierarchy Speed
Cost Volatility Caching copying information into faster storage
system; main memory can be viewed as a last cache for secondary
storage 14
Slide 15
Storage-Device Hierarchy 15
Slide 16
I/O Structure each device controller is in charge of a specific
type of device. A device controller maintains some local buffer
storage and a set of special-purpose registers. OS have a device
driver for each device controller. This device driver understands
the device controller and presents a uniform interface to device to
the rest of the operating system. 16
Slide 17
Computer-System Architecture Multiprocessors 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 fault tolerance Two types 1.
Asymmetric Multiprocessing (master-slave relationship) 2. Symmetric
Multiprocessing (all processors are peers) 17
Slide 18
Symmetric Multiprocessing Architecture 18
Slide 19
A Dual-Core Design Processors were originally developed with
only one core. The core is the part of the processor that actually
performs the reading and executing of the instruction. Single-core
processors can only process one instruction at a time Dual-core
processor contains two cores (Such as Intel Core Duo). 19
Slide 20
Operating System Structure Multiprogramming needed for
efficiency Multiprogramming organizes jobs (code and data) so CPU
always has one to execute. (Increase CPU Utilization.) A subset of
total jobs in system is kept in memory One job selected and run via
job scheduling When it has to wait (for I/O for example), OS
switches to another job Multiprogramming systems provide an
environment in which the various system resources are utilized
effectively, Not for user interaction with the computer system
20
Slide 21
Memory Layout for Multiprogrammed System 21
Slide 22
Uniprogramming Processor must wait for I/O instruction to
complete before preceding 22
Slide 23
Multiprogramming When one job needs to wait for I/O, the
processor can switch to the other job 23
Slide 24
Multiprogramming 24
Slide 25
Utilization Histograms 25
Slide 26
Example 26
Slide 27
Operating System Structure (cont.) Timesharing (multitasking)
is logical extension of multiprogramming in which 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 process If several jobs ready to run at the same time CPU
scheduling If processes dont fit in memory, swapping moves them in
and out to run Virtual memory allows execution of processes not
completely in memory 27
Slide 28
28 Time Sharing Using multiprogramming to handle multiple
interactive jobs Processors time is shared among multiple users
Multiple users simultaneously access the system through
terminals
Slide 29
Operating-System Operations 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 Some instructions
designated as privileged, only executable in kernel mode System
call changes mode to kernel, return from call resets it to user
29
Slide 30
Transition from User to Kernel Mode 30
Slide 31
Distributed Systems Distributed systems allow users to share
resources on geographically dispersed hosts connected via a
computer network. The basic types of networks are: Local-area
Network (LAN) connects computers within a room, a floor, or a
building. Wide-area Network (WAN) links building, cities or
countries. A network operating system provides features such as
file sharing across the network and includes a communication scheme
that allows different processes on different computers to exchange
messages 31
Slide 32
Computing Environments Traditional computing ( Centralized
computing) Office environment PCs connected to a network, terminals
attached to mainframe or minicomputers providing batch and
timesharing Now portals allowing networked and remote systems
access to same resources Home networks Used to be single system,
then modems Now firewalled, networked Centralized computing is
computing done at a central location, using terminals that are
attached to a central computer. 32
Slide 33
Computing Environments (Cont) Client-Server Computing Many
systems now servers, responding to requests generated by clients
Compute-server provides an interface to client to request services
(i.e. database) File-server provides interface for clients to store
and retrieve files 33
Slide 34
Peer-to-Peer Computing 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 To
participate in a P2P system, a node must join P2P network by:
Registers its service with centralized lookup service on network,
or Broadcast request for service and respond to requests for
service via discovery protocol 34
Slide 35
Silberschatz, Galvin and Gagne 2009 Operating System Concepts 8
th Edition, End of Chapter 1