CMPSCI 377: Operating Systems
Homework 6: Memory Management
DUE DATE: Friday, May 9th, 2003 23:30
What to Hand In
Everyone must hand in their own work. In order to get credit for this
assignment, it must be handed in accordingly: Place in your Hand-In
directory (~/cs377/hw6/) one of the following: hw6.txt (raw text file),
or hw6.ps (a postscript file). The file must contain
your name, user id, and answers to the questions listed below.
You can check the location of your file by using the "~fagg/bin/checkhw hw6"
command.
- Consider the following page reference string:
1, 2, 3, 4, 2, 1, 5, 6, 2, 3, 7, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2.
How many page faults would occur for the following replacement
algorithms, assuming one, three, five or seven frames?
Remember that all frames are initially empty, so your first unique pages will all cost
one fault each.
- LRU replacement
- FIFO replacement
- Optimal replacement
- Consider a disk that employs the shortest seek time first (SSTF)
scheduling algorithm. Assume that the disk has 100 tracks that
are numbered from 1 to 100. Further assume that the current disk head
position is track number 65.
- In what order does the disk service requests for blocks that are stored
on the following tracks: 67 28 7 92? Assume that all four requests arrive simultaneously.
- What is the total number of tracks across which the disk seeks
to satisfy these requests?
- What order are the requests serviced assuming the SCAN (elevator)
disk scheduling policy? Assume that the disk head is currently
moving toward track 100 and that the disk head always seeks to the
highest and lowest numbered tracks (i.e., tracks 100 and 1) before
reversing direction.
- What is the total number of tracks across which the disk seeks
in case of SCAN?
-
Consider a segmented paging system with a physical memory of size 1024
bytes, with frames that are 32 bytes each. Shown are 2 segment tables (one for each process) and 8 page tables.
Segment Tables
| Process 1
| Process 2 |
0 | 0x5 | 0x2 |
1 | 0x7 |
0x0 |
2 | 0x3 | 0x1 |
3 | 0x6 | 0x7
|
Page Tables
| 0
| 1
| 2
| 3
| 4
| 5
| 6
| 7
|
0
| 0x19
| 0x1C
| 0x03
| 0x02
| 0x11
| 0x0A
| 0x00
| 0x06
|
1
| 0x14
| 0x13
| 0x0F
| 0x15
| 0x1B
| 0x02
| 0x17
| 0x08
|
2
| 0x02
| 0x01
| 0x0C
| 0x13
| 0x04
| 0x0E
| 0x12
| 0x09
|
3
| 0x11
| 0x02
| 0x07
| 0x09
| 0x12
| 0x1A
| 0x13
| 0x18
|
Answer the following questions:
- How large is the physical address?
- How large is the virtual address?
- For process 1, what is the physical address (in hex) that corresponds
to virtual address 0x45?
- What about for process 2?
- For process 1, what is the physical address that corresponds to
virtual address 0x1E7?
- What about for process 2?
- What might be stored in segment seven?
- How much time did you spend on this assignment?
fagg@cs.umass.edu
Last modified: Mon Oct 22 09:32:53 2002