Intro
Intro
Chapter 4
Operating Systems
(In Book: Chapter 10)
1
Chapter Goals (1 of 2)
• Describe the two main responsibilities of an
operating system
• Define memory and process management
• Explain the relationship between logical and
physical addresses
• Compare and contrast memory management
techniques
2
Chapter Goals (2 of 2)
• Distinguish between fixed and dynamic
partitions
• Define and apply partition selection algorithms
• Explain the stages and transitions of the process
life cycle
• Explain the processing of various CPU
scheduling algorithms
3
Software Categories
Modern software can be divided into two
categories:
• Application Software
Software written to address specific needs
to solve problems in the real world.
• System Software
Software that manages a computer system
at a fundamental level.
Can you name examples of each?
4
Roles of an Operating System
(1 of 2)
Operating System
System software that:
– Manages computer resources, such as
memory and input/output devices
– Provides an interface through which a human
can interact with the computer
– Allows an application program to interact with
other system resources
5
Roles of an Operating System
(2 of 2)
6
Resource Management (1 of 2)
Multiprogramming
• The technique of keeping multiple programs in main memory
at the same time; these programs compete for access to the
CPU so that they can do their work.
• Operating systems employ multiprogramming to one degree
or another. An operating system must therefore perform
memory management to keep track of which programs are in
memory and where in memory they reside.
Memory Management
The process of keeping track of what programs are in memory
and where in memory they reside
7
Resource Management (2 of 2)
Process
A program in execution
Process Management
The act of carefully tracking the progress of a
process and all of its intermediate states
CPU Scheduling
Determining which process in memory is executed
by the CPU at any given point
8
Other OS Factors
Real-Time System
A system in which response time is crucial given
the nature of the application
Response Time
The time delay between receiving a stimulus and
producing a response
Device Driver
A small program that “knows” the way a particular
device expects to receive and deliver information
9
Memory Management
Logical Address
Reference to a stored value relative to the program
making the reference
Physical Address
Actual address in main memory
10
Partition Memory Management (1 of 2)
Single contiguous MM has only the OS and one
other program in memory at one time
Partition MM has the OS and any number of other
programs in memory at one time
There are two schemes for dividing up memory for
programs:
– Fixed partitions Main memory is divided into a fixed
number of partitions into which programs can be
loaded
– Dynamic partitions Partitions are created as
needed to fit the programs waiting to be loaded
11
Partition Memory Management (2 of 2)
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 (the one that is running)
Bounds Register
A register that holds the length of the current
partition
12
Partition Selection Algorithms
(1 of 2)
13
Partition Selection Algorithms
(2 of 2)
14
Process Management (1 of 3)
Process Management
The act of managing the use of the CPU by
individual processes
Recall that a process is a program in execution
15
Process Management (2 of 3)
16
Process Management (3 of 3)
The Process States:
• In the new state, a process is being created.
• A process that has no barriers to its execution is in the ready state. It
is waiting for its chance to use the CPU.
• A process in the running state is currently being executed by the
CPU. Its instructions are being processed in the fetch–execute cycle.
• A process in the waiting state is currently waiting for resources.
• A process in the terminated state has completed its execution and is
no longer active.
Note that many processes may be in the ready state or the waiting
state at the same time, but only one process can be in the running
state.
17
CPU Scheduling (1 of 2)
CPU Scheduling
The act of 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, making
progress at any one time
18
CPU Scheduling (2 of 2)
Nonpreemptive Scheduling
The currently executing process gives up the CPU voluntarily
Preemptive Scheduling
The operating system decides to favor another process,
preempting the currently executing process
Turnaround Time
The amount of time between when a process arrives in the
ready state the first time and when it exits the running state for
the last time
19
CPU Scheduling Algorithms
1. First-Come, First-Served
Processes are moved to the CPU in the order in which
they arrive in the running state
20
First-Come, First-Served
21
Shortest Job Next
22
CPU Scheduling Algorithms
First-Come, First-Served?
23