ITEC 202 Operating Systems Ahmet Rizaner Selected Exercises

  • Slides: 29
Download presentation
ITEC 202 - Operating Systems - Ahmet Rizaner Selected Exercises ITEC 202 Operating Systems

ITEC 202 - Operating Systems - Ahmet Rizaner Selected Exercises ITEC 202 Operating Systems

ITEC 202 - Operating Systems - Ahmet Rizaner 1 Exercise 1 • The portion

ITEC 202 - Operating Systems - Ahmet Rizaner 1 Exercise 1 • The portion of the page table for a process that is currently executing in CPU is given. All numbers are decimal and everything is numbered starting from zero, and all addresses are memory byte addresses. Valid bit is set to 1 if the page is in memory. The page size is 2 KB (2048 Bytes). • What physical address would each of the following virtual address correspond to? • Which virtual addresses would cause page faults? • A) 2104 B) 4443 C) 10199

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX Page Table Virtual Page

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX Page Table Virtual Page Valid Reference Modify Page Frame bit bit number Number 0 1 1 1 0 1 4 7 2 3 4 5 0 1 0 0 0 0 1 2 0 The page size is 2 KB (2048 Bytes)

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX 2048 Bytes a) 2104

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX 2048 Bytes a) 2104 (Page no, 56) Offset) (1, 0 Page 0 2104 Page no = 1 2104 2048 Bytes Page 1 2048 56 Bytes 2048 Bytes Page 2 Virtual Memory Page 1 Offset = 56

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX a) virtual address =

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX a) virtual address = 2104 (1, 56) Page number can be easily calculated as,

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX a) virtual address =

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX a) virtual address = 2104 (1, 56) And then, The offsett is: (1, 56)

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX Virtual Page number Valid

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX Virtual Page number Valid bit Reference bit Modify bit Page Frame Number 0 1 1 0 4 1 1 7 2 0 0 0 - 3 1 0 0 2 4 0 0 0 - 5 1 0 Page 1 is stored in Frame 7. So this logical address in the main memory corresponds to (7, 56) that is (frame no, offset)

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX Frame 5 (7, 56)

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX Frame 5 (7, 56) Frame 6 Frame 7 Frame 8 Main Memory

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX b) 4443 (2, 347)

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX b) 4443 (2, 347) Page no 4443/2048= 2. 17 2 Offset = virtual address – page no x 2048 = 4443 – 2 x 2048 = 347

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX Virtual Page number Valid

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX Virtual Page number Valid bit Reference bit Modify bit Page Frame Number 0 1 1 0 4 1 1 7 2 0 0 0 - 3 1 0 0 2 4 0 0 0 - 5 1 0 Page# 2 does not have a corresponding frame. This causes a page fault.

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX c) 10199 This also

ITEC 202 - Operating Systems - Ahmet Rizaner 1. EX c) 10199 This also causes a page fault. Exercise for you!!!

ITEC 202 - Operating Systems - Ahmet Rizaner 2 Exercise 2 • Consider a

ITEC 202 - Operating Systems - Ahmet Rizaner 2 Exercise 2 • Consider a demand paging system with four physical memory frames and the following reference string over seven pages: • 0, 1, 2, 3, 1, 0, 4, 5, 1, 0, 1, 2, 5, 6. • Assuming that memory starts empty, how many page faults will occur and what will be the final contents of memory under the Clock page replacement policy?

. 2 CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner Ex

. 2 CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner Ex Ref. string → Frame 0 Nuber Frame 1 0 1 2 of Page Faults 0* 0* 10 Frame 3 1 0 0* 0* 1* Frame 2 3 1* 1* 1* 1 2* 2* 2 3* 3* 3* 3 x x Ref. string → 5 1 0 1 4* 4* 5* 5* 5 1* 1* 1* 1 1 0* 0* 0 0 Frame 1 Frame 2 2 Frame 3 3 3 Page Fault → x x 4* 1* Page Fault → Frame 0 4 4* x x 2 5 6 2* 2* 2* x 5* 5 6* 0 x

ITEC 202 - Operating Systems - Ahmet Rizaner 3 Exercise 3 • Consider a

ITEC 202 - Operating Systems - Ahmet Rizaner 3 Exercise 3 • Consider a process that has four page frames allocated to it. In the table below, R bit indicates if the page frame has been referenced. The time fields indicate when a page frame was loaded and when it was referenced last. Page Virtual page Time last R bit frame number loaded referenced 1 2 96 302 0 2 1 260 300 1 3 0 130 301 0 4 3 40 303 1

ITEC 202 - Operating Systems - Ahmet Rizaner 3 Exercise 3 • Suppose that

ITEC 202 - Operating Systems - Ahmet Rizaner 3 Exercise 3 • Suppose that a page fault to a virtual page 4 has accrued and part of the reference string is: . . . , 4 (fault), 0, 0, 2, 4, 2, 1, 0, 3, 2 • Which page frame will have its content replaced for each of the following memory management policies? Explain. • FIFO • LRU • CLOCK • OPTIMAL

CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner 3 Exercise 3

CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner 3 Exercise 3 FIFO Page Frame 4 Page Virtual page Time last R bit frame number loaded referenced 1 2 96 302 0 2 1 260 300 1 3 0 130 301 0 4 3 40 303 1 Page Frame 4 because its content (Page 3) has been in memory the longest (loaded first)

CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner 3 Exercise 3

CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner 3 Exercise 3 LRU Page Frame 2 Page Virtual page Time last R bit frame number loaded referenced 1 2 96 302 0 2 1 260 300 1 3 0 130 301 0 4 3 40 303 1 Page Frame 2 (Page 1) because it is the least recently referenced frame (oldest/smallest reference time)

ITEC 202 - Operating Systems - Ahmet Rizaner 3 Exercise 3 Clock 1 2

ITEC 202 - Operating Systems - Ahmet Rizaner 3 Exercise 3 Clock 1 2 2 1* 3 0 4 3* Page Virtual page Time last R bit frame number loaded referenced 1 2 96 302 0 2 1 260 300 1 3 0 130 301 0 4 3 40 303 1

CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner 3 Exercise 3

CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner 3 Exercise 3 Clock Page Virtual page Time last R bit frame number loaded referenced 1 2 96 302 0 2 1 260 300 1 3 0 130 301 0 4 3 40 303 1 The last frame to be loaded is frame 2 since it has the latest load time. The cursor must be sitting at frame 3 (the next one). So, since R=0, frame 3 would have had its contents (page 0) replaced.

CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner 3 Exercise 3

CSIT 202 – CPIT 142 : Operating Systems - Ahmet Rizaner 3 Exercise 3 Optimal Page Frame 0 Page Virtual page Time last R bit frame number loaded referenced 1 2 96 302 0 2 1 260 300 1 3 0 130 301 0 4 3 40 303 1 The reference string is: 1, 2, 0, 3, 4 (fault), 0, 0, 2, 4, 2, 1, 0, 3, 2 Content of Frame 4 (Page 3) should be replaced since frames 0, 1, and 2 are referenced in the future before page 3.

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 • Consider the

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 • Consider the following combined paging and segmentation scheme. All numbers are decimal, everything is numbered starting from zero, and all addresses are memory byte addresses. • The page size is 1024 bytes.

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 • What physical

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 • What physical addresses do the following virtual addresses access? Indicate if the access generates an error. Request Read from virtual address (2, 11, 333) Write to virtual address (0, 5, 345) Write to virtual address (1, 4, 806) Read from virtual address (2, 0, 97) Physical Address Accessed Error if any

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 Segment no 0

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 Segment no 0 1 2 Segment Table Page Segment table Base 2 0 0 9216 1 22528 Virtual Page no 0 1 2 3 4 5 6 7 8 9 10 11 Page Table 1 Frame Valid no 3 0 22 0 73 1 74 1 85 1 29 1 63 1 93 1 83 1 15 1 27 1 34 1 Segment Length 7168 10240 34816 Read Only 1 1 1 Virtual Page no 0 1 2 3 4 5 6 7 8 9 Page Table 0 Frame Valid no 10 1 17 0 89 1 90 1 29 1 47 0 55 1 32 1 36 1 9 1 Read Only 1 1 1 1 1 Virtual Page no 0 1 2 3 4 5 6 Page Table 2 Frame Valid no 33 1 46 1 54 0 6 1 99 0 67 1 21 1 Read Only 0 0 0 0 "Valid" bit is set to 1 if the page is in memory "Read Only" bit is set to 1 if the page is not writable

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 (segment no, page

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 (segment no, page no, offset) Read from virtual address (2, 11, 333) Segment no 0 1 2 Segment Table Page Segment table Base 2 0 0 9216 1 22528 Segment Length 7168 10240 34816 Virtual Page no 0 1 2 3 4 5 6 7 8 9 10 11 Page Table 1 Frame Valid no 3 0 22 0 73 1 74 1 85 1 29 1 63 1 93 1 83 1 15 1 27 1 34 1 Read Only 1 1 1 (2, 34, 333) Physical memory address = segment base + frame no. × frame size + offset Physical memory address = 22528+ 34× 1024+ 333 57677

ITEC 202 - Operating Systems - Ahmet Rizaner 4. EX 22528 base of segment

ITEC 202 - Operating Systems - Ahmet Rizaner 4. EX 22528 base of segment 2 Frame 0 Frame 32 (2, 34, 333) Frame 33 Frame 34 Frame 35 Main Memory

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 (segment no, page

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 (segment no, page no, offset) Write to virtual address (0, 5, 345) Segment No 0 1 2 Virtual Page no 0 1 2 3 4 5 6 Segment Table Page Segment table Base 2 0 0 9216 1 22528 Page Table 2 Frame Valid no 33 1 46 1 54 0 6 1 99 0 67 1 21 1 Segment Length 7168 10240 34816 Read Only 0 0 0 0 (0, 67, 345) Physical memory address = segment base + frame no. × frame size + offset Physical memory address = 0+ 67× 1024+ 345 68965

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 Write to virtual

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 Write to virtual address (1, 4, 806) Segment No 0 1 2 Virtual Page no 0 1 2 3 4 5 6 7 8 9 Segment Table Page Segment table Base 2 0 0 9216 1 22528 Page Table 0 Frame Valid no 10 1 17 0 89 1 90 1 29 1 47 0 55 1 32 1 36 1 9 1 Segment Length 7168 10240 34816 Read Only 1 1 1 1 1 (1, 29, 806) Physical memory address = segment base + frame no. × frame size + offset Physical memory address = 9216+ 29× 1024+ 806 39718 protection violation error

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 Read from virtual

ITEC 202 - Operating Systems - Ahmet Rizaner 4 Exercise 4 Read from virtual address (2, 0, 97) Segment no 0 1 2 Virtual Page no 0 1 2 3 4 5 6 7 8 9 10 11 Segment Table Page Segment table Base 2 0 0 9216 1 22528 Page Table 1 Frame Valid no 3 0 22 0 73 1 74 1 85 1 29 1 63 1 93 1 83 1 15 1 27 1 34 1 Segment Length 7168 10240 34816 (2, 3, 97) Physical memory address = segment base + frame no. × frame size + offset Read Only 1 1 1 Physical memory address = 22528+ 3× 1024+ 97 25697 Page fault error

ITEC 202 - Operating Systems - Ahmet Rizaner ITEC 202 Operating Systems

ITEC 202 - Operating Systems - Ahmet Rizaner ITEC 202 Operating Systems