Page 19/15/2015 CSE 542: Graduate Operating Systems Virtual memory  separation of user logical memory from physical memory  Only part of the program.

Slides:



Advertisements
Similar presentations
Module 10: Virtual Memory
Advertisements

Chapter 10: Virtual Memory
Background Virtual memory – separation of user logical memory from physical memory. Only part of the program needs to be in memory for execution. Logical.
Chapter 9: Virtual Memory
國立台灣大學 資訊工程學系 Chapter 9: Virtual Memory. 資工系網媒所 NEWS 實驗室 Objectives To describe the benefits of a virtual memory system To explain the concepts of demand.
Virtual Memory Management G. Anuradha Ref:- Galvin.
9.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Virtual Memory OSC: Chapter 9. Demand Paging Copy-on-Write Page Replacement.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Lecture 15: Background Information for the VMWare ESX Memory Management.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement.
Module 9: Virtual Memory
Module 10: Virtual Memory Background Demand Paging Performance of Demand Paging Page Replacement Page-Replacement Algorithms Allocation of Frames Thrashing.
Chapter 9: Virtual-Memory Management. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 9: Virtual Memory Background Demand Paging.
Virtual Memory Background Demand Paging Performance of Demand Paging
Virtual Memory Introduction to Operating Systems: Module 9.
Virtual-Memory Management
Gordon College Stephen Brinton
Instructor: Umar KalimNUST Institute of Information Technology Operating Systems Virtual Memory.
03/26/2010CSCI 315 Operating Systems Design1 Virtual Memory Notice: The slides for this lecture have been largely based on those accompanying an earlier.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement.
Chapter 9: Virtual Memory. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Chapter 9: Virtual Memory Background.
Chapter 10: Virtual Memory. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Chapter 10: Virtual Memory.
Instructor: Umar KalimNUST Institute of Information Technology Operating Systems Revisiting Virtual Memory.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 9: Virtual Memory.
03/29/2004CSCI 315 Operating Systems Design1 Page Replacement Algorithms (Virtual Memory)
Chapter 9: Virtual Memory. Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel.
Page 19/11/2015 CSE 542: Graduate Operating Systems Review  Chapter 9: Memory management  Swapping  Contiguous Allocation  Paging  Segmentation 
Page 19/17/2015 CSE 30341: Operating Systems Principles Optimal Algorithm  Replace page that will not be used for longest period of time  Used for measuring.
Part 8: Virtual Memory. Silberschatz, Galvin and Gagne ©2005 Virtual vs. Physical Address Space Each process has its own virtual address space, which.
Chapter 9: Virtual Memory Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel.
CS212: OPERATING SYSTEM Lecture 6: Virtual-Memory Management 1 Computer Science Department.
Chapter 9: Virtual Memory. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 22, 2005 Background Virtual memory –
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Virtual Memory.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement.
Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples Operating.
Operating Systems CMPSC 473 Virtual Memory Management (3) November – Lecture 20 Instructor: Bhuvan Urgaonkar.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 10: Virtual Memory Background Demand Paging Page Replacement Allocation of.
9.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts Chapter 9: Virtual-Memory Management Background Demand Paging Page Replacement Allocation.
Virtual Memory. Background Virtual memory is a technique that allows execution of processes that may not be completely in the physical memory. Virtual.
Operating Systems (CS 340 D) Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts Essentials – 9 th Edition Chapter 9: Virtual-Memory Management.
Operating Systems (CS 340 D) Princess Nora University Faculty of Computer & Information Systems Computer science Department.
CSC 360, Instructor: Kui Wu Memory Management II: Virtual Memory.
CS307 Operating Systems Virtual Memory Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2012.
Silberschatz, Galvin and Gagne  Operating System Concepts Virtual Memory Virtual memory – separation of user logical memory from physical memory.
Lecture 19 Virtual Memory Demand Paging. Background Virtual memory – separation of user logical memory from physical memory. –Only part of the program.
Chapter 9: Virtual-Memory Management. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Principles Chapter 9: Virtual-Memory Management 9.1 Background.
1 Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples (not covered.
10.1 Chapter 10: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Operating System Examples.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 9: Virtual-Memory Management.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 9: Virtual Memory.
Chapter 9: Virtual Memory. 9.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Background Virtual memory – separation of user logical memory.
Chapter 9: Virtual Memory. Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel.
Chapter 9: Virtual Memory
OPERATING SYSTEM CONCEPTS AND PRACTISE
Chapter 9: Virtual Memory – Part I
Chapter 9: Virtual Memory
Chapter 9: Virtual Memory
Review.
Module 9: Virtual Memory
Chapter 9: Virtual Memory
Chapter 9: Virtual-Memory Management
5: Virtual Memory Background Demand Paging
Chapter 9: Virtual Memory
Chapter 6 Virtual Memory
Operating Systems CMPSC 473
CSE 542: Operating Systems
Module 9: Virtual Memory
Chapter 9: Virtual Memory CSS503 Systems Programming
Virtual Memory.
Presentation transcript:

page 19/15/2015 CSE 542: Graduate Operating Systems Virtual memory  separation of user logical memory from physical memory  Only part of the program needs to be in memory for execution.  Logical address space can therefore be much larger than physical address space.  Allows address spaces to be shared by several processes.  Allows for more efficient process creation

page 29/15/2015 CSE 542: Graduate Operating Systems Demand Paging  Bring a page into memory only when it is needed.  Less I/O needed  Less memory needed  Faster response  More users  Page is needed  reference to it  invalid reference  abort  not-in-memory  bring to memory

page 39/15/2015 CSE 542: Graduate Operating Systems Valid-Invalid Bit  With each page table entry a valid–invalid bit is associated (1  in-memory, 0  not-in-memory)  Initially valid–invalid but is set to 0 on all entries.  Example of a page table snapshot.  During address translation, if valid–invalid bit in page table entry is 0  page fault  Frame #valid-invalid bit page table

page 49/15/2015 CSE 542: Graduate Operating Systems Page Fault  If there is ever a reference to a page, first reference will trap to OS  page fault  OS looks at another table to decide:  Invalid reference  abort.  Just not in memory.  Get empty frame.  Swap page into frame.  Reset tables, validation bit = 1.  Restart instruction: Least Recently Used  block move  auto increment/decrement location

page 59/15/2015 CSE 542: Graduate Operating Systems What happens if there is no free frame?  Page replacement – find some page in memory, but not really in use, swap it out  performance – want an algorithm which will result in minimum number of page faults.  Same page may be brought into memory several times.  Page Fault Rate 0  p  1.0  if p = 0 no page faults  if p = 1, every reference is a fault

page 69/15/2015 CSE 542: Graduate Operating Systems Process Creation  Virtual memory allows other benefits during process creation:  Copy-on-Write  Copy-on-Write (COW) allows both parent and child processes to initially share the same pages in memory.  If either process modifies a shared page, only then is the page copied. COW allows more efficient process creation as only modified pages are copied  Memory-Mapped Files  Memory-mapped file I/O allows file I/O to be treated as routine memory access by mapping a disk block to a page in memory  Simplifies file access by treating file I/O through memory rather than read() write() system calls  Also allows several processes to map the same file allowing the pages in memory to be shared

page 79/15/2015 CSE 542: Graduate Operating Systems Page Replacement  Prevent over-allocation of memory by modifying page-fault service routine to include page replacement.  Use modify (dirty) bit to reduce overhead of page transfers – only modified pages are written to disk.  Page replacement completes separation between logical memory and physical memory – large virtual memory can be provided on a smaller physical memory.

page 89/15/2015 CSE 542: Graduate Operating Systems Basic Page Replacement 1.Find the location of the desired page on disk. 2.Find a free frame: - If there is a free frame, use it. - If there is no free frame, use a page replacement algorithm to select a victim frame. 3.Read the desired page into the (newly) free frame. Update the page and frame tables. 4.Restart the process.

page 99/15/2015 CSE 542: Graduate Operating Systems Page Replacement Algorithms  Want lowest page-fault rate.  Evaluate algorithm by running it on a particular string of memory references (reference string) and computing the number of page faults on that string.  In all our examples, the reference string is 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.

page 109/15/2015 CSE 542: Graduate Operating Systems First-In-First-Out (FIFO) Algorithm  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  FIFO Replacement – Belady’s Anomaly  more frames  less page faults page faults page faults 4 43

page 119/15/2015 CSE 542: Graduate Operating Systems FIFO Illustrating Belady’s Anomaly

page 129/15/2015 CSE 542: Graduate Operating Systems 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  How do you know this?  Used for measuring how well your algorithm performs page faults 4 5

page 139/15/2015 CSE 542: Graduate Operating Systems Least Recently Used (LRU) Algorithm  Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5  Counter implementation  Every page entry has a counter; every time page is referenced through this entry, copy the clock into the counter.  When a page needs to be changed, look at the counters to determine which are to change

page 149/15/2015 CSE 542: Graduate Operating Systems LRU Algorithm (Cont.)  Stack implementation – keep a stack of page numbers in a double link form:  Page referenced:  move it to the top  requires 6 pointers to be changed  No search for replacement

page 159/15/2015 CSE 542: Graduate Operating Systems LRU Approximation Algorithms  Reference bit  With each page associate a bit, initially = 0  When page is referenced bit set to 1.  Replace the one which is 0 (if one exists). We do not know the order, however.  Second chance  Need reference bit.  Clock replacement.  If page to be replaced (in clock order) has reference bit = 1. then:  set reference bit 0.  leave page in memory.  replace next page (in clock order), subject to same rules.

page 169/15/2015 CSE 542: Graduate Operating Systems Counting Algorithms  Keep a counter of the number of references that have been made to each page.  LFU Algorithm: replaces page with smallest count.  MFU Algorithm: based on the argument that the page with the smallest count was probably just brought in and has yet to be used.

page 179/15/2015 CSE 542: Graduate Operating Systems Thrashing  If a process does not have “enough” pages, the page-fault rate is very high. This leads to:  low CPU utilization.  operating system thinks that it needs to increase the degree of multiprogramming.  another process added to the system.  Thrashing  a process is busy swapping pages in and out.

page 189/15/2015 CSE 542: Graduate Operating Systems Thrashing  Why does paging work? Locality model  Process migrates from one locality to another.  Localities may overlap.  Why does thrashing occur?  size of locality > total memory size

page 199/15/2015 CSE 542: Graduate Operating Systems Demand Segmentation  Used when insufficient hardware to implement demand paging.  OS/2 allocates memory in segments, which it keeps track of through segment descriptors  Segment descriptor contains a valid bit to indicate whether the segment is currently in memory.  If segment is in main memory, access continues,  If not in memory, segment fault.

page 209/15/2015 CSE 542: Graduate Operating Systems Outline  Chapter 18: Protection  Chapter 19: Security

page 219/15/2015 CSE 542: Graduate Operating Systems Protection  Protect computer resources from being accessed by processes that should not have access  Access right: Operations allowed on an object  Domain: Set of all access rights  UNIX: domain is userid, setuid bit in file switches domains  Multics: rings, tasks can get access based on entry points  Access Matrix defines protection: rows represent domains & columns represent objects  Global table  Access list for objects: easier to program  Capability list for domains/users:  Hybrid: lock-key mechanism  Revocation of rights:  Immediate vs delayed, selective vs general, partial vs total, temporary vs permanent

page 229/15/2015 CSE 542: Graduate Operating Systems Revocation  Access List – Delete access rights from access list.  Simple  Immediate  Capability List – Scheme required to locate capability in the system before capability can be revoked.  Reacquisition  Back-pointers  Indirection  Keys

page 239/15/2015 CSE 542: Graduate Operating Systems Compiler/language based mechanism  Compiler based enforcement  Specification of protection in a programming language allows the high-level description of policies for the allocation and use of resources  Java VM  Multiple threads within a single JVM have different access rights  A class is assigned a protection domain when it is loaded by the JVM. The protection domain indicates what operations the class can (and cannot) perform  Protection enforced using stack inspection

page 249/15/2015 CSE 542: Graduate Operating Systems Security  Security problem: protection from unauthorized access, malicious modification or destruction  User authentication:  Passwords  Encrypted passwords –Encrypted form should be secret because attacker can check offline  One-time passwords  Biometrics  Threats:  Trojan horse  Trap door/stack and buffer overflow  Worms/viruses  Denial of service  Intrusion and detection

page 259/15/2015 CSE 542: Graduate Operating Systems Risk analysis  Important to understand threat and perform risk analysis  No system is “secure”, systems usually trade security for performance, ease of use etc.  If information is worth x and it costs y to break into system and if (x < y), then not worth encryption  Wasteful to build a system that is more secure than is necessary  Ssh in CSE dept – good  Palm pilots may not require powerful encryption systems if they are expected to be physically secure

page 269/15/2015 CSE 542: Graduate Operating Systems Security classification  U.S. Department of Defense outlines four divisions of computer security: A, B, C, and D  D – Minimal security  C – Provides discretionary protection through auditing. Divided into C1 and C2. C1 identifies cooperating users with the same level of protection. C2 allows user-level access control  B – All the properties of C, however each object may have unique sensitivity labels. Divided into B1, B2, and B3  A – Uses formal design and verification techniques to ensure security  Windows NT: Configurable security from D to C2  SuSE Linux Enterprise Server 8 on IBM eServer xSeries - Evaluation Assurance Level 2+ certification (EAL2) 

page 279/15/2015 CSE 542: Graduate Operating Systems Security Attacks  Social engineering attacks  Preys on people gullibility (good nature), hardest to defend  E.g. I once got an unlisted number from a telephone operator because I sounded desperate (I was, but that was not the point)  E.g. Anna kour*va virus, Nigerian scam, MS update scam  E.g. If I walk in with coupla heavy looking boxes into the elevator to go to Fitz 3 rd floor (at night) would you let me in? You can get into “secure” companies by looking like you “belong” there  Denial of service attacks  Network flooding, Distributed DOS, holding resources, viruses

page 289/15/2015 CSE 542: Graduate Operating Systems Common technology - firewalls  Firewalls are used to restrict the kinds of network traffic in/out of companies  Application level proxies  Packet level firewalls  Does not prevent end-to-end security violations  People sometimes list of internal computer users outside firewall to scrupulous “researchers”  s viruses exploit certain vulnerabilities in VBS to get around firewalls

page 299/15/2015 CSE 542: Graduate Operating Systems Intrusion detection  Detect attempts to intrude into computer systems.  Detection methods:  Auditing and logging  Tripwire (UNIX software that checks if certain files and directories have been altered – I.e. password files)  System call monitoring