Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Operating Systems
Chapter Goals
A little History of Operating Systems
Be familiar with current Major
Operating Systems
Contrast Applications Software
and Systems Software
Describe the main responsibilities
of an operating system
102
2 Kinds of Software
Application software
Software written to address specific needs
To solve problems in the real world
The reason you buy the machine
System software
Software that manages a computer system at a
fundamental level
It provides the tools and an environment in
which application software can be created and
run
105
Application Software
Word processing programs, games,
inventory control systems,
automobile diagnostic programs, and
missile guidance programs are all
application software
Systems Software
Operating Systems, File Systems
Software, Utilities (Disk
Defragmenter), Compilers, Maybe a
Web Browser
Major OSs
Unix
Windows
Linux
Mac OS
Embedded OSs (Android, iOS)
Real-Time OSs
108
Professional POV
Cost, tasks, maintenance, support,
legacy issues, popularity (network
effects), etc.
109
1010
Mainframe
Circa 1950
1011
Mainframe
IBM System 360 circa 1964
1012
1013
THE MICROPROCESSOR
!
1015
1016
Apple Macintosh
Apple wrote there own GUI OS
Apple borrowed the idea from
Xerox PARC
1017
What is Linux???
Linux is based on a free source code
version of UNIX
This source is compiled to Intel CPU
machine code
Commercial versions are available
Internal SW architecture is circa 1960s
(A multi-user OS for a single-user
machine)
1019
What is Linux???
Its all about the
3)Internet plumbing
Is all Unix-based, will not be re-done
1022
1023
Dominant OSs:
The Recent Past
Windows on the front
end
Linux on the back end
1027
Dominant OSs:
Present and Near Future
Mini Front End (Simple Interfacing
Tasks)
Tablets and Smart Phones
INTERFACES
1029
OS: Interfaces
Figure 10.1
An operating system
interacts with many
aspects of a computer
system.
1030
SHARING NICELY
1031
Process
Management
Sharing the CPU
1034
1035
Figure 10.2 In early systems, human operators would organize jobs into batches
1037
Process States
The Process States
1040
1042
1043
CPU Scheduling
CPU Scheduling Determining which
process in the ready state should be
moved to the running state
Many processes may be in the ready
state
Only one process can be in the running
state, actually running at any one time
CPU Scheduling
Nonpreemptive scheduling The currently
executing process gives up the CPU voluntarily
Batch Processing, the old Mac OS, Windows 3.1 circa 1990
1045
Round Robin
Each process runs for a specified time slice and
moves from the running state to the ready
state to await its next turn if not finished
1046
First-Come, First-Served
Page 336
1047
Page 337
1048
Round Robin
Distributes the processing time
equitably among all ready processes
Aka Taking Turns
The algorithm uses a time slice,
which is the amount of time each
process is allowed to run before it is
the next process turn
1049
Round Robin
Suppose the time slice was 50
Page 339
1050
1051
Memory
Management
Sharing Primary
Memory (RAM)
1052
Memory Management
Memory management The
process of keeping track of what
programs are in memory and where
in memory they reside
1053
Memory Management
Figure 10.3
Memory is a continuous
set of bits referenced by
specific addresses
1054
The Problem
Branching
wants to
jump to some
particular
address
1055
The Solution
Load them elsewhere and LIE TO THEM
Aka Address Relocation
A part of Memory Management
When programs ask for bytes from some RAM location,
the OS will give them bytes from somewhere else
1056
Memory Management
1. Track where a program resides in memory
2. Convert logical addresses into physical
addresses
1058
1059
1060
Partition Memory
Management
Partitions Main memory is divided
into a particular number of partitions
Programs are loaded into available
partitions
1061
Partition Memory
Management
memory is divided into a
set of partitions, some
empty and some
allocated to programs
Base register A
register that holds the
beginning address of the
current partition
Bounds register A
register that holds the
length of the current
partition
1062
1065