Top Banner
CS 4410 Operating Systems Page Replacement (1) Summer 2016 Cornell University
18

Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

Jun 15, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

CS 4410 Operating Systems

Page Replacement (1)

Summer 2016

Cornell University

Page 2: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

Today

• Page replacement algorithms

2

Page 3: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

3

Virtual Memory

● Each process has the illusion of a large contiguous address space.

● However, physical memory might be much smaller than the sum of the memory request of the ready processes.

● How do we give this illusion to multiple processes?

● With Virtual Memory, some frames may reside in disk.

Page 4: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

Virtual Memory

4

page table

Physical memory

disk

Virtual memory

page 0

page 1 page 2

page 3

page 4

page N

Page 5: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

5

Valid bit

Extend page table entry with a valid bit :

● If page in memory, the valid bit is set to v, otherwise, the valid bit is set to i.

● If page is in memory, translation works as before.

● If page is not in memory, translation causes a page fault.

0 32 v

1 4183 i

2 177 v

3 5721 i

Page Table Memory

Disk

Page 6: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

6

Page Fault

On a page fault:

● OS finds a free frame, or evicts one from memory.

● Issues disk request to fetch data for page.

● Block current process, context switch to new process .

● When disk completes, set valid bit to v, and current process in ready queue.

Page 7: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

7

Page Fault

Page 8: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

Page Replacement

• When a process has used up all frames it is allowed to use, OS must select a page to eject from memory to allow new page.

• The page to eject is selected using a Page Replacement Algorithm.

8

Page 9: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

9

Page Replacement

Page 10: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

10

Dirty Bits

● Use dirty bit to reduce overhead of page transfers.

● Only modified pages are written to disk.

● Non-modified pages can always be brought back from the original source.

● Program code segments are rarely modified, can bring pages back from the program image stored on disk

Page 11: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

Page Replacement Algorithms

• FIFO: the page brought it earliest is evicted

• OPT: evict page that will not be used for longest period of time

• LRU: evict page that has not been used the longest

• MRU: evict the most recently used page

• LFU: evict least frequently used page

Page 12: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

12

FIFO

● A FIFO queue holds all pages in memory.

● The OS replaces the page at the head of the queue.

● A newly brought page is placed at the tail of the queue.

Page 13: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

13

FIFO

● Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5

● 3 frames (3 pages can be in memory at a time per process):

● 4 frames:

● Belady’s Anomaly: sometimes, more frames → more page faults

1

2

3

4

1

2

5

3

4

9 page faults

1

2

3

5

1

2

4

5 10 page faults

4 3

Page 14: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

14

Belady’s Anomaly

Page 15: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

15

Optimal Algorithm

● Replace page that will not be used for longest period of time.

● 4 frames example

● 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5

● Used for measuring how well an algorithm performs.

1

2

3

4

6 page faults

4 5

Page 16: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

16

OPT Approximation

● In real life, we do not have access to the future page request stream of a program.

● So we need to make a best guess for which pages will not be used for the longest time.

Page 17: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

Today

• Page replacement algorithms

17

Page 18: Page Replacement (1) - Cornell University · Page Replacement Algorithms •FIFO: the page brought it earliest is evicted •OPT: evict page that will not be used for longest period

Coming up…

• Next lecture: more page replacement algorithms

• HW3 is due on Monday

• Next in-class exam on Wednesday

18