1. Memory Management Schemes - Function of the Operating system level
2. Memory issues
a. CPU directly addresses memory
b. Exceptions
i. More memory than addressable by CPU.
ii. Larger address range than physical memory.
3. EMS
a. Original PC had a 20 line address bus = 1 Meg.
b. The need for more memory developed.
i. Especially for data such as spreadsheets.
ii. Cost of memory became more reasonable.
c. EMS - expanded memory management.
d. LIM (Lotus, Intel, Microsoft).
e. Required support from the operating system and application.
f. Only available for data storage.
g. Swaps blocks of real data in and out of an specific address window.
4. EMS specifics
a. Various memory blocks were reserved for hardware (video, IDE).
b. Extra memory placed on an expansion card.
i. Contiguous 64 KB block of memory in the 784-960 K @ space.
ii. 16 K page units (independent of each other).
iii. Total memory on card up to 8MB.
c. Slower than regular memory.
d. Faster than swapping data out to secondary storage.
e. Simulated in newer systems. (emm386, QEMM)
f. No longer supported on NT and up.
5. Overlays
a. For programs larger than available address space.
b. Strictly supported by application.
c. Application functions are swapped in and out of a specific address
block that the program was loaded in.
d. Application must keep track of which block of code its swapping and
be able to pass data between overlays.
e. DLLs are basically advanced versions of overlays.
6. Virtual memory
a. Current systems capable of addressing large address space.
i. Cost to populate full space expensive.
(1) Pentium capable of addressing 4 GB.
ii. Possibly too large to physically implement.
b. Uses secondary memory as part of the memory space (virtual).
c. Systems actually execute only one program at a time. (or a few more
if multi-CPU).
d. Only one program's code and data needs to be in real memory.
e. VM Swaps pages of info in the virtual space into and out of frames
of real memory when needed.