Virtual Storage (Memory)
- Non-continuous allocation
Address Mapping
- Continuous allocation
- Relative address
- Relocation
- Non-continuous allocation
- Virtual address = relative address
- Real address = abosolute(physical)
- Address mapping
- Virtual address -> real address
Block Mapping
- Virtual address : v = (b,d)
- b = block number
- d = displacement(offset) in a block
- Blck map table(BMT)
Virtual Storage Methods
- Paging system
- Segmentation system
- Hybrid paging/segmentation system
Paging system
- Terminologies
- Simple and Efficient
- No external fragmentation
- Internal fragmentation possible
Address Mapping
- Virtual address : v = (p,d)
- p : page number
- d : displacement(offset)
- Address mapping
- Address mapping mechanism
- Direct mapping
- Associative mapping
- TLB(Translation Look-aside Buffer)
- Hybrid direct/associative mapping
Direct Mapping
- Problem
- Solution
- Hierarchical paging
- Hashed page table
- Inverted page table
Associative Mapping
- PMT in TLB(Translation Look-aside Buffer)
- Associative high-speed memory
- Low overhead, high speed
- Expensive hardware
Hybrid Direct/Associative Mapping
Memory Management
- page
- Frame table
- Configuration
- Allocated/available field
- PID field
- Link field : For free list
- AV : Free list headeentry
Page Sharing
- Non-continuous allocation
- Procedure pages
- Data page
- Read-only data
- Read-write data
Segmentation System
- Segment
- ex) stack, heap, .ain procedure, shared lib, Etc.
- Distinction
- Segmet sharing/protection
- High overhead for Address mapping
- No internal fragmentation
- External fragmentation possible
Address mapping
- Virtual address: v = (s,d)
- s : segment number
- d : displacement in a segment
- Segment Map Table (SMT)
- Address mapping mechanism
Hybrid paging/Segmentation System
Address mapping
- Virtual address : v = (s, p, d)
- s : segment number
- p : page number
- d : offset in a page
- Use SMT and PMT
- Address mapping
Reference
Virtural memory