Virtual Memory. Chapter 8

Size: px
Start display at page:

Download "Virtual Memory. Chapter 8"

Transcription

1 Virtual Memory 1 Chapter 8

2 Characteristics of Paging and Segmentation Memory references are dynamically translated into physical addresses at run time E.g., process may be swapped in and out of main memory such that it occupies different regions A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory Insight: all pieces of a process do not need to be loaded in main memory during execution Computation may proceed for some time in a piece located in main memory; think about the locality and cache! This is enabled by the technology of Virtual Memory

3 Process Execution The OS can bring into main memory only a few pieces (but not all) of the program Each page/segment table entry now has a present bit that is set only if the corresponding piece is in main memory The resident set is the portion of the process that is in main memory What happens when a piece is not in the main memory? An interrupt (memory fault) is generated to go to secondary memory to get that piece

4 4 Process Execution OS places the process in a Blocking state OS issues a disk I/O Read request to bring into main memory the piece referenced to Another process is dispatched to run while the disk I/O takes place An interrupt is issued when the disk I/O completes This causes the OS to place the affected process in the Ready state Recall: What is this procedure called?

5 Advantages of Partial Loading More processes can be maintained in main memory Only load in some of the pieces of each process With more processes in main memory, it is more likely that a process will be in the Ready state at any given time A process can now execute even if it is larger than the main memory size! It is even possible to use more bits for logical addresses than the bits needed for addressing the physical memory

6 6 Virtual Memory: large as you wish! Example: 16 bits are needed to address a physical memory of 64KB Let s use a page size of 1KB so that 10 bits are needed for offsets within a page For the page number part of a logical address we may use a number of bits larger than 6, say 16 The memory referenced by a logical address is called virtual memory is maintained on secondary memory (e.g., disk): a program needs to be completely loaded into the virtual memory on a disk before execution pieces are bring into main memory only when needed

7 7 Virtual Memory: large as you wish! For 64 bits machine: Theoretically: 16.8 million terabytes!!! In practice: your computer case is a little too small to fit all that RAM.

8 8 Support Needed for VM For better performance, the file system is often bypassed and virtual memory is stored in a special area of the disk called the swap space Memory management hardware must support paging and/or segmentation OS must be able to manage the movement of pages and/or segments between secondary memory and main memory

9 9 Possibility of Thrashing To accommodate as many processes as possible, only a few pieces of each process is maintained in main memory But main memory may be full: when the OS brings one piece in, it must swap one piece out The OS must not swap out a piece of a process just before that piece is needed If it does this too often this leads to thrashing: The processor spends most of its time swapping pieces rather than executing user instructions

10 10 Locality and Virtual Memory Principle of locality of references: memory references within a process tend to cluster Hence: only a few pieces of a process will be needed over a short period of time Possible to make intelligent guesses about which pieces will be needed in the future This suggests that virtual memory may work efficiently (i.e., thrashing should not occur too often)

11 11 Memory Management Memory management depends on whether the hardware supports paging or segmentation or both Pure segmentation systems are rare. Segments are usually paged -- memory management issues are then those of paging We thus concentrate on issues associated with paging To achieve good performance, the fundamental design consideration is to decrease the page fault rate Page fault: the referred page is not in the main memory

12 1 Paging (No Virtual Memory)

13 1 Paging (with virtual memory) PTE Each page table entry contains a present bit to indicate whether the page is in main memory or not If it is in main memory, the entry contains the frame number of the corresponding page in main memory If it is not in main memory, the entry may contain the address of that page on disk

14 14 Paging (with virtual memory) A modified bit indicates if the page has been altered since it was last loaded into main memory If no change has been made, the page does not have to be written to the disk when it needs to be swapped out Other control bits may be present if protection is managed at the page level a read-only/read-write bit protection level bit: kernel page or user page (more bits are used when the processor supports more than protection levels)

15 1 Page Table Structure For different processes, page tables are variable in length A single register holds the starting physical address of the page table of the currently running process Page number field is typically greater than frame number field, why?

16 16 Page Table Structure Let s look at the size of a page table For example: 4 Gb program ^, and each page is of size 1 Kb (^10). Then how many entries do we need for a page table? ^(-10) = ^ Is this result acceptable? A solution: Sharing pages can alleviate this problem a bit

17 17 Page Table Structure Most computer systems support a very large virtual address space to 64 bits are used for logical addresses Another example: if (only) bits are used with 4k (^1) pages, a page table may have ^{0} entries The entire page table may take up too much main memory. Hence, page tables are often also stored in virtual memory When a process is running, part of its page table must be in main memory (including the page table entry of the currently executing page)

18 18 Translation Lookaside Buffer Because (and if) the page table is in main memory, each virtual memory reference causes at least two physical memory accesses one to fetch the page table entry one to fetch the data To overcome this overhead, a special buffer is set up for page table entries called the TLB - Translation Lookaside Buffer Contains page table entries that have been most recently used Works similar to main memory cache

19 19 Translation Lookaside Buffer Given a logical address, the processor examines the TLB (in a buffer, i.e., data register) If page table entry is present (a hit), the frame number is retrieved and the real (physical) address is computed If page table entry is not in the TLB (a miss), the page number is used to index the process s page table (in main or virtual memory) if present bit is set then the corresponding frame is accessed if not, a page fault is issued to bring in the referenced page into main memory from virtual memory TLB is updated to include the new page entry

20 0

21 1 TLB: further comments TLB use associative mapping hardware to simultaneously search all TLB entries to find a match on page number The pages in the TLB is guaranteed to be in the main memory The CPU uses two types of caches on each virtual memory reference first the TLB: to convert the logical address to the physical address once the physical address is formed, the CPU then looks in the cache for the referenced word

22 Multilevel Page Tables Since a page table will generally require several pages to be stored. One solution is to organize page tables into a multilevel hierarchy When levels are used, the page number is split into two numbers p1 and p p1 indexes the outer paged table (directory or root page table) in main memory who s entries points to a page containing page table entries which is indexed by p.

23 Multilevel Page Tables

24 4 Multilevel Page Tables

25 Inverted Page Table Another solution to the problem of maintaining large page tables is to use an Inverted Page Table (IPT) There is only one IPT entry per physical frame (rather than one per virtual page) this reduces a lot the amount of memory needed for page tables We generally have only one IPT for the whole system The 1st entry of the IPT is for frame #1... the n-th entry of the IPT is for frame #n and each of these entries contains the virtual page number Thus this table is inverted

26 6 For better performance, hashing is used to obtain a hash table entry which points to a IPT entry A page fault occurs if no match is found chaining is used to manage hashing collision/overflow

27 7

28 8 Fetch Policy Determines when a page should be brought into the main memory. Two common policies: Demand paging only brings pages into main memory when a reference is made to a location on the page (i.e., paging on demand only) many page faults when a process is first started but the rate should decrease as more pages are brought in Prepaging brings in more pages than needed locality of references suggests that it is more efficient to bring in pages that reside contiguously on the disk (that is slow) Effectiveness is not definitely established: the extra pages are often not referenced

29 9 Placement Policy (Recall) Determines where in real memory a process piece resides E.g., for dynamic partitioning systems, placement policy is a critical design consideration first-fit, next fit, and best fit are possible choices For paging: the chosen frame location is irrelevant since all memory frames are equivalent with the same size Placement policy for dynamic partitioning (Recall)

30 0 Replacement Policy What happens if more pages are needed and there aren't any free frames available? There are several possible ways to consider: Adjust the memory used by I/O buffering, etc., to free up some frames for user processes. Put the process requesting more pages into a wait queue until some free frames become available. Swap some (entire) processes out of memory completely, freeing up its page frames. Find some page in memory that isn't being used right now, and swap that page only out to disk, freeing up a frame that can be allocated to the process requesting it.

31 1 Replacement Policy Replacement policy deals with the selection of a page in main memory to be replaced when a new page is brought in This occurs whenever main memory is full (no free frame available) and sometimes during memory clean-up It occurs often since the OS tries to bring into main memory as many processes as it can to increase the multiprogramming level You may roughly view replacement as removal of a page from main memory

32 Replacement Policy Not all pages in main memory can be selected for replacement Some frames are locked, and thus cannot be paged out: Majority of the kernel is held on locked frames as well as key control structures and I/O buffers The OS might decide that the set of pages considered for replacement should be: from the set of pages in unlocked frames limited to the pages of a process that has a less probability to cause a future page fault

33 Exams Everybody s midterm grade Course website is up-to-date now Final exam Wednesday 1/1 7:00 pm - 9:00 pm (evening) Berthoud Hall 41 (classroom)

34 4 Replacement Policy The decision for the set of pages to be considered (i.e., not including the locked pages) for replacement is related to the resident set management strategy: How many page frames are to be allocated to each process? (We will discuss this later) No matter what is the set of pages considered for replacement, the replacement policy deals with algorithms that will choose the page within that set The page to be replaced is often called a victim page

35 Replacement Algorithms The optimal policy (OPT) selects for replacement the page for which the time to the next reference is the longest produces the fewest number of page faults Assuming a fixed frame allocation for the process of three frames. The execution requires reference to five distinct pages. The stream contains a sequence of 1 requests

36 6 Replacement Algorithms The optimal policy (OPT) selects for replacement the page for which the time to the next reference is the longest Now, which one to replace? F We check the time of the next reference!

37 7 Replacement Algorithms The optimal policy (OPT) selects for replacement the page for which the time to the next reference is the longest Now, which page to replace? F F

38 8 Replacement Algorithms The optimal policy (OPT) selects for replacement the page for which the time to the next reference is the longest 1 4 Now, which page to replace? 1 F If there is a tie, we just use the page at a lower address! 4 F 4 4 F

39 Replacement Algorithms The optimal policy (OPT) selects for replacement the page for which the time to the next reference is the longest F F F F F F

40 40 Replacement Algorithms The optimal policy (OPT) selects for replacement the page for which the time to the next reference is the longest F F F What is the pros/cons of OPT? F 4 F 4 4 F

41 41 Replacement Algorithms The optimal policy (OPT) selects for replacement the page for which the time to the next reference is the longest produces the fewest number of page faults impossible to implement (need to know the future) F F F F 4 F 4 4 F

42 4 Note on counting page faults When the main memory is empty, each new page we bring in is a result of a page fault For the purpose of comparing the different algorithms, it is not necessary to count these initial page faults Because the number of these is the same for all algorithms We assume demand paging as fetch policy

43 4 Least Recently Used (LRU) Policy Replaces the page that has not been referenced for the longest time by the principle of locality, this should be the page least likely to be referenced in the near future performs nearly as well as the optimal policy

44 44 Least Recently Used (LRU) Policy Replaces the page that has not been referenced for the longest time by the principle of locality, this should be the page least likely to be referenced in the near future performs nearly as well as the optimal policy 1 4 Now, which one to replace? 1 F We check the time of the previous reference!

45 4 Least Recently Used (LRU) Policy Replaces the page that has not been referenced for the longest time by the principle of locality, this should be the page least likely to be referenced in the near future performs nearly as well as the optimal policy 1 4 Now, which one to replace? 1 1 F 1 F

46 46 Least Recently Used (LRU) Policy Replaces the page that has not been referenced for the longest time by the principle of locality, this should be the page least likely to be referenced in the near future performs nearly as well as the optimal policy F F F F F F F

47 47 Implementation of LRU Each page could be tagged (in the page table entry) with the time at each memory reference The LRU page for replacement has the biggest difference (i.e., the smallest tagged time value), which needs to be searched at each page fault This would require expensive hardware and a great deal of overhead Consequently very few computer systems provide sufficient hardware support for true LRU replacement policy

48 48 First-in-first-out (FIFO) Policy Treats page frames allocated to a process as a circular buffer When the buffer is full, the oldest page is replaced. Hence: first-in, first-out Simple to implement, only requiring a pointer that circles through the page frames of the process This is NOT the same as the LRU page E.g.: A frequently used page is often the oldest, so it will be repeatedly paged out by FIFO

49 49 First-in-first-out (FIFO) Policy Treats page frames allocated to a process as a circular buffer When the buffer is full, the oldest page is replaced. Hence: first-in, first-out Now, which one to replace? We check the queue: 1

50 0 First-in-first-out (FIFO) Policy Treats page frames allocated to a process as a circular buffer When the buffer is full, the oldest page is replaced. Hence: first-in, first-out Now, which one to replace? F 1 F We check the queue: 1

51 1 First-in-first-out (FIFO) Policy Treats page frames allocated to a process as a circular buffer When the buffer is full, the oldest page is replaced. Hence: first-in, first-out Now page 4 is new, which one to replace? F F F F F F We check the queue: 1

52 First-in-first-out (FIFO) Policy FIFO performs the worst (with some other issue) LRU recognizes that pages and are referenced more frequently than others but FIFO does not

53 What is the relationship of page fault ratio versus number of frames? In other words, when the number of frames increases, how does the page fault ratio change?

54 4 Belady s Anomaly Definition: Increasing the number of frames available can increase the number of page faults that occur! Also called FIFO anomaly, as only the FIFO replacement policy has this issue. Why: Because the most frequent pages could (and often) be the oldest in the memory, which have a higher probability to be swapped out. Because FIFO cannot recognize page use frequency

55 Belady s Anomaly Number of page faults = 9 Number of page faults = 10

56 6 Resident Set Size The OS must decide how many page frames to allocate to a process large page fault rate if too few frames are allocated low multiprogramming level if to many frames are allocated Fixed-allocation policy allocates a fixed number of frames that remains constant over time the number is determined at load time Variable-allocation policy number of frames allocated to a process varies over time may increase if page fault rate is high may decrease if page fault rate is very low requires more OS overhead to assess behavior of active processes

57 7 Replacement Scope Replacement scope is the set of frames to be considered for replacement when a page fault occurs Local replacement policy chooses only among the frames that are allocated to the process that issued the page fault Global replacement policy any unlocked frame is a candidate for replacement Consider the possible combinations of replacement scope and resident set size

58 8 Allocation and Replacement Consider the possible combinations of replacement scope and resident set size

59 9 The Working Set Strategy The variable-allocation method with local scope is based on the assumption of locality of references The working set for a process at time t, W(D,t), is the set of pages that have been referenced in the last D virtual time units Virtual time = time elapsed while the process was in execution (e.g., number of instructions executed) D is a window of time At any t, W(D,t) is non decreasing with D W(D,t) is an approximation of the program s locality

60 60 The Working Set Strategy The working set of a process first grows when it starts executing Then it stabilizes by the principle of locality It grows again when the process enters a new locality (transition period) Up to a point where the working set contains pages from two localities Then decreases after a sufficient long time spent in the new locality

61 61 The Working Set Strategy The working set concept suggest the following strategy to determine the resident set size Monitor the working set for each process When the resident set of a process is smaller than its working set, allocate more frames to it Practical problems with this working set strategy measurement of the working set for each process is impractical the optimal value for D is unknown and time varying Solution: rather than monitor the working set, monitor the page fault rate!

62 The Page-Fault Frequency Strategy Define an upper bound U and lower bound L for Page Fault Rates (PFR) Allocate more frames to a process if PFR is higher than U Allocate less frames if PFR is < L The resident set size should be close to the working set size W We suspend the process if the PFR > U and no more free frames are available 6

63 6 Cleaning Policy When does a modified page should be written out to disk? Demand cleaning a page is written out only when it s frame has been selected for replacement Precleaning modified pages are written before their frame are needed so that they can be written out in batches but makes little sense to write out so many pages if the majority of them will be modified again before they are replaced

64 64 Combined Segmentation and Paging To combine their advantages some processors and OS page the segments. Several combinations exists. Here is a simple one Each process has: one segment table several page tables: one page table per segment The virtual address consist of: a segment number: used to index the segment table who s entry gives the starting address of the page table for that segment a page number: used to index that page table to obtain the corresponding frame number an offset: used to locate the word within the frame

65 6 Combined Segmentation and Paging The Segment Base is the physical address of the page table of that segment Present and modified bits are present only in page table entry Protection and sharing info most naturally resides in segment table entry

66 66 Combined Segmentation and Paging

67 67 Homework Assignment 6 Chapter 8 Problems 8.1, 8.6, 8.10, and Detail is presented on course website: ment.html Deadline: 11/1/017 (Tuesday) Write down your full name clearly. Note: Problems are NOT Review Questions in the text book! Turn in hard copy solutions before the beginning of the class.

a process may be swapped in and out of main memory such that it occupies different regions

a process may be swapped in and out of main memory such that it occupies different regions Virtual Memory Characteristics of Paging and Segmentation A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory Memory references are dynamically

More information

Chapter 8 Virtual Memory

Chapter 8 Virtual Memory Operating Systems: Internals and Design Principles Chapter 8 Virtual Memory Seventh Edition William Stallings Modified by Rana Forsati for CSE 410 Outline Principle of locality Paging - Effect of page

More information

COMP 346 WINTER 2018 MEMORY MANAGEMENT (VIRTUAL MEMORY)

COMP 346 WINTER 2018 MEMORY MANAGEMENT (VIRTUAL MEMORY) COMP 346 WINTER 2018 1 MEMORY MANAGEMENT (VIRTUAL MEMORY) VIRTUAL MEMORY A process may be broken up into pieces (pages or segments) that do not need to be located contiguously in main memory. Memory references

More information

ECE519 Advanced Operating Systems

ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (8 th Week) (Advanced) Operating Systems 8. Virtual Memory 8. Outline Hardware and Control Structures Operating

More information

Memory Management Virtual Memory

Memory Management Virtual Memory Memory Management Virtual Memory Part of A3 course (by Theo Schouten) Biniam Gebremichael http://www.cs.ru.nl/~biniam/ Office: A6004 April 4 2005 Content Virtual memory Definition Advantage and challenges

More information

Chapter 8 Virtual Memory

Chapter 8 Virtual Memory Chapter 8 Virtual Memory Contents Hardware and control structures Operating system software Unix and Solaris memory management Linux memory management Windows 2000 memory management Characteristics of

More information

Chapter 8 Virtual Memory

Chapter 8 Virtual Memory Operating Systems: Internals and Design Principles Chapter 8 Virtual Memory Seventh Edition William Stallings Operating Systems: Internals and Design Principles You re gonna need a bigger boat. Steven

More information

MEMORY MANAGEMENT/1 CS 409, FALL 2013

MEMORY MANAGEMENT/1 CS 409, FALL 2013 MEMORY MANAGEMENT Requirements: Relocation (to different memory areas) Protection (run time, usually implemented together with relocation) Sharing (and also protection) Logical organization Physical organization

More information

Virtual Memory. Reading: Silberschatz chapter 10 Reading: Stallings. chapter 8 EEL 358

Virtual Memory. Reading: Silberschatz chapter 10 Reading: Stallings. chapter 8 EEL 358 Virtual Memory Reading: Silberschatz chapter 10 Reading: Stallings chapter 8 1 Outline Introduction Advantages Thrashing Principal of Locality VM based on Paging/Segmentation Combined Paging and Segmentation

More information

Virtual Memory. control structures and hardware support

Virtual Memory. control structures and hardware support Virtual Memory control structures and hardware support 1 Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time A process may be swapped in and

More information

Virtual Memory. Chapter 8

Virtual Memory. Chapter 8 Chapter 8 Virtual Memory What are common with paging and segmentation are that all memory addresses within a process are logical ones that can be dynamically translated into physical addresses at run time.

More information

Chapter 8. Virtual Memory

Chapter 8. Virtual Memory Operating System Chapter 8. Virtual Memory Lynn Choi School of Electrical Engineering Motivated by Memory Hierarchy Principles of Locality Speed vs. size vs. cost tradeoff Locality principle Spatial Locality:

More information

Role of OS in virtual memory management

Role of OS in virtual memory management Role of OS in virtual memory management Role of OS memory management Design of memory-management portion of OS depends on 3 fundamental areas of choice Whether to use virtual memory or not Whether to use

More information

Operating Systems CSE 410, Spring Virtual Memory. Stephen Wagner Michigan State University

Operating Systems CSE 410, Spring Virtual Memory. Stephen Wagner Michigan State University Operating Systems CSE 410, Spring 2004 Virtual Memory Stephen Wagner Michigan State University Virtual Memory Provide User an address space that is larger than main memory Secondary storage is used to

More information

Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses.

Addresses in the source program are generally symbolic. A compiler will typically bind these symbolic addresses to re-locatable addresses. 1 Memory Management Address Binding The normal procedures is to select one of the processes in the input queue and to load that process into memory. As the process executed, it accesses instructions and

More information

Process size is independent of the main memory present in the system.

Process size is independent of the main memory present in the system. Hardware control structure Two characteristics are key to paging and segmentation: 1. All memory references are logical addresses within a process which are dynamically converted into physical at run time.

More information

CSE 120. Translation Lookaside Buffer (TLB) Implemented in Hardware. July 18, Day 5 Memory. Instructor: Neil Rhodes. Software TLB Management

CSE 120. Translation Lookaside Buffer (TLB) Implemented in Hardware. July 18, Day 5 Memory. Instructor: Neil Rhodes. Software TLB Management CSE 120 July 18, 2006 Day 5 Memory Instructor: Neil Rhodes Translation Lookaside Buffer (TLB) Implemented in Hardware Cache to map virtual page numbers to page frame Associative memory: HW looks up in

More information

Memory Management Virtual Memory

Memory Management Virtual Memory Background; key issues Memory Management Virtual Memory Memory allocation schemes Virtual memory Memory management design and implementation issues 1 Remember Basic OS structures: intro in historical order

More information

Virtual Memory Outline

Virtual Memory Outline Virtual Memory Outline Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations Operating-System Examples

More information

Virtual Memory: Page Replacement. CSSE 332 Operating Systems Rose-Hulman Institute of Technology

Virtual Memory: Page Replacement. CSSE 332 Operating Systems Rose-Hulman Institute of Technology Virtual Memory: Page Replacement CSSE 332 Operating Systems Rose-Hulman Institute of Technology Announcements Project E & presentation are due Wednesday Team reflections due Monday, May 19 The need for

More information

Operating Systems. Operating Systems Sina Meraji U of T

Operating Systems. Operating Systems Sina Meraji U of T Operating Systems Operating Systems Sina Meraji U of T Recap Last time we looked at memory management techniques Fixed partitioning Dynamic partitioning Paging Example Address Translation Suppose addresses

More information

Memory Management Prof. James L. Frankel Harvard University

Memory Management Prof. James L. Frankel Harvard University Memory Management Prof. James L. Frankel Harvard University Version of 5:42 PM 25-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Memory Management Ideal memory Large Fast Non-volatile

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 23 Virtual memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ Is a page replaces when

More information

Virtual or Logical. Logical Addr. MMU (Memory Mgt. Unit) Physical. Addr. 1. (50 ns access)

Virtual or Logical. Logical Addr. MMU (Memory Mgt. Unit) Physical. Addr. 1. (50 ns access) Virtual Memory - programmer views memory as large address space without concerns about the amount of physical memory or memory management. (What do the terms 3-bit (or 6-bit) operating system or overlays

More information

Virtual Memory. CSCI 315 Operating Systems Design Department of Computer Science

Virtual Memory. CSCI 315 Operating Systems Design Department of Computer Science Virtual Memory CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition of the course text Operating

More information

Operating Systems: Internals and Design Principles. Chapter 7 Memory Management Seventh Edition William Stallings

Operating Systems: Internals and Design Principles. Chapter 7 Memory Management Seventh Edition William Stallings Operating Systems: Internals and Design Principles Chapter 7 Memory Management Seventh Edition William Stallings Memory Management Requirements Memory management is intended to satisfy the following requirements:

More information

Paging Policies, Load control, Page Fault Handling, Case studies January WT 2008/09

Paging Policies, Load control, Page Fault Handling, Case studies January WT 2008/09 19 Virtual Memory (2) Paging Policies, Load control, Page Fault Handling, Case studies January 21 2009 WT 2008/09 2009 Universität Karlsruhe (TH), System Architecture Group 1 Introduction Roadmap of Today

More information

Virtual to physical address translation

Virtual to physical address translation Virtual to physical address translation Virtual memory with paging Page table per process Page table entry includes present bit frame number modify bit flags for protection and sharing. Page tables can

More information

First-In-First-Out (FIFO) Algorithm

First-In-First-Out (FIFO) Algorithm First-In-First-Out (FIFO) Algorithm Reference string: 7,0,1,2,0,3,0,4,2,3,0,3,0,3,2,1,2,0,1,7,0,1 3 frames (3 pages can be in memory at a time per process) 15 page faults Can vary by reference string:

More information

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced? Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!

More information

Chapter 8: Virtual Memory. Operating System Concepts

Chapter 8: Virtual Memory. Operating System Concepts Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2009 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Operating System Concepts

Operating System Concepts Chapter 9: Virtual-Memory Management 9.1 Silberschatz, Galvin and Gagne 2005 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped

More information

Memory management. Requirements. Relocation: program loading. Terms. Relocation. Protection. Sharing. Logical organization. Physical organization

Memory management. Requirements. Relocation: program loading. Terms. Relocation. Protection. Sharing. Logical organization. Physical organization Requirements Relocation Memory management ability to change process image position Protection ability to avoid unwanted memory accesses Sharing ability to share memory portions among processes Logical

More information

CISC 7310X. C08: Virtual Memory. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/22/2018 CUNY Brooklyn College

CISC 7310X. C08: Virtual Memory. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/22/2018 CUNY Brooklyn College CISC 7310X C08: Virtual Memory Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/22/2018 CUNY Brooklyn College 1 Outline Concepts of virtual address space, paging, virtual page,

More information

MEMORY: SWAPPING. Shivaram Venkataraman CS 537, Spring 2019

MEMORY: SWAPPING. Shivaram Venkataraman CS 537, Spring 2019 MEMORY: SWAPPING Shivaram Venkataraman CS 537, Spring 2019 ADMINISTRIVIA - Project 2b is out. Due Feb 27 th, 11:59 - Project 1b grades are out Lessons from p2a? 1. Start early! 2. Sketch out a design?

More information

CPE300: Digital System Architecture and Design

CPE300: Digital System Architecture and Design CPE300: Digital System Architecture and Design Fall 2011 MW 17:30-18:45 CBC C316 Virtual Memory 11282011 http://www.egr.unlv.edu/~b1morris/cpe300/ 2 Outline Review Cache Virtual Memory Projects 3 Memory

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 33 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How does the virtual

More information

Chapter 8: Virtual Memory. Operating System Concepts Essentials 2 nd Edition

Chapter 8: Virtual Memory. Operating System Concepts Essentials 2 nd Edition Chapter 8: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 8: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Chapter 3 - Memory Management

Chapter 3 - Memory Management Chapter 3 - Memory Management Luis Tarrataca luis.tarrataca@gmail.com CEFET-RJ L. Tarrataca Chapter 3 - Memory Management 1 / 222 1 A Memory Abstraction: Address Spaces The Notion of an Address Space Swapping

More information

Readings and References. Virtual Memory. Virtual Memory. Virtual Memory VPN. Reading. CSE Computer Systems December 5, 2001.

Readings and References. Virtual Memory. Virtual Memory. Virtual Memory VPN. Reading. CSE Computer Systems December 5, 2001. Readings and References Virtual Memory Reading Chapter through.., Operating System Concepts, Silberschatz, Galvin, and Gagne CSE - Computer Systems December, Other References Chapter, Inside Microsoft

More information

Operating Systems. Overview Virtual memory part 2. Page replacement algorithms. Lecture 7 Memory management 3: Virtual memory

Operating Systems. Overview Virtual memory part 2. Page replacement algorithms. Lecture 7 Memory management 3: Virtual memory Operating Systems Lecture 7 Memory management : Virtual memory Overview Virtual memory part Page replacement algorithms Frame allocation Thrashing Other considerations Memory over-allocation Efficient

More information

Chapter 9: Virtual-Memory

Chapter 9: Virtual-Memory Chapter 9: Virtual-Memory Management Chapter 9: Virtual-Memory Management Background Demand Paging Page Replacement Allocation of Frames Thrashing Other Considerations Silberschatz, Galvin and Gagne 2013

More information

Operating Systems Lecture 6: Memory Management II

Operating Systems Lecture 6: Memory Management II CSCI-GA.2250-001 Operating Systems Lecture 6: Memory Management II Hubertus Franke frankeh@cims.nyu.edu What is the problem? Not enough memory Have enough memory is not possible with current technology

More information

Chapter 9: Virtual Memory

Chapter 9: Virtual Memory Chapter 9: Virtual Memory Chapter 9: Virtual Memory 9.1 Background 9.2 Demand Paging 9.3 Copy-on-Write 9.4 Page Replacement 9.5 Allocation of Frames 9.6 Thrashing 9.7 Memory-Mapped Files 9.8 Allocating

More information

Page Replacement Algorithms

Page Replacement Algorithms Page Replacement Algorithms MIN, OPT (optimal) RANDOM evict random page FIFO (first-in, first-out) give every page equal residency LRU (least-recently used) MRU (most-recently used) 1 9.1 Silberschatz,

More information

CS6401- Operating System UNIT-III STORAGE MANAGEMENT

CS6401- Operating System UNIT-III STORAGE MANAGEMENT UNIT-III STORAGE MANAGEMENT Memory Management: Background In general, to rum a program, it must be brought into memory. Input queue collection of processes on the disk that are waiting to be brought into

More information

Chapter 4 Memory Management

Chapter 4 Memory Management Chapter 4 Memory Management 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms 4.5 Modeling page replacement algorithms 4.6 Design issues for paging systems 4.7

More information

Week 2: Tiina Niklander

Week 2: Tiina Niklander Virtual memory Operations and policies Chapters 3.4. 3.6 Week 2: 17.9.2009 Tiina Niklander 1 Policies and methods Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka

More information

Basic Memory Management

Basic Memory Management Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester 10/15/14 CSC 2/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it

More information

Virtual Memory COMPSCI 386

Virtual Memory COMPSCI 386 Virtual Memory COMPSCI 386 Motivation An instruction to be executed must be in physical memory, but there may not be enough space for all ready processes. Typically the entire program is not needed. Exception

More information

Operating System Support

Operating System Support Operating System Support Objectives and Functions Convenience Making the computer easier to use Efficiency Allowing better use of computer resources Layers and Views of a Computer System Operating System

More information

VIRTUAL MEMORY READING: CHAPTER 9

VIRTUAL MEMORY READING: CHAPTER 9 VIRTUAL MEMORY READING: CHAPTER 9 9 MEMORY HIERARCHY Core! Processor! Core! Caching! Main! Memory! (DRAM)!! Caching!! Secondary Storage (SSD)!!!! Secondary Storage (Disk)! L cache exclusive to a single

More information

Operating Systems, Fall

Operating Systems, Fall Policies and methods Virtual memory Operations and policies Chapters 3.4. 3.6 Week 2: 17.9.2009 Tiina Niklander 1 Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka

More information

3/3/2014! Anthony D. Joseph!!CS162! UCB Spring 2014!

3/3/2014! Anthony D. Joseph!!CS162! UCB Spring 2014! Post Project 1 Class Format" CS162 Operating Systems and Systems Programming Lecture 11 Page Allocation and Replacement" Mini quizzes after each topic Not graded Simple True/False Immediate feedback for

More information

Principles of Operating Systems

Principles of Operating Systems Principles of Operating Systems Lecture 21-23 - Virtual Memory Ardalan Amiri Sani (ardalan@uci.edu) [lecture slides contains some content adapted from previous slides by Prof. Nalini Venkatasubramanian,

More information

Memory Management. Chapter 4 Memory Management. Multiprogramming with Fixed Partitions. Ideally programmers want memory that is.

Memory Management. Chapter 4 Memory Management. Multiprogramming with Fixed Partitions. Ideally programmers want memory that is. Chapter 4 Memory Management Ideally programmers want memory that is Memory Management large fast non volatile 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms

More information

Virtual Memory. Virtual Memory. Demand Paging. valid-invalid bit. Virtual Memory Larger than Physical Memory

Virtual Memory. Virtual Memory. Demand Paging. valid-invalid bit. Virtual Memory Larger than Physical Memory Virtual Memory Virtual Memory CSCI Operating Systems Design Department of Computer Science Virtual memory separation of user logical memory from physical memory. Only part of the program needs to be in

More information

OPERATING SYSTEM. Chapter 9: Virtual Memory

OPERATING SYSTEM. Chapter 9: Virtual Memory OPERATING SYSTEM Chapter 9: Virtual Memory Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory

More information

Chapter 4: Memory Management. Part 1: Mechanisms for Managing Memory

Chapter 4: Memory Management. Part 1: Mechanisms for Managing Memory Chapter 4: Memory Management Part 1: Mechanisms for Managing Memory Memory management Basic memory management Swapping Virtual memory Page replacement algorithms Modeling page replacement algorithms Design

More information

CS307: Operating Systems

CS307: Operating Systems CS307: Operating Systems Chentao Wu 吴晨涛 Associate Professor Dept. of Computer Science and Engineering Shanghai Jiao Tong University SEIEE Building 3-513 wuct@cs.sjtu.edu.cn Download Lectures ftp://public.sjtu.edu.cn

More information

Virtual Memory III. Jo, Heeseung

Virtual Memory III. Jo, Heeseung Virtual Memory III Jo, Heeseung Today's Topics What if the physical memory becomes full? Page replacement algorithms How to manage memory among competing processes? Advanced virtual memory techniques Shared

More information

Memory management: outline

Memory management: outline Memory management: outline Concepts Swapping Paging o Multi-level paging o TLB & inverted page tables 1 Memory size/requirements are growing 1951: the UNIVAC computer: 1000 72-bit words! 1971: the Cray

More information

All Paging Schemes Depend on Locality. VM Page Replacement. Paging. Demand Paging

All Paging Schemes Depend on Locality. VM Page Replacement. Paging. Demand Paging 3/14/2001 1 All Paging Schemes Depend on Locality VM Page Replacement Emin Gun Sirer Processes tend to reference pages in localized patterns Temporal locality» locations referenced recently likely to be

More information

Memory management: outline

Memory management: outline Memory management: outline Concepts Swapping Paging o Multi-level paging o TLB & inverted page tables 1 Memory size/requirements are growing 1951: the UNIVAC computer: 1000 72-bit words! 1971: the Cray

More information

Objectives and Functions Convenience. William Stallings Computer Organization and Architecture 7 th Edition. Efficiency

Objectives and Functions Convenience. William Stallings Computer Organization and Architecture 7 th Edition. Efficiency William Stallings Computer Organization and Architecture 7 th Edition Chapter 8 Operating System Support Objectives and Functions Convenience Making the computer easier to use Efficiency Allowing better

More information

Course Outline. Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems

Course Outline. Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems Course Outline Processes CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Distributed Systems 1 Today: Memory Management Terminology Uniprogramming Multiprogramming Contiguous

More information

PAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo

PAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo PAGE REPLACEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics What if the physical memory becomes full? Page replacement algorithms How to manage memory among competing processes? Advanced

More information

1. Background. 2. Demand Paging

1. Background. 2. Demand Paging COSC4740-01 Operating Systems Design, Fall 2001, Byunggu Yu Chapter 10 Virtual Memory 1. Background PROBLEM: The entire process must be loaded into the memory to execute limits the size of a process (it

More information

Virtual Memory. CSCI 315 Operating Systems Design Department of Computer Science

Virtual Memory. CSCI 315 Operating Systems Design Department of Computer Science Virtual Memory CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture were based on those Operating Systems Concepts, 9th ed., by Silberschatz, Galvin, and

More information

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory. Demand Paging

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory. Demand Paging TDDB68 Concurrent programming and operating systems Overview: Virtual Memory Virtual Memory [SGG7/8] Chapter 9 Background Demand Paging Page Replacement Allocation of Frames Thrashing and Data Access Locality

More information

Memory and multiprogramming

Memory and multiprogramming Memory and multiprogramming COMP342 27 Week 5 Dr Len Hamey Reading TW: Tanenbaum and Woodhull, Operating Systems, Third Edition, chapter 4. References (computer architecture): HP: Hennessy and Patterson

More information

CSE 4/521 Introduction to Operating Systems. Lecture 27 (Final Exam Review) Summer 2018

CSE 4/521 Introduction to Operating Systems. Lecture 27 (Final Exam Review) Summer 2018 CSE 4/521 Introduction to Operating Systems Lecture 27 (Final Exam Review) Summer 2018 Overview Objective: Revise topics and questions for the final-exam. 1. Main Memory 2. Virtual Memory 3. Mass Storage

More information

Perform page replacement. (Fig 8.8 [Stal05])

Perform page replacement. (Fig 8.8 [Stal05]) Virtual memory Operations and policies Chapters 3.4. 3.7 1 Policies and methods Fetch policy (Noutopolitiikka) When to load page to memory? Placement policy (Sijoituspolitiikka ) Where to place the new

More information

Chapter 8. Operating System Support. Yonsei University

Chapter 8. Operating System Support. Yonsei University Chapter 8 Operating System Support Contents Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management 8-2 OS Objectives & Functions OS is a program that Manages the

More information

The Virtual Memory Abstraction. Memory Management. Address spaces: Physical and Virtual. Address Translation

The Virtual Memory Abstraction. Memory Management. Address spaces: Physical and Virtual. Address Translation The Virtual Memory Abstraction Memory Management Physical Memory Unprotected address space Limited size Shared physical frames Easy to share data Virtual Memory Programs are isolated Arbitrary size All

More information

Practice Exercises 449

Practice Exercises 449 Practice Exercises 449 Kernel processes typically require memory to be allocated using pages that are physically contiguous. The buddy system allocates memory to kernel processes in units sized according

More information

Operating Systems Virtual Memory. Lecture 11 Michael O Boyle

Operating Systems Virtual Memory. Lecture 11 Michael O Boyle Operating Systems Virtual Memory Lecture 11 Michael O Boyle 1 Paged virtual memory Allows a larger logical address space than physical memory All pages of address space do not need to be in memory the

More information

Basic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1

Basic Memory Management. Basic Memory Management. Address Binding. Running a user program. Operating Systems 10/14/2018 CSC 256/456 1 Basic Memory Management Program must be brought into memory and placed within a process for it to be run Basic Memory Management CS 256/456 Dept. of Computer Science, University of Rochester Mono-programming

More information

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

Chapter 8 & Chapter 9 Main Memory & Virtual Memory Chapter 8 & Chapter 9 Main Memory & Virtual Memory 1. Various ways of organizing memory hardware. 2. Memory-management techniques: 1. Paging 2. Segmentation. Introduction Memory consists of a large array

More information

The memory of a program. Paging and Virtual Memory. Swapping. Paging. Physical to logical address mapping. Memory management: Review

The memory of a program. Paging and Virtual Memory. Swapping. Paging. Physical to logical address mapping. Memory management: Review The memory of a program Paging and Virtual Memory Operating Systems Spring 4 Source-code is compiled into linkable object modules Memory addresses given as relative offsets Libraries contain object modules

More information

Memory management, part 2: outline

Memory management, part 2: outline Memory management, part 2: outline Page replacement algorithms Modeling PR algorithms o Working-set model and algorithms Virtual memory implementation issues 1 Page Replacement Algorithms Page fault forces

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Memory Management 1 Hardware background The role of primary memory Program

More information

Memory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time.

Memory Management. To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time. Memory Management To improve CPU utilization in a multiprogramming environment we need multiple programs in main memory at the same time. Basic CPUs and Physical Memory CPU cache Physical memory

More information

Chapter 4 Memory Management. Memory Management

Chapter 4 Memory Management. Memory Management Chapter 4 Memory Management 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms 4.5 Modeling page replacement algorithms 4.6 Design issues for paging systems 4.7

More information

Virtual Memory - Overview. Programmers View. Virtual Physical. Virtual Physical. Program has its own virtual memory space.

Virtual Memory - Overview. Programmers View. Virtual Physical. Virtual Physical. Program has its own virtual memory space. Virtual Memory - Overview Programmers View Process runs in virtual (logical) space may be larger than physical. Paging can implement virtual. Which pages to have in? How much to allow each process? Program

More information

ECE7995 Caching and Prefetching Techniques in Computer Systems. Lecture 8: Buffer Cache in Main Memory (I)

ECE7995 Caching and Prefetching Techniques in Computer Systems. Lecture 8: Buffer Cache in Main Memory (I) ECE7995 Caching and Prefetching Techniques in Computer Systems Lecture 8: Buffer Cache in Main Memory (I) 1 Review: The Memory Hierarchy Take advantage of the principle of locality to present the user

More information

Memory Management. Virtual Memory. By : Kaushik Vaghani. Prepared By : Kaushik Vaghani

Memory Management. Virtual Memory. By : Kaushik Vaghani. Prepared By : Kaushik Vaghani Memory Management Virtual Memory By : Kaushik Vaghani Virtual Memory Background Page Fault Dirty Page / Dirty Bit Demand Paging Copy-on-Write Page Replacement Objectives To describe the benefits of a virtual

More information

Memory Management Cache Base and Limit Registers base limit Binding of Instructions and Data to Memory Compile time absolute code Load time

Memory Management Cache Base and Limit Registers base limit Binding of Instructions and Data to Memory Compile time absolute code Load time Memory Management To provide a detailed description of various ways of organizing memory hardware To discuss various memory-management techniques, including paging and segmentation To provide a detailed

More information

COMPUTER SCIENCE 4500 OPERATING SYSTEMS

COMPUTER SCIENCE 4500 OPERATING SYSTEMS Last update: 1/6/2017 COMPUTER SCIENCE 4500 OPERATING SYSTEMS 2017 Stanley Wileman Module 10: Memory Management Part 2 In This Module 2! We conclude our study of memory management by considering how to!

More information

stack Two-dimensional logical addresses Fixed Allocation Binary Page Table

stack Two-dimensional logical addresses Fixed Allocation Binary Page Table Question # 1 of 10 ( Start time: 07:24:13 AM ) Total Marks: 1 LRU page replacement algorithm can be implemented by counter stack linked list all of the given options Question # 2 of 10 ( Start time: 07:25:28

More information

Memory management, part 2: outline. Operating Systems, 2017, Danny Hendler and Amnon Meisels

Memory management, part 2: outline. Operating Systems, 2017, Danny Hendler and Amnon Meisels Memory management, part 2: outline 1 Page Replacement Algorithms Page fault forces choice o which page must be removed to make room for incoming page? Modified page must first be saved o unmodified just

More information

CS 5523 Operating Systems: Memory Management (SGG-8)

CS 5523 Operating Systems: Memory Management (SGG-8) CS 5523 Operating Systems: Memory Management (SGG-8) Instructor: Dr Tongping Liu Thank Dr Dakai Zhu, Dr Palden Lama, and Dr Tim Richards (UMASS) for providing their slides Outline Simple memory management:

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 L20 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Questions from last time Page

More information

Chapter 8 Main Memory

Chapter 8 Main Memory Chapter 8 Main Memory 8.1, 8.2, 8.3, 8.4, 8.5 Chapter 9 Virtual memory 9.1, 9.2, 9.3 https://www.akkadia.org/drepper/cpumemory.pdf Images from Silberschatz Pacific University 1 How does the OS manage memory?

More information

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition

Chapter 9: Virtual Memory. Operating System Concepts 9 th Edition Chapter 9: Virtual Memory Silberschatz, Galvin and Gagne 2013 Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating

More information

Operating Systems Design Exam 2 Review: Spring 2011

Operating Systems Design Exam 2 Review: Spring 2011 Operating Systems Design Exam 2 Review: Spring 2011 Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 CPU utilization tends to be lower when: a. There are more processes in memory. b. There are fewer processes

More information

Virtual Memory. 1 Administrivia. Tom Kelliher, CS 240. May. 1, Announcements. Homework, toolboxes due Friday. Assignment.

Virtual Memory. 1 Administrivia. Tom Kelliher, CS 240. May. 1, Announcements. Homework, toolboxes due Friday. Assignment. Virtual Memory Tom Kelliher, CS 240 May. 1, 2002 1 Administrivia Announcements Homework, toolboxes due Friday. Assignment From Last Time Introduction to caches. Outline 1. Virtual memory. 2. System support:

More information

Memory: Page Table Structure. CSSE 332 Operating Systems Rose-Hulman Institute of Technology

Memory: Page Table Structure. CSSE 332 Operating Systems Rose-Hulman Institute of Technology Memory: Page Table Structure CSSE 332 Operating Systems Rose-Hulman Institute of Technology General address transla+on CPU virtual address data cache MMU Physical address Global memory Memory management

More information

(b) External fragmentation can happen in a virtual memory paging system.

(b) External fragmentation can happen in a virtual memory paging system. Alexandria University Faculty of Engineering Electrical Engineering - Communications Spring 2015 Final Exam CS333: Operating Systems Wednesday, June 17, 2015 Allowed Time: 3 Hours Maximum: 75 points Note:

More information