Operating Systems

advertisement
COSC1078 Introduction to
Information Technology
Lecture 14
Operating Systems
James Harland
james.harland@rmit.edu.au
Lecture 14: Operating Systems
Intro to IT
Introduction
•
•
•
•
•
•
James Harland
Email: james.harland@rmit.edu.au
URL: www.cs.rmit.edu.au/~jah
Phone: 9925 2045
Office: 14.10.1
Consultation: Mon 4.30-5.30,
Thu 11.30-12.30
What colour is my office
door? Carpet? Chair?
Lecture 14: Operating Systems
Intro to IT
Introduction to IT
1 Introduction
2 Images
3 Audio
4 Video
WebLearnTest 1
5 Binary Representation
Assignment 1
6 Data Storage
7 Machine Processing
8 Operating Systems
WebLearn Test 2
9 Processes
Assignment 2
10 Internet
11 Internet Security
WebLearn Test 3
12 Future of IT
Assignment 3, Peer and Self Assessment
Lecture 14: Operating Systems
Intro to IT
Overview
 Questions?
 Assignments 1 & 2
 Operating Systems
 Questions?
Lecture 14: Operating Systems
Intro to IT
Assignments 1& 2
Assignment 1
 Currently being marked
 Will have marks out later this week
Assignment 2
 Specification has been published
 Must be done in groups of 2 or 3
 Can change groups from Assignment 1 (if you wish)
 Must have a blog on Blackboard
Lecture 14: Operating Systems
Intro to IT
Questions?
How did you spend 6-8 hours on this course
last week?
This week?
Lecture 14: Operating Systems
SE Fundamentals
Operating Systems
operating
system
kernel
open source
virtual machine
Lecture 14: Operating Systems
device driver
real time
desktop
publishing
Intro to IT
Operating Systems
Operating
system
Lecture 14: Operating Systems
Intro to IT
Operating Systems
 Manage hardware and software resources
 Memory allocation
 Prioritising requests and processes
 Controlling input and output devices
 Managing network access
 Managing file systems
 Dealing with multiple users
 …
Lecture 14: Operating Systems
Intro to IT
Operating Systems
USER
HARDWARE
Lecture 14: Operating Systems
Intro to IT
Operating Systems
Lecture 14: Operating Systems
Intro to IT
Operating Systems
 Concurrent execution of processes on a single CPU
 Memory management
Registers, caches, RAM, hard disk, plug-ins, ...
Movement of data between these
 File systems
 Networking

Printers, scanners, LAN, wireless, Internet, ...
Lecture 143: Operating Systems
Intro to IT
Operating Systems
 Graphical User Interface (GUI)
Colors, data, cursors, ...
 Device drivers
Code specialised for particular hardware device
(DVD writer, printer, monitor, ...)
Controls access to these
 Security

Passwords, file sharing, protocols, ...
Lecture 14: Operating Systems
Intro to IT
Operating Systems
 Desktop (Windows, MacOS, Linux, ... )
Windows around 85% of market
 Server systems
Google “back end”, server farms, ...
Windows Server or Unix
 Specialist systems

Supercomputers, call centres, real-time systems,
PDA systems, ...
Lecture 14: Operating Systems
Intro to IT
Operating Systems
Lecture 13: Operating Systems
Intro to IT
Linux
 Open source
 Developed in 1991
by Linus Torvalds
 Written in C
 RedHat, Mandrake,
SUSE, Ubuntu, ...
 RedHat 7.1 has
30 million+ lines of code
Lecture 14: Operating Systems
Intro to IT
Windows
 Add-on to MS-DOS
in 1985
 Most popular OS
 Known security
issues
 Windows XP
40 million lines of code
 Vista released 2007
 Windows 7 (now!)
Lecture 14: Operating Systems
Intro to IT
MacOS
 Only on Apples
 Introduced by Apple
in 1984
 GUI from the start
 Based on Unix
 Graphics features
 Mac OS X Leopard
Lecture 14: Operating Systems
Intro to IT
Where to begin?
How do you start an operating system?
Boot it! (or bootstrap)
 Turn on power ()
 Machine loads bootstrap program from
ROM (non-volatile memory)
 Bootstrap program loads OS
 OS takes over
Lecture 14: Operating Systems
Intro to IT
Initial State When Turned On
Processor
00
Program
Counter
Memory
00 Bootstrap
Disk
ROM
Program
RAM
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Load Bootstrap Program
Processor
00
Program
Counter
Memory
00 Bootstrap
Disk
ROM
Program
RAM
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Bootstrap program loads OS
Processor
00
Program
Counter
Memory
00 Bootstrap
Disk
ROM
Program
RAM
Instruction
Register
Lecture 146: Operating Systems
Intro to IT
Bootstrap program loads OS
Processor
00
Program
Counter
Memory
00 Bootstrap
Disk
ROM
Program
RAM
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Bootstrap program has loaded OS
Processor
AA
Memory
Disk
00 Bootstrap
ROM
AA
RAM
Program
Program
Counter
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
OS takes over execution
Processor
AA
Memory
Disk
00 Bootstrap
ROM
AA
RAM
Program
Program
Counter
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Starting Up Operating Systems
Processor
AA
Memory
Disk
00 Bootstrap
ROM
AA
RAM
Program
Program
Counter
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Starting Up Operating Systems
Processor
AA
Memory
Disk
00 Bootstrap
ROM
AA
RAM
Program
Program
Counter
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Starting Up Operating Systems
Processor
AA
Memory
Disk
00 Bootstrap
ROM
AA
RAM
Program
Program
Counter
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Multiple boot scenario …
Processor
00
Program
Counter
Memory
00 Bootstrap
Disk
ROM
Program
RAM
Instruction
Register
Lecture 16: Operating Systems
Intro to IT
Multiple boot scenario …
Processor
00
Program
Counter
Memory
00 Bootstrap
Disk
ROM
Program
RAM
Instruction
Register
Lecture 16: Operating Systems
Intro to IT
Multiple boot scenario …
Processor
00
Program
Counter
Memory
00 Bootstrap
Disk
ROM
Program
RAM
Instruction
Register
Lecture 16: Operating Systems
Intro to IT
Multiple boot scenario …
Processor
00
Program
Counter
Memory
00 Bootstrap
Disk
ROM
Program
RAM
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
OS Software Classification
Software
Application
System
Utility
Operating System
Shell
Lecture 14: Operating Systems
Intro to IT
Kernel
Processes
Lecture 16: Operating Systems
Intro to IT
Processes
A program is a static set of
instructions
A processes is the execution
of a program, which changes
state over time.
Lecture 14: Operating Systems
Intro to IT
Processes Executing in Context
Processor
CC
Memory
00
Program
Counter
Disk
ROM
RAM
CC
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Processes Executing in Context
Processor
DD
Memory
00
Program
Counter
Disk
ROM
RAM
CC
DD
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Processes Switching
Ready
Scheduler maintains
process table
Ready
Waiting
Lecture 14: Operating Systems
Intro to IT
Processes Switching
Lecture 14: Operating Systems
Intro to IT
Interrupts
 Signals to the CPU
 Often generated by timing circuits
 CPU reacts by jumping to appropriate memory
location
 Dispatcher
 selects a ready process
 resets timing circuit
 starts process
 CPUs often designed to switch process states
efficiently
Lecture 14: Operating Systems
Intro to IT
Processes Executing in Context
Processor
BB
Program
Counter
Memory
00
BB
Disk
ROM
RAM
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Processes Executing in Context
Processor
11
Program
Counter
Memory
00
BB
Disk
ROM
RAM
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Processes Executing in Context
Processor
FF
Memory
00
Program
Counter
Disk
ROM
RAM
FF
Instruction
Register
Lecture 14: Operating Systems
Intro to IT
Interrupts
 Provide mechanism to switch processes
 CPU doesn’t have to wait for I/O transfers
 Switching leads to faster throughput
 `Save document’ means CPU does something
else while the save takes place
Lecture 146: Operating Systems
Intro to IT
Conclusion
 Work on Assignment 2
 Web Quizzes and Web Test 2
 Finish reading book!
Lecture 15: Operating Systems
Intro to IT
Download