Operating System
  • Introduction
  • Chapter 1 Introduction
  • Chapter 2 Operating System Structures
  • Chapter 3 Processes
    • 3.1 Process Concept
    • 3.2 Process Scheduling
    • 3.3 Operation on Processes
    • 3.4 Interprocess Communication
  • Chapter 4 Threads
    • Summary: slides
    • 4.1 Overview
    • 4.2 Multithreading Models
    • 4.3 Thread Libraries
    • 4.4 Threading Issues
  • Chapter 6 Process Synchronization
    • 6.1 Background
    • 6.2 Critical-section problem
    • 6.3 Peterson's Solution
    • 6.4 Synchronization Hardware
    • 6.5 Semaphores
  • Summary ch1
  • Summary ch2
  • Summary ch3
  • Summary ch4
  • Summary ch5
  • Summary ch7
  • Summary ch6
  • Summary ch8
Powered by GitBook
On this page

Was this helpful?

Summary ch8

PreviousSummary ch6

Last updated 5 years ago

Was this helpful?

  1. Memory Management: Memory needs to be allocated to ensure a reasonable supply of ready processes to consume available processor time

  2. Memory Management Requirements:

    -Protection: Processes should not be able to reference memory locations in another process without permission

    -sharing: Allow several processes to access the same portion of memory

    -Relocation: While the program is executing, it may be swapped to disk and returned to main memory at a different location (relocated); Memory references in the code must be translated to actual physical memory address

  3. Steps for loading a process in memory:

  4. Address Binding

    -Source program: symbolic (such as count)

    -After compiling: re-locatable address

    -After linkage editor, loader or run-time referring: absolute address

  5. Binding at Compile Time

  6. Binding at load time Must generate re-locatable code if memory location is not known at compile time -Physical memory address is fixed at load time -Must reload if starting location changes

  7. Binding in execution time

    Binding delayed until run time

  8. Logical vs. Physical Address Space

    The concept of binding a logical address space to a physical address space is central to proper memory management

    -Logical address – generated by the CPU; also referred to as virtual address

    -Physical address– address seen by the memory unit

    In compile-time and load-time address-binding schemes, logical and physical addresses are the same

    In execution-time address-binding scheme, logical and physical addresses differ

  9. Memory Management Techniques

    -Fixed Partitioning

    -Dynamic Partitioning

    -Simple Paging

    -Simple Segmentation

    -Virtual Memory Paging

    -Virtual Memory Segmentation

  10. Fixed Partitioning

    -Equal-size partitions

  11. Dynamic Partitioning

    -Partitions are of variable length and number

    -Process is allocated exactly as much memory as required, no internal fragmentation

    Problem: Eventually get holes in the memory. This is called external fragmentation

    -Must use compaction to shift processes so they are contiguous and all free memory is in one block

  12. Contiguous vs. Non-contiguous Memory Allocation

    -The memory management techniques discussed so far all require the physical address space of a process to be contiguous

    -Paging and Segmentation permit the physical address space of a process to be non-contiguous

  13. Paging

    -Partition memory into small equal fixed-size chunks and divide each process into the same size chunks

    -The chunks of a process are called pages

    -The chunks of memory are called frames