0% found this document useful (0 votes)
0 views

COMS1015 Operating Systems

The document outlines key functions and structures of operating systems, focusing on responsibilities such as memory and process management, CPU scheduling, and the creation of virtual machines through timesharing. It discusses various memory management techniques, including fixed and dynamic partitions, demand paging, and the concept of virtual memory. Additionally, it covers the process life cycle, CPU scheduling algorithms, and the importance of managing resources efficiently among competing processes.

Uploaded by

antmadondo035
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
0 views

COMS1015 Operating Systems

The document outlines key functions and structures of operating systems, focusing on responsibilities such as memory and process management, CPU scheduling, and the creation of virtual machines through timesharing. It discusses various memory management techniques, including fixed and dynamic partitions, demand paging, and the concept of virtual memory. Additionally, it covers the process life cycle, CPU scheduling algorithms, and the importance of managing resources efficiently among competing processes.

Uploaded by

antmadondo035
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Key functions and structures of

operating Systems.
CHAPTER 10
 Describe the two main responsibilities of an
operating system
 Define memory and process management
 Explain how timesharing creates the virtual
machine illusion
 Explain the relationship between logical and
physical addresses
 Compare and contrast memory
management techniques

2
 Distinguish between fixed and dynamic
partitions
 Define and apply partition selection
algorithms
 Explain how demand paging creates the
virtual memory illusion
 Explain the stages and transitions of the
process life cycle
 Explain the processing of various CPU
scheduling algorithms

3
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 these
other system resources

4
The various roles of an operating system
generally revolve around the idea of “sharing
nicely”
An operating system manages resources, and
these resources are often shared in one way or
another among programs that want to use them

6
Multiprogramming
The technique of keeping multiple programs
that compete for access to the CPU in main
memory at the same time so that they can
execute
Memory management
The process of keeping track of what
programs are in memory and where in
memory they reside

7
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
The first operating system was a human operator,
who organized various jobs from multiple users into
batches of jobs that needed the same resources

9
Timesharing system
A system that allows multiple users to interact
with a computer at the same time
Virtual machine
The illusion created by a time-sharing system
that each user has his/her own machine

10
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

11
Operating systems must employ techniques to
◦ Track where and how a program resides in
memory
◦ Convert logical addresses into actual addresses
Logical address
Reference to a stored value relative to the
program making the reference
Physical address
Actual address in main memory

12
There are only two
programs in memory
The operating system
The application
program
This approach is
called single
contiguous memory
management
Figure 10.4 Main memory
divided into two sections

14
In concrete terms:
A logical address is simply an integer value
relative to the starting point of the program
A physical address is a logical address added to
the starting location of the program in main
memory

15
Figure 10.5 Binding a logical address
to a physical one

16
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
◦ Dymanic partitions Partitions are created as
needed to fit the programs waiting to be loaded

17
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

18
Figure 10.6
Address resolution
in partition memory
management

19
Which partition should we allocate to a new
program?
 First fit Allocate program to the first
partition big enough to hold it
 Best fit Allocated program to the smallest
partition big enough to hold it
 Worst fit Allocate program to the largest
partition big enough to hold it

20
A: 1000 Requests come in for blocks of
the following sizes:
1000, 25, 780, 1600, and 325
B: 700

C: 750 What block will be assigned


to each request if the
• first-fit algorithm is used?
D: 1500 • best-fit algorithm is used?
• worst-fig algorithm is used?
E: 300 (Treat each request as an
independent event)
F: 350

21
Paged memory technique
A technique in which processes are divided into
fixed-size pages and stored in memory frames when
loaded
Frame
A fixed-size portion of main memory that holds a
process page
Page
A fixed-size portion of a process that is stored into a
memory frame
We assume that a frame and a page are the same size

22
Prog. 2, Page 2

Prog. 1, Page 3

Figure 10.7
A paged memory
management
approach
23
This new logical address is
mapped to a physical address
with the help of a page-map
table (PMT)
Every program has a PMT that
shows into which frame each
page of the program is stored

What is the physical


address of <2, 518>?

25
Demand paging
An extension of paged memory management in
which pages are brought into memory on
demand
Page swap
The act of bringing in a page from secondary
memory, which often causes another page to
be written back to secondary memory

26
Virtual memory
The illusion that there are no restrictions on
the size of a program because an entire
process doesn't have to be in memory at the
same time
Thrashing
Inefficient processing caused by constant
page swaps

27
Process management
The act of managing the use of the CPU by
individual processes
Recall that a process is a program in execution
What stages does a process go
through?

28
The Process States

Figure 10.8 The process life cycle

29
Process control block (PCB)
A data structure used by the OS to manage
information about a process, including
◦ current value of the program counter
◦ values of all CPU registers for the process
◦ base and bound register values (or page tables)
◦ accounting information
Each state is represented by a list of PCBs,
one for each process in that state

30
There is only one CPU and therefore only one set of
CPU registers, which contain the values for the
currently
executing process
Each time a process is moved to the running state:
◦ Register values for the currently running process
are stored into its PCB
◦ Its PCB is moved to the list of the state into which it goes
◦ Register values of the new process moving into the
running state are loaded into the CPU
◦ This exchange of register information is called a context
switch

31
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
Which one gets to move from ready to
running?

32
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

33
First-Come, First-Served
Processes are moved to the CPU in the order in which
they arrive in the running state
Shortest Job Next
Process with shortest estimated running time in the
ready state is moved into the running state first
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

34
Average turnaround time = (140+215+535+815+940)/5
=529
Average turnaround time = (75+200+340+620+940)/5
=435
36
Every process is treated the same!
Time slice (quantum)
The amount of time each process receives
before being preempted and returned to the
ready state to allow another process its turn

37
Suppose the time slice is 50

Average turnaround time = (515+325+940+920+640)/5


= 668

38

You might also like