Chapter 3/ Hardware Briefing

Given the implied right-most hexadecimal zero in the segment address, segments always

begin on a paragraph boundary (i.e., a paragraph is 16 bytes in size). In other words, segment

addresses are evenly divisible by 16 (e.g., 0x10).

Case Study: MS-DOS

The canonical example of a real-mode operating system is Microsoft's DOS

(in the event that the mention of DOS has set off warning signals, see the next

section). In the absence of special drivers, DOS is limited to a 20-bit address

space (see Figure 3.5).

The first 640 KB of memory is known as conventional memory. Note that a

good chunk of this space is taken up by system-level code. The remaining

region of memory up until the 1-MB ceiling is known as the upper memory

area, or UMA, The UMA was originally intended as a reserved space for use

by hardware (ROM, RAM on peripherals). Within the UMA are usually slots

Extended Memory

DOS Memory Map

BIOS ROM

OxCOOOO-OxFFFFF

VGA Color Text Mode RAM OxBSOOO-OxBFFFF

VGA Monochrome RAM

OxBOOOO-OxB7FFF

VGA Graphics Mode RAM OxAOOOO-OxAFFFF

Free Memory for Applications

Commaiid.com

OxOE2FO-OxOF66F

DOS OS & Drivers

0x0070O-OxE2EF

DOS Data Area

0x0050O-Ox05FF

BIOS Data Area

Ox00400-Ox04FF

InteiTupt Vector Table

0x000OO-Ox003FF

OxFFFFF

Upper Memory Area

OxAOOOO V

0X9FFFF

Conventional Memory

0x00000 M

Figure 3,5

62 I Part I