Chapter 1: Introduction: 1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts With Java - 8 Edition
Chapter 1: Introduction: 1.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts With Java - 8 Edition
Operating System Concepts with Java – 8th Edition 1.1 Silberschatz, Galvin and Gagne ©2009
Chapter 1: Introduction
Operating System Concepts with Java – 8th Edition 1.2 Silberschatz, Galvin and Gagne ©2009
Objectives
Operating System Concepts with Java – 8th Edition 1.3 Silberschatz, Galvin and Gagne ©2009
What is an Operating System?
Operating System Concepts with Java – 8th Edition 1.4 Silberschatz, Galvin and Gagne ©2009
Computer System Structure
Operating System Concepts with Java – 8th Edition 1.5 Silberschatz, Galvin and Gagne ©2009
Four Components of a Computer System
Operating System Concepts with Java – 8th Edition 1.6 Silberschatz, Galvin and Gagne ©2009
Operating System Definition
OS is a resource allocator
Manages all resources
Decides between conflicting requests for efficient and fair resource
use
OS is a control program
Controls execution of programs to prevent errors and improper use
of the computer
Operating System Concepts with Java – 8th Edition 1.7 Silberschatz, Galvin and Gagne ©2009
Operating System Definition (Cont.)
Operating System Concepts with Java – 8th Edition 1.8 Silberschatz, Galvin and Gagne ©2009
Computer Startup
Operating System Concepts with Java – 8th Edition 1.9 Silberschatz, Galvin and Gagne ©2009
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 with Java – 8th Edition 1.10 Silberschatz, Galvin and Gagne ©2009
Computer-System Operation
Operating System Concepts with Java – 8th Edition 1.11 Silberschatz, Galvin and Gagne ©2009
Common Functions of Interrupts
Operating System Concepts with Java – 8th Edition 1.12 Silberschatz, Galvin and Gagne ©2009
Interrupt Handling
Operating System Concepts with Java – 8th Edition 1.13 Silberschatz, Galvin and Gagne ©2009
Direct Memory Access Structure
Only one interrupt is generated per block, rather than the one interrupt
per byte.
Operating System Concepts with Java – 8th Edition 1.14 Silberschatz, Galvin and Gagne ©2009
Storage Structure
Main memory – only large storage media that the CPU can access
directly.
Operating System Concepts with Java – 8th Edition 1.15 Silberschatz, Galvin and Gagne ©2009
Storage Hierarchy
Operating System Concepts with Java – 8th Edition 1.16 Silberschatz, Galvin and Gagne ©2009
Storage-Device Hierarchy
Operating System Concepts with Java – 8th Edition 1.17 Silberschatz, Galvin and Gagne ©2009
Caching
Operating System Concepts with Java – 8th Edition 1.18 Silberschatz, Galvin and Gagne ©2009
Computer-System Architecture
Operating System Concepts with Java – 8th Edition 1.19 Silberschatz, Galvin and Gagne ©2009
How a Modern Computer Works
Operating System Concepts with Java – 8th Edition 1.20 Silberschatz, Galvin and Gagne ©2009
Symmetric Multiprocessing Architecture
Operating System Concepts with Java – 8th Edition 1.21 Silberschatz, Galvin and Gagne ©2009
A Dual-Core Design
Operating System Concepts with Java – 8th Edition 1.22 Silberschatz, Galvin and Gagne ©2009
Clustered Systems
Operating System Concepts with Java – 8th Edition 1.23 Silberschatz, Galvin and Gagne ©2009
Operating System Structure
Operating System Concepts with Java – 8th Edition 1.24 Silberschatz, Galvin and Gagne ©2009
Operating System Structure (Cont.)
Operating System Concepts with Java – 8th Edition 1.25 Silberschatz, Galvin and Gagne ©2009
Memory Layout for Multiprogrammed System
Operating System Concepts with Java – 8th Edition 1.26 Silberschatz, Galvin and Gagne ©2009
Operating-System Operations
Operating System Concepts with Java – 8th Edition 1.27 Silberschatz, Galvin and Gagne ©2009
Transition from User to Kernel Mode
Timer to prevent infinite loop / process hogging resources
Set interrupt after specific period
Operating system decrements counter
When counter zero generate an interrupt
Set up before scheduling process to regain control or terminate
program that exceeds allotted time
Operating System Concepts with Java – 8th Edition 1.28 Silberschatz, Galvin and Gagne ©2009
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 with Java – 8th Edition 1.29 Silberschatz, Galvin and Gagne ©2009
Process Management Activities
Operating System Concepts with Java – 8th Edition 1.30 Silberschatz, Galvin and Gagne ©2009
Memory Management
Operating System Concepts with Java – 8th Edition 1.31 Silberschatz, Galvin and Gagne ©2009
Storage Management
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 dirs
Mapping files onto secondary storage
Backup files onto stable (non-volatile) storage media
Operating System Concepts with Java – 8th Edition 1.32 Silberschatz, Galvin and Gagne ©2009
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.
Operating System Concepts with Java – 8th Edition 1.33 Silberschatz, Galvin and Gagne ©2009
Performance of Various Levels of Storage
Operating System Concepts with Java – 8th Edition 1.34 Silberschatz, Galvin and Gagne ©2009
Migration of Integer A from Disk to Register
Operating System Concepts with Java – 8th Edition 1.35 Silberschatz, Galvin and Gagne ©2009
I/O Subsystem
Operating System Concepts with Java – 8th Edition 1.36 Silberschatz, Galvin and Gagne ©2009
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
User identities (user IDs, security IDs) include name and
associated number, one per user
User ID then associated with all files, processes of that user to
determine access control
Group identifier (group ID) 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
Operating System Concepts with Java – 8th Edition 1.37 Silberschatz, Galvin and Gagne ©2009
Computing Environments
Traditional computer
Blurring over time
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
Operating System Concepts with Java – 8th Edition 1.38 Silberschatz, Galvin and Gagne ©2009
Computing Environments (Cont.)
Client-Server Computing
Dumb terminals supplanted by smart PCs
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
Operating System Concepts with Java – 8th Edition 1.39 Silberschatz, Galvin and Gagne ©2009
Peer-to-Peer Computing
Operating System Concepts with Java – 8th Edition 1.40 Silberschatz, Galvin and Gagne ©2009
Web-Based Computing
Operating System Concepts with Java – 8th Edition 1.41 Silberschatz, Galvin and Gagne ©2009
Open-Source Operating Systems
Operating System Concepts with Java – 8th Edition 1.42 Silberschatz, Galvin and Gagne ©2009