Two-Hour Introduction To Operating Systems: Dr. Mads Haahr Department of Computer Science Trinity College, Dublin
Two-Hour Introduction To Operating Systems: Dr. Mads Haahr Department of Computer Science Trinity College, Dublin
Operating Systems
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 1
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 2
1
Where are OS’s Used?
In more and more places!
Desktop and Server Computers
DOS + Windows 95/98/ME
Windows NT/2000/XP
Free Unix variants: Linux, FreeBSD, NetBSD, etc.
Commercial Unix variants: Solaris, HP-UX, AIX, etc.
MacOS
Some Game Consoles
Xbox: Cut-down Windows 2000
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 3
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 4
2
Where are OS’s Used?
In the future also:
Digital Cameras (fancy ones)
MP3 Players (iPods, etc.)
Refrigerators!
Others?
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 5
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 6
3
Services Provided by the OS
Program execution
Access to Input/Output (I/O) devices
Disks, screens, keyboards, mice
Printers, cameras, speakers, etc.
Controlled access to files
System access
Sometimes: Program development
Compilers, editors and debuggers
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 7
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 8
4
Services Provided by the OS
Accounting
Collect statistics
Monitor performance
Used to anticipate future enhancements
Used for billing users
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 9
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 10
5
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 11
Kernel
Portion of operating system that is
always in main memory
Contains most-frequently used functions
Also called the nucleus
Good performance of the kernel is very
important
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 12
6
Before Operating Systems…
Serial Processing
No operating system
Machines run from a console with display
lights and toggle switches, input device,
and printer
Schedule time
Setup included loading the compiler, source
program, saving compiled program, and
loading and linking
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 13
Uniprogramming
Processor must wait for I/O instruction
to complete before preceding
7
Multiprogramming
When one job needs to wait for I/O, the
processor can switch to the other job
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 15
Multiprogramming
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 16
8
A More Advanced Example
Job 1 Job 2 Job 3
Job type heavy compute heavy I/O heavy I/O
Duration 5 minutes 15 minutes 10 minutes
CPU req’d 80% 10% 10%
Memory req’d 50 MB 100 MB 80 MB
Need disk? no no yes
Need terminal? no yes no
Need printer? no no yes
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 17
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 18
9
Example Effects
Uniprogramming Multiprogramming
Processor use 22% 43%
Memory use 30% 67%
Disk use 33% 67%
Printer use 33% 67%
Elapsed time 30 min. 15 min.
Throughput rate 6 jobs/hr 12 jobs/hr
Mean response time 18 min. 10 min.
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 19
Achievements in OS Research
Processes
Memory management
Information protection and security
Scheduling and resource management
System structure
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 20
10
Processes
A program in execution
An instance of a program running on a
computer
The entity that can be assigned to and
executed on a processor
A unit of activity characterized by
a single sequential thread of execution
a current state
an associated set of system resources
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 21
Processes
Consists of three components
An executable program, i.e., some code
Associated data needed by the program
Execution context of the program
All information the operating system needs to
manage the process
e.g., who owns the process, which priority does
it have, what resources does it currently ‘own’
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 22
11
Processes
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 23
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 24
12
Processes in Windows XP
Hit CTRL-ALT-DEL to
start Task Manager
Shows info about the
PC’s performance
Info gathered by OS;
updated continuously
The Applications tab
shows running
applications and allows
them to be ended
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 25
Processes in Windows XP
The Processes tab
shows the running
processes
CPU and memory usage
Applications often
consist of a number of
processes
Also, many system
processes
Individual processes can
be ended dangerous
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 26
13
Processes in Linux
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 27
Memory Management
Process isolation
Processes do not share memory
This prevents processes from affecting each
other
Protection and access control
Automatic allocation and management
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 28
14
Virtual Memory and Paging
Virtual Memory
Provides a logical rather than actual view of
memory
Allows process to be comprised of a number of
fixed-size blocks, called pages
Virtual address
A page number and an offset within the page
Each page may be located anywhere in main
memory
Real address
The physical address in main memory
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 29
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 30
15
Virtual Memory Addressing
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 31
Memory in Windows XP
The Performance tab
shows CPU and virtual
memory (page file)
usage over time
Memory statistics also
shown
SETI@home client used
my spare CPU cycles in
example
Typically, workstations
use very few CPU cycles
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 32
16
Memory in Linux
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 33
File System
Implements long-term store
Information stored in named objects
called files
OS typically offers the following file
operations:
creating, deleting, renaming
reading, writing
locking, unlocking
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 34
17
Information Protection and
Security
Access control
regulate user access to the system
Information flow control
regulate flow of data within the system and
its delivery to users
Certification
proving that access and flow control
perform according to specifications
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 35
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 36
18
Windows XP
The Networking tab
shows network
bandwidth used over
time
Several network
interfaces
(‘connections’ here)
are shown
separately
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 37
Windows XP
The Users tab shows
the users currently
logged in
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 38
19
Major OS Elements
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 39
System Structure
View the system as a series of levels
Each level performs a related subset of
functions
Each level relies on the next lower level
to perform more primitive functions
This decomposes a problem into a
number of more manageable
subproblems
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 40
20
Modern Operating Systems
Multithreading
Each process is divided into threads that
can run simultaneously
Thread
Dispatchable unit of work
Executes sequentially and is interruptible
A process is a collection of one or more
threads
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 41
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 42
21
Modern Operating Systems
Distributed operating systems
Provides the illusion of a single main
memory and single secondary memory
space
Distributed shared memory
Distributed file systems
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 43
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 44
22
Example OS: PalmOS
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 45
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 46
23
Example OS: Symbian OS
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 47
The OS Wars
Why is the OS such a big deal?
Windows vs Linux vs Mac
Symbian vs PalmOS vs Windows Mobile
Incompatibilities
OS’s have different interfaces
programs must be written differently
applications for one OS don’t run on another
Tendency to bloatware
Applications tend to move into the OS
Internet Explorer, Media Player, Search?
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 48
24
Security: Windows vs Linux
Windows Family
Developed from DOS
Originally single-user machines
No network few threats
Linux
Developed from Unix
Originally multi-user networked servers
Designed to withstand with security threats
from the beginning
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 49
Further Reading
William Stallings. Operating Systems:
Internals and Design Principles, 4th
edition. Prentice Hall, 2001.
Andrew Tanenbaum. Modern Operating
Systems, 2nd edition. Prentice Hall,
2001.
11 February 2005 Mads Haahr (with material by William Stallings and Patty Roy) 50
25