cs 423 operating system design: memory wrap-up

26
CS 423: Operating Systems Design Professor Adam Bates CS 423 Operating System Design: Memory Wrap-Up

Upload: others

Post on 29-Mar-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

CS 423: Operating Systems Design

Professor Adam Bates

CS 423 Operating System Design:

Memory Wrap-Up

CS 423: Operating Systems Design 2

Goals for Today

Reminder: Please put away devices at the start of class

• Learning Objective: • Recap memory management unit (this time, with a hot

mic) • Announcements, etc:

• MP2 out! Due March 18th • Midterm on March 6th, review on the 4th • Alberto — can you come down to the front please? : )

CS 423: Operating Systems Design

Midterm Details

3

• In-Class on March 6th.

• i.e., 50 minutes

• Multiple choice

• 20-30 Questions

• Openbook: Textbooks, paper notes, printed sheets allowed. No electronic devices permitted (or necessary)!

• Content: All lecture and text material covered prior to March 4th (i.e., up to and including memory).

• “Study Sheet?” Dude, no. All slides and lectures are online!

CS 423: Operating Systems Design

Possible MP2.5?

4

• I’m considering an extra credit opportunity (which is rare)

• Extension of MP2 — design and implement a scheduling algorithm that supports dynamic priorities

• Upside for you — bonus points towards final grade(TBD)

• Upside for me — vet a new MP concept against this semester’s most talented/ambitious students

• Mid-semester deadline that will span MP2/MP3 time period, so must ace MP2 and work efficiently to see payoff.

• Interest level??

CS 423: Operating Systems Design 5

Recap: How do we compare/evaluate page replacement strategies?

CS 423: Operating Systems Design

Terminology

6

■ Reference string: the memory reference sequence generated by a program.

■ Paging – moving pages to (from) disk ■ Optimal – the best (theoretical) strategy ■ Eviction – throwing something out ■ Pollution – bringing in useless pages/lines

CS 423: Operating Systems Design

Page Replacement Strategies

7

■ The Principle of Optimality ■ Replace the page that will not be used the most time in the future.

■ Random page replacement ■ Choose a page randomly

■ FIFO - First in First Out ■ Replace the page that has been in primary memory the longest

■ LRU - Least Recently Used ■ Replace the page that has not been used for the longest time

■ LFU - Least Frequently Used ■ Replace the page that is used least often

■ Second Chance ■ An approximation to LRU.

CS 423: Operating Systems Design

Principle of Optimality

8

■ Description: ■ Assume that each page can be labeled with the number of

instructions that will be executed before that page is first referenced, i.e., we would know the future reference string for a program.

■ Then the optimal page algorithm would choose the page with the highest label to be removed from the memory.

■ Impractical because it needs to know future references

CS 423: Operating Systems Design

Optimal Example

9

12 references, 7 faults

CS 423: Operating Systems Design

FIFO

10

12 references, 9 faults

CS 423: Operating Systems Design

Average Paging Behavior

11

… that is, until Bélády's anomaly was observed!

As number of page frames increases, we would generally expect the number of page faults to decrease…

CS 423: Operating Systems Design

Belady's Anomaly (FIFO)

12

As the number of page frames increase, so does the fault rate.

12 references, 10 faults

FIFO with 4 physical pages

CS 423: Operating Systems Design

FIFO w/ Page #’s 3 vs. 4

13

CS 423: Operating Systems Design 14

• Why??? Increasing the number of page frames affects the order in which items are removed.

• For certain memory access patterns, this can actually increase the page fault rate!

• Belay’s Anomaly is reference string dependent; intuition about increasing page count still holds in general case.

Belady's Anomaly (FIFO)

CS 423: Operating Systems Design

FIFO w/ Page #’s 3 vs. 4

15

CS 423: Operating Systems Design

FIFO w/ Page #’s 3 vs. 4

16

Cache3 * Cache4!!!!

\nsubseteq

CS 423: Operating Systems Design

Question

17

Why not use very large pages to reduce page faults?

CS 423: Operating Systems Design

Paging Terminology

18

■ Reference string: the memory reference sequence generated by a program.

■ Paging – moving pages to (from) disk ■ Optimal – the best (theoretical) strategy ■ Eviction – throwing something out ■ Pollution – bringing in useless pages/lines

CS 423: Operating Systems Design

Page Size Considerations

19

■ Small pages ■ Reason:

■ Locality of reference tends to be small (256) ■ Less fragmentation

■ Problem: require large page tables ■ Large pages

■ Reason ■ Small page table ■ I/O transfers have high seek time, so better to transfer more data

per seek ■ Problem: Internal fragmentation, needless caching

CS 423: Operating Systems Design

LRU

20

12 references, 10 faults

CS 423: Operating Systems Design

Least Recently Used (LRU) Issues

21

■ How to track “recency”? ■ use time

■ record time of reference with page table entry ■ use counter as clock ■ search for smallest time.

■ use stack ■ remove reference of page from stack (linked list) ■ push it on top of stack

■ both approaches require large processing overhead, more space, and hardware support.

CS 423: Operating Systems Design

Second Chance

22

■ Only one reference bit in the page table entry. ■ 0 initially ■ 1 When a page is referenced

■ pages are kept in FIFO order using a circular list. ■ Choose “victim” to evict

■ Select head of FIFO ■ If page has reference bit set, reset bit and select next page

in FIFO list. ■ keep processing until you reach page with zero reference

bit and page that one out. ■ System V uses a variant of second chance

CS 423: Operating Systems Design

Second Chance Example

23

12 references 9 faults

CS 423: Operating Systems Design

Thrashing

24

■ Computations have locality. ■ As page frames decrease, the page

frames available are not large enough to contain the locality of the process.

■ The processes start faulting heavily. ■ Pages that are read in, are used and

immediately paged out.

CS 423: Operating Systems Design

Thrashing & CPU Utilization

25

■ As the page rate goes up, processes get suspended on page out queues for the disk.

■ the system may try to optimize performance by starting new jobs.

■ starting new jobs will reduce the number of page frames available to each process, increasing the page fault requests.

■ system throughput plunges.

CS 423: Operating Systems Design

Working Set

26

■ the working set model assumes locality.

■ the principle of locality states that a program clusters its access to data and text temporally.

■ As the number of page frames increases above some threshold, the page fault rate will drop dramatically.