The DOS Process Table MS-DOS (and any operating system running on an Intel 80x86 CPU, for that matter) keeps track of programs running in memory (and the memory addresses they're located in) through several important CPU registers which only came out with the 286 (which is why processors prior to the 286 couldn't do multitasking; They could run only in "real mode". The 286 was the first 80x86 CPU to support "protected mode", which supports multitasking). These registers are: The machine status word (MSW), global descriptor table register (GDTR), local descriptor table register (LDTR), interrupt descriptor table register (IDTR), and the task register (TR). To make a rough analogy, the three "tables" mentioned (GDT, LDT, and IDT) are to RAM as the FAT is to the hard disk. They keep track of what processes are running, and what memory addresses they own. Unfortunately, information more detailed than this is very scarce, because this kind of info is only of interest to people making their own operating system, and it is highly technical, beyond the level of even most assembly language programmers.