SGG 8 (02)

8.1 Background

  • What is the logical view of memory? How is memory connected to process/programs?
  • What type of minimum hardware support is needed for memory management?
  • Explain how address binding works at various stages
    • Compile time
    • Load time
    • Execution time
  • What is a logical address? What is a physical address? How are they related? How are they used?
  • What is dynamic loading? Why is it useful?
  • What is dynamic linking? Why is it useful?
  • How do shared libraries work?

8.2 Swapping

  • What is the general idea of swapping? Why do we need swapping?
  • What is a backing store?
  • We discussed context switch in the process chapter. What is the relation between swapping and context switch, if any?
  • When would double buffering happen>? Why?

8.3 Contiguous Memory Allocation

  • What is contiguous memory allocation? Why might it be useful?
  • In contiguous memory allocation, how does the operating system prevent a process from accessing memory of another process?
  • How is multiple partition method implemented?
  • Degree of multiprogramming is the number of processes that can be in memory for execution at the same time. How is degree of multiprogramming related to the number of memory partitions allowed in memory management?
  • What are the potential problems with multiple partition method in contiguous memory allocation?
  • What is the general concept of variable length partition?
  • We say that variable length partition is a particular instance of the more general dynamic storage allocation problem. What is the concept of dynamic storage allocation problem?
  • What are the ideas of best-fit, first-fit, worst-fit? Explain the pros and cons of each of these strategies.
  • What is a internal fragmentation? What is an external fragmentation? What are the causes of each of these problems?

8.5 Paging

  • What is the general idea of paging?
  • Why can paging avoid external fragmentation?
  • What is a page? What is a frame? What are the relation between the two, if any?
  • In a paging system, how is a logical address translated into a physical address?
  • What is a page table? What is a page-table base register (PTBR)? What is a frame table? What is the relation between frame table and page table, if any?
  • What is a translation look-aside buffer (TLB)? How is it used? Why is it needed?
  • Explain the steps needed for a process to access a piece of information in a paged memory management system, when a need rises (e.g., load a instruction, or read a piece of data, from memory.)
  • What is a page missing and a page hit in the context of TLB?
  • What is the effective memory access time? Explain each component and its role in computing the effective memory access time.
  • Explain the use of valid bit in a page table.
  • How the length of a page table is maintained?
  • What is the basic idea of shared pages?
  • Why would shared pages help improve the efficiency of memory management?

8.6 Structure of Page Tables

  • How does a hierarchical paging system work?
  • Under what condition(s) may we need to use a hierarchical paging system? Pros and cons.
  • How does a hashed page table work?
  • Under what condition(s) may we need to use a hashed paging system? Pros and cons.
  • How does a inverted page table work?
  • Under what condition(s) may we need to use a inverted paging system? Pros and cons.
Print Friendly