Virtual Memory — Paging I ICS332 — Operating Systems

Virtual Memory — Paging I ICS332 — Operating Systems

Virtual Memory | Paging I ICS332 | Operating Systems Henri Casanova ([email protected]) Spring 2018 Henri Casanova ([email protected]) Virtual Memory | Paging I Bad: No \best" memory allocation strategies First Fit Worst Fit, Best Fit, others?? Worse: Fragmentation can be very large RAM is wasted Even Worse: There can be process starvation in spite of sufficient available RAM due to fragmentation 100 1MiB holes don't allow a 100MiB process to run! Conclusion: Our base assumption is flawed! So.... address spaces shouldn't be contiguous??? Conclusion (of the previous module) Assumption: Each process is in a contiguous address space Good: Address virtualization is simple (base register) Henri Casanova ([email protected]) Virtual Memory | Paging I Worse: Fragmentation can be very large RAM is wasted Even Worse: There can be process starvation in spite of sufficient available RAM due to fragmentation 100 1MiB holes don't allow a 100MiB process to run! Conclusion: Our base assumption is flawed! So.... address spaces shouldn't be contiguous??? Conclusion (of the previous module) Assumption: Each process is in a contiguous address space Good: Address virtualization is simple (base register) Bad: No \best" memory allocation strategies First Fit Worst Fit, Best Fit, others?? Henri Casanova ([email protected]) Virtual Memory | Paging I Even Worse: There can be process starvation in spite of sufficient available RAM due to fragmentation 100 1MiB holes don't allow a 100MiB process to run! Conclusion: Our base assumption is flawed! So.... address spaces shouldn't be contiguous??? Conclusion (of the previous module) Assumption: Each process is in a contiguous address space Good: Address virtualization is simple (base register) Bad: No \best" memory allocation strategies First Fit Worst Fit, Best Fit, others?? Worse: Fragmentation can be very large RAM is wasted Henri Casanova ([email protected]) Virtual Memory | Paging I Conclusion: Our base assumption is flawed! So.... address spaces shouldn't be contiguous??? Conclusion (of the previous module) Assumption: Each process is in a contiguous address space Good: Address virtualization is simple (base register) Bad: No \best" memory allocation strategies First Fit Worst Fit, Best Fit, others?? Worse: Fragmentation can be very large RAM is wasted Even Worse: There can be process starvation in spite of sufficient available RAM due to fragmentation 100 1MiB holes don't allow a 100MiB process to run! Henri Casanova ([email protected]) Virtual Memory | Paging I So.... address spaces shouldn't be contiguous??? Conclusion (of the previous module) Assumption: Each process is in a contiguous address space Good: Address virtualization is simple (base register) Bad: No \best" memory allocation strategies First Fit Worst Fit, Best Fit, others?? Worse: Fragmentation can be very large RAM is wasted Even Worse: There can be process starvation in spite of sufficient available RAM due to fragmentation 100 1MiB holes don't allow a 100MiB process to run! Conclusion: Our base assumption is flawed! Henri Casanova ([email protected]) Virtual Memory | Paging I Conclusion (of the previous module) Assumption: Each process is in a contiguous address space Good: Address virtualization is simple (base register) Bad: No \best" memory allocation strategies First Fit Worst Fit, Best Fit, others?? Worse: Fragmentation can be very large RAM is wasted Even Worse: There can be process starvation in spite of sufficient available RAM due to fragmentation 100 1MiB holes don't allow a 100MiB process to run! Conclusion: Our base assumption is flawed! So.... address spaces shouldn't be contiguous??? Henri Casanova ([email protected]) Virtual Memory | Paging I Kernel Kernel P1 P1 1 P4 P4 1 P2 P4 2 P4 P3 P3 No room for P4? 2 P4 ! There is enough room for P4 if we \chop it up"! Memory Henri Casanova ([email protected]) Virtual Memory | Paging I Kernel P1 P1 1 P4 P4 1 P2 P4 2 P4 P3 P3 No room for P4? 2 P4 ! There is enough room for P4 if we \chop it up"! Kernel Memory Henri Casanova ([email protected]) Virtual Memory | Paging I Kernel P1 1 P4 Memory P4 1 P2 P4 2 P4 P3 P3 No room for P4? 2 P4 ! There is enough room for P4 if we \chop it up"! Kernel P1 Henri Casanova ([email protected]) Virtual Memory | Paging I Kernel P1 1 P4 Memory P4 1 P4 2 P4 P3 No room for P4? 2 P4 ! There is enough room for P4 if we \chop it up"! Kernel P1 P2 P3 Henri Casanova ([email protected]) Virtual Memory | Paging I Kernel P1 1 P4 Memory P4 1 P2 P4 2 P4 P3 No room for P4? 2 P4 ! There is enough room for P4 if we \chop it up"! Kernel P1 P3 Henri Casanova ([email protected]) Virtual Memory | Paging I Kernel P1 1 P4 Memory 1 P2 P4 2 P4 P3 No room for P4? 2 P4 ! There is enough room for P4 if we \chop it up"! Kernel P1 P4 P3 Henri Casanova ([email protected]) Virtual Memory | Paging I Kernel P1 Memory 1 P2 P4 P3 2 P4 ! There is enough room for P4 if we \chop it up"! Kernel P1 1 P4 P4 2 P4 P3 No room for P4? Henri Casanova ([email protected]) Virtual Memory | Paging I Memory P2 ! There is enough room for P4 if we \chop it up"! Kernel Kernel P1 P1 1 P4 P4 1 P4 2 P4 P3 P3 No room for P4? 2 P4 Henri Casanova ([email protected]) Virtual Memory | Paging I Memory P2 Kernel Kernel P1 P1 1 P4 P4 1 P4 2 P4 P3 P3 No room for P4? 2 P4 ! There is enough room for P4 if we \chop it up"! Henri Casanova ([email protected]) Virtual Memory | Paging I Chunks of variable size? Well-known problem in Computer Science: Bin Packing Known to be NP-Hard... The solution The solution: Break up the process address spaces into smaller chunks! Henri Casanova ([email protected]) Virtual Memory | Paging I Well-known problem in Computer Science: Bin Packing Known to be NP-Hard... The solution The solution: Break up the process address spaces into smaller chunks! Chunks of variable size? Henri Casanova ([email protected]) Virtual Memory | Paging I Known to be NP-Hard... The solution The solution: Break up the process address spaces into smaller chunks! Chunks of variable size? Well-known problem in Computer Science: Bin Packing Henri Casanova ([email protected]) Virtual Memory | Paging I The solution The solution: Break up the process address spaces into smaller chunks! Chunks of variable size? Well-known problem in Computer Science: Bin Packing Known to be NP-Hard... Henri Casanova ([email protected]) Virtual Memory | Paging I What you don't want to say From "Computers and Intractability: : A Guide to the Theory of NP-Completeness", Garey M.R. and Johnson, D.S.; W.H. Freeman and Co Publisher, 1979. ISBN 0-7167-1045-5 Henri Casanova ([email protected]) Virtual Memory | Paging I What you wish you could say From "Computers and Intractability: : A Guide to the Theory of NP-Completeness", Garey M.R. and Johnson, D.S.; W.H. Freeman and Co Publisher, 1979. ISBN 0-7167-1045-5 Henri Casanova ([email protected]) Virtual Memory | Paging I What you can say for an NP-hard problem From "Computers and Intractability: : A Guide to the Theory of NP-Completeness", Garey M.R. and Johnson, D.S.; W.H. Freeman and Co Publisher, 1979. ISBN 0-7167-1045-5 Henri Casanova ([email protected]) Virtual Memory | Paging I NP problem: An optimization problem where a solution can be verified in polynomial time, e.g., traveling salesman (No known polynomial-time algorithm to compute the route, but easy to check whether a route is a solution) NP-hard problem: problem which is at least as hard as the hardest NP problems. It is suspected that there are no polynomial-time algorithms that can solve NP-hard problems, but this has never been proven. It is not known if P!=NP or if P=NP: $1M+posterity if you prove it (please wait after the final) A typical NP-hard problem: Bin Packing Conclusion for OS design: Variable-size chunks are a bad idea Computational Complexity in One Slide P problem: A decision problem where the \yes" or \no" answer can be decided in polynomial time (= polynomial number of operations relative to the input size), e.g., is 20 the maximum value in an array of n integers? Henri Casanova ([email protected]) Virtual Memory | Paging I NP-hard problem: problem which is at least as hard as the hardest NP problems. It is suspected that there are no polynomial-time algorithms that can solve NP-hard problems, but this has never been proven. It is not known if P!=NP or if P=NP: $1M+posterity if you prove it (please wait after the final) A typical NP-hard problem: Bin Packing Conclusion for OS design: Variable-size chunks are a bad idea Computational Complexity in One Slide P problem: A decision problem where the \yes" or \no" answer can be decided in polynomial time (= polynomial number of operations relative to the input size), e.g., is 20 the maximum value in an array of n integers? NP problem: An optimization problem where a solution can be verified in polynomial time, e.g., traveling salesman (No known polynomial-time algorithm to compute the route, but easy to check whether a route is a solution) Henri Casanova ([email protected]) Virtual Memory | Paging I It is suspected that there are no polynomial-time algorithms that can solve NP-hard problems, but this has never been proven. It is not known if P!=NP or if P=NP: $1M+posterity if you prove it (please wait after the final) A typical NP-hard problem: Bin Packing Conclusion for OS design: Variable-size chunks are a bad idea Computational Complexity in One Slide P problem: A decision problem where the \yes" or \no" answer can be decided in polynomial time (= polynomial number of operations relative to the input size), e.g., is 20 the maximum value in an array of n integers? NP problem: An optimization problem where a solution can be verified in polynomial time, e.g., traveling salesman (No known polynomial-time algorithm to compute the route, but easy to check whether a route is a solution) NP-hard problem: problem which is at least as hard as the hardest NP problems.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    119 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us