View
24
Download
1
Category
Preview:
DESCRIPTION
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D. Operating Systems {week 13a}. Hierarchical storage architecture. very fast. very small. volatile. non-volatile. very slow. very large. Von Neumann architecture. - PowerPoint PPT Presentation
Citation preview
Operating Systems{week 13a}
Rensselaer Polytechnic InstituteCSCI-4210 – Operating SystemsDavid Goldschmidt, Ph.D.
Hierarchical storage architecture
very small
very large
very fast
very slow
volatile
non-volatile
Von Neumann architecture
Based on the von Neumann architecture, data and program instructionsexist in physical memory Repeatedly perform
fetch-decode-executecycles
The execute partoften results in datafetch and store operations
physical memory
Main memory (i)
Locations in memoryare identified bymemory addresses When compiled, programs
consist of relocatable code Other compiled modules
also consist ofrelocatable code
symbolic addresses
in source code
relative addresses
in object code
Main memory (ii)
At load time, anyadditional librariesalso consist ofrelocatable code
physical addresses
generated by loader
Main memory (iii)
At run time, memoryaddresses of all objectfiles are mapped to asingle memory spacein physical memory
Dynamic loading and linking Using dynamic loading, external libraries are
not loaded when a process starts Libraries are stored on disk in relocatable form Libraries loaded into memory only when needed
Using dynamic linking, external libraries can be preloaded into shared memory When a process calls a library function, the
corresponding physical address is determined
Dynamically linked libraries
Contiguous memory allocation (i)
Main memoryis partitionedand allocatedto residentoperating systemand user processes
fixed partitioning scheme
Contiguous memory allocation (ii)
A pair of base and limitregisters define thelogical address space Also known as
relocation registers
Contiguous memory allocation (iii)
The CPU generates logical memory addresses A Memory-Management Unit (MMU)
maps logical memory addressesto the physical address space
User programs never seephysical memory addresses
Contiguous memory allocation (iv)
Hardware protects against memory access outside of a process’s valid memory space
Dynamic partitioning
Variable-length or dynamic partitions: When a new process enters the system,
the process is allocated to a single contiguous block
The operating system maintains a list of allocated partitions and free partitions
OS
Process 5
Process 8
Process 2
OS
Process 5
Process 2
OS
Process 5
Process 2
Process 9
OS
Process 5Process 9
Process 2
Process 1
Placement algorithms
How can we place new process Pi in memory? First-fit algorithm: allocate the first free block
that’s large enough to accommodate Pi Best-fit algorithm: allocate the
smallest free block that’s largeenough to accommodate Pi
Next-fit algorithm: allocate thenext free block, searching from last allocated block
Worst-fit algorithm: allocate the largest free blockthat’s large enough to accommodate Pi
Fragmentation (i)
Memory is wasted due to fragmentation,which can cause performance issues Internal fragmentation is wasted
memorywithin a single process memory space
External fragmentation can reducethe number of runnable processes▪ Total memory space exists to satisfy
a memory request, but memory isnot contiguous
OS
Process 5
Process 8
Process 2
unused
Process 3
Process 6
Process 12
Process 7Process 9
Process 3
Process 6
Process 12
Process 7
Fragmentation (ii)
Reduce external fragmentation bycompaction or defragmentation Rearrange memory contents to organize
all free memory blocks together intoone large contiguous block
Compaction is possible only ifrelocation is dynamic and isdone at execution time
Compaction is expensive
OS
Process 5
Process 8
Process 2
Process 9
Process 3
Process 6
Process 12
Process 7
Process 3
Process 6
Process 12
Process 7
Process 9
Recommended