Operating System Concepts - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Operating System Concepts

Description:

Operating System Concepts Ku-Yaw Chang canseco_at_mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University – PowerPoint PPT presentation

Number of Views:140
Avg rating:3.0/5.0
Slides: 36
Provided by: IBM62
Category:

less

Transcript and Presenter's Notes

Title: Operating System Concepts


1
Operating System Concepts
  • Ku-Yaw Chang
  • canseco_at_mail.dyu.edu.tw
  • Assistant Professor, Department of Computer
    Science and Information Engineering
  • Da-Yeh University

2
Chapter 9 Memory Management
  • Keep several processes in memory to increase CPU
    utilization
  • Memory management algorithms
  • Require hardware support
  • Common strategies
  • Paging
  • Segmentation

3
Chapter 9 Memory Management
  1. Background
  2. Swapping
  3. Contiguous Memory Allocation
  4. Paging
  1. Segmentation
  2. Segmentation with Paging
  3. Summary
  4. Exercises

4
9.1 Background
  • Program must be brought (loaded) into memory and
    placed within a process for it to be run.
  • Address binding
  • A mapping from one address space to another
  • A typical instruction-execution cycle
  • Fetch an instruction from memory
  • Decode the instruction
  • May cause operands to be fetched from memory
  • Execute the instruction
  • Store results back into memory

5
9.1.1 Address Binding
  • Input queue
  • A collection of processes on the disk that are
    waiting to be brought into memory to run the
    program.
  • A user program will go through several steps
    before being executed
  • Addresses in source program are symbolic
  • A compiler binds these symbolic addresses to
    relocatable addresses
  • A loader binds these relocatable addresses to
    absolute addresses

6
9.1.1 Address Binding
  • Compile time
  • Absolute code can be generated
  • Know at compile time where the process will
    reside in memory
  • MS-DOS .COM-format programs are absolute code

7
9.1.1 Address Binding
  • Load time
  • Relocatable code can be generated
  • Not known at compile time where the process will
    reside in memory
  • Final binding is delayed until load time

8
9.1.1 Address Binding
  • Execution time
  • The process can be moved from one memory segment
    to another
  • Binding must be delayed until run time
  • Special hardware must be available

9
9.1.2 Logical- Versus Physical-Address Space
  • Logical address
  • An address generated by the CPU
  • Compile-time and load-time
  • Also called virtual address
  • Logical-address space
  • The set of all logical addresses
  • Physical address
  • An address seen by the memory unit
  • The one loaded into the memory-address unit
  • Execution time
  • Logical and physical address spaces differ
  • Physical-address space

10
9.1.2 Logical- Versus Physical-Address Space
  • Memory-Management Unit (MMU)
  • A hardware device
  • Run-time mapping from virtual to physical
    addresses
  • Different methods to accomplish such a mapping
  • Logical addresses
  • 0 to max
  • Physical addresses
  • R 0 to R max

11
Dynamic RelocationUsing a Relocation Register
12
9.1.3 Dynamic Loading
  • The entire program and data must be in memory for
    its execution
  • The size of a process is limited to the size pf
    physical memory.
  • Dynamic Loading
  • All routines are kept on disk in a relocatable
    load format
  • The main program is loaded into memory and is
    executed
  • A routine is not loaded until it is called
  • Advantage
  • An unused routine is never loaded

13
9.1.4 Dynamic Linking andShared Libraries
  • Dynamic Linking
  • Linking is postponed until execution time
  • Small piece of code, called stub, used to locate
    the appropriate memory-resident library routine
  • OS checks if routine is in processes memory
    address
  • If yes, load the routine into memory
  • Stub replaces itself with the address of the
    routine, and executes the routine.
  • Dynamic linking is particularly useful for
    libraries.

14
9.1.5 Overlays
  • Keep in memory only those instructions and data
    that are needed at any given time
  • Needed when process is larger than amount of
    memory allocated to it
  • Features
  • Implemented by user
  • No special support needed from operating system
  • Programming design is complex

15
9.1.5 Overlays
16
Chapter 9 Memory Management
  1. Background
  2. Swapping
  3. Contiguous Memory Allocation
  4. Paging
  1. Segmentation
  2. Segmentation with Paging
  3. Summary
  4. Exercises

17
Swapping
  • A process can be
  • Swapped temporarily out of memory to a backing
    store
  • Commonly a fast disk
  • Brought back into memory for continued execution
  • A process swapped back into
  • The same memory space
  • Binding is done at assembly or load time
  • A different memory space
  • Execution-time binding

18
Swapping of two processes
19
Swapping
  • Context-switch time is fairly high
  • User process size 1MB
  • Transfer rate 5MB per second
  • Actual transfer
  • 1000KB / 5000 KB per second 200 milliseconds
  • An average latency 8 ms
  • Total swap time
  • 208 208 416 ms
  • Time quantum should be substantially larger than
    0.416 seconds.

20
Swapping
  • Major part of the swap time is transfer time
  • Directly proportional to the amount of memory
    swapped
  • Factors
  • How much memory is actually used
  • To reduce swap time
  • Be sure the process is completely idle
  • Pending I/O

21
Chapter 9 Memory Management
  1. Background
  2. Swapping
  3. Contiguous Memory Allocation
  4. Paging
  1. Segmentation
  2. Segmentation with Paging
  3. Summary
  4. Exercises

22
Contiguous Memory Allocation
  • Memory
  • One for the resident operating system
  • In either low or high memory
  • Location of the interrupt vector
  • One for the user processes
  • Contiguous memory allocation
  • Each process is contained in a single contiguous
    section of memory

23
Memory Protection
  • A relocation register with a limit register

24
Memory Allocation
  • Fixed-sized partitions
  • Simplest
  • Each partition contain exactly one process
  • Degree of multiprogramming is bounded
  • Strategies
  • First fit
  • Best fit
  • Worst fit
  • Problem
  • External fragmentation
  • Internal fragmentation
  • 50-percent rule
  • Given N allocated blocks
  • Another 0.5 N blocks will be lost

25
Memory Allocation
  • Possible solutions to the external fragmentation
  • Compaction
  • Permit the logical address space of a process to
    be noncontiguous

OS
OS
OS
OS
process 5
process 5
process 5
process 5
process 9
process 9
process 8
process 10
process 2
process 2
process 2
process 2
26
Chapter 9 Memory Management
  1. Background
  2. Swapping
  3. Contiguous Memory Allocation
  4. Paging
  1. Segmentation
  2. Segmentation with Paging
  3. Summary
  4. Exercises

27
Paging
  • A memory-management scheme that permits the
    physical-address space of a process to be
    noncontiguous
  • Frames (physical memory)
  • Fixed-sized blocks
  • Pages (logical memory)
  • Blocks of the same size
  • Every address is divided into
  • A page number (p)
  • An index to a page table
  • A page offset (d)

page number
page offset
p
d
m-n
n
28
Paging hardware
29
Paging Model
30
Paging Example
31
Free Frames
After Allocation
Before Allocation
32
Chapter 9 Memory Management
  1. Background
  2. Swapping
  3. Contiguous Memory Allocation
  4. Paging
  1. Segmentation
  2. Segmentation with Paging
  3. Summary
  4. Exercises

33
Chapter 9 Memory Management
  1. Background
  2. Swapping
  3. Contiguous Memory Allocation
  4. Paging
  1. Segmentation
  2. Segmentation with Paging
  3. Summary
  4. Exercises

34
Chapter 9 Memory Management
  1. Background
  2. Swapping
  3. Contiguous Memory Allocation
  4. Paging
  1. Segmentation
  2. Segmentation with Paging
  3. Summary
  4. Exercises

35
Chapter 9 Memory Management
  1. Background
  2. Swapping
  3. Contiguous Memory Allocation
  4. Paging
  1. Segmentation
  2. Segmentation with Paging
  3. Summary
  4. Exercises
Write a Comment
User Comments (0)
About PowerShow.com