Category: 

What is Conventional Memory?

Article Details
  • Written By: R. Kayne
  • Edited By: O. Wallace
  • Last Modified Date: 14 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
The atmosphere of Jupiter's moon Io collapses every time it is eclipsed by the planet.   more...

September 29 ,  2008 :  The Dow Jones Industrial Average experienced its largest one-day drop in history.  more...

Random Access Memory (RAM) was utilized quite differently on IBM® PC machines and clones in days of old when DOS, a command line operating system used prior to Windows®, ruled. The first 0-640 Kilobytes (KB) of RAM were designated as conventional memory; the area where DOS conventionally loaded upon booting. The 640KB – 1 Megabyte (MB) block consisting of 384KB was the Upper Memory Area (UMA); the first 64KB over the 1MB boundary became the High Memory Area (HMA or HIMEM), and everything over that was designated as Extended Memory.

Conventional memory was used as the read/write area for the operating system and for programs, making for a tight fit. DOS also loaded routines, system drivers and system parameters into this space. To help free up room, some residents of conventional memory were moved up the RAM ladder to the UMA and HMA. This was accomplished by adding a couple of lines to the CONFIG.SYS file, a file that along with AUTOEXEC.BAT determined to a large degree the memory loading parameters of software and hardware devices used in DOS and early Windows® systems. In the late 1980s, the Quarterdeck Expanded Memory Manager® (QEMM) automated much of the optimizing required by computer users at the time who were unable to do it manually.

Ad

By 1990, Digital Research®’s DR DOS version 5.0 introduced a better strategy for getting the most out of conventional memory, including its own built-in extended memory manager: EMM386.EXE. This version of DOS loaded almost entirely into high memory, freeing up conventional memory for the programs that could only be run there. Another advantage of this operating system is that it could be purchased by the public (starting with version 3.1), whereas MS DOS was only available bundled with hardware.

Microsoft® responded to Digital Research® with its own 5.0 release in 1991 which countered the advantages of DR DOS 5.0. The competition continued with DR. DOS 6.0 which included task-switching and disk compression, and MS DOS 6.0 followed in kind. MS DOS 6.22 was the last independently available MS DOS package marketed, while DR DOS continues to be sold through drdos.com.

As Windows® operating systems advanced, the constraints of optimizing conventional memory became a distant memory, except for those who continued to use DOS programs, either out of necessity or for fun. Starting with Windows® 95, a pared down version of MS DOS was integrated for the purpose of bootstrapping or troubleshooting. Windows® XP retains a skeletal version of MS DOS 8.0, accessible only by creating a floppy start-up disk, as does Vista®. All versions of Windows® retain a shell, or command line interface. In earlier versions of Windows® this was COMMAND.EXE, which became CMD.EXE in the Windows-NT® family.

As of September 2006, a free, open-source version of DOS also became available, known as FreeDOS, though it was never developed beyond version 1.0. For those using legacy machines or running DOS programs today, much information exists online for manually optimizing conventional memory to get the most out of your DOS programs or games.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44
Stack trace:
#0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha()
#1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false)
#2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render()
#3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString()
#4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...')
#5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true)
#6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom))
#7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate()
#8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate()
#9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false)
#10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render()
#11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString()
#12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest()
#13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage()
#14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run()
#15 {main}