|
||
|
| Random-Access Memory |
Email This
View My Personal Library |
|
Inside Systems February 2000 Vol.4 Issue 1 |
Random-Access Memory Step-By-Step RAM Solutions | ||
|
Jump to first occurrence of: [CONFIG.SYS] Permanent storage is just what you'd expect; anything you put there will be there the next time you come back. A computer uses its hard drive for permanent storage. The hard drive is where you load your software and save your files. Barring an accident or a relatively unusual hardware failure, what you put there will stay there until you delete or modify it. By contrast, the computer uses volatile storage as a temporary place for whatever it is doing at the moment. Random-access memory, or RAM, (often just referred to as memory) is the main volatile storage area on your PC. Like a well-organized cook, your computer wants to have all of the ingredients and utensils it needs right at its fingertips. This RAM area is where the computer gathers the tools it needs for a given task. It keeps them there while it's working in the program or performing the task that uses them. Some cooks clean up as soon as they're done; others leave their mess behind. Unlike a cook, RAM has an automatic clean-up contingency plan built-in so what's left behind gets automatically wiped out whenever the computer is turned off or rebooted. This is, generally speaking, a good way to keep a clean house, but it can be frustrating if the computer was turned off because of a power outage, or if the reboot was necessitated by a program error. In those cases, whatever you were working on was wiped out of memory, along with any mess that was left behind by sloppy programs. Computers are binary devices, which means that all they do is expressed internally with just two characters: zero and one; both are called a bit. The order and combination of these zeros and ones into 8-bit segments, called bytes, makes characters. There are different classifications of memory, and each is measured in multiples of these 8-bit bytes, called kilobytes (KB), and megabytes (MB). A kilobyte is equivalent to 1024 bytes. A megabyte is made up of 1024 kilobytes. Next in the progression is the gigabyte (GB), which is 1024 megabytes. PC memory hasn't moved into this size classification just yet, but PC processors from the 386 on can use (or address) memory into the gigabytes. Conventional memory is the name for the first block of memory (0 to 1024KB). This memory area is divided into system memory (0 to 640KB) and upper memory (640 to 1024KB). DOS uses the system memory area of conventional memory. Device drivers use the upper memory area of conventional memory. When the first PCs were introduced in the early 1980s, nobody could imagine that more than 1MB of memory would ever be used. This much was excessive. At that time, DOS needed just about 50KB of the 640KB that it knew how to use, and most PCs didn't even have a full 640KB installed. All personal computers, new and old, have some amount of system memory. Extended memory describes memory beyond 1MB, so its size depends upon how much physical memory is installed on your computer. DOS was not designed to be able to use extended memory, but as programs grew and applications became more complicated, technicians figured out how to fool DOS into using some of it. DOS and its standard applications can use this part of memory with the help of an extender such as HIMEM.SYS. You can cheat a little bit, using the first 64KB of this part of memory, known as the high memory area (HMA) to store DOS. That leaves more conventional memory available for use by programs. Windows, with its voracious appetite for memory, is designed to take advantage of extended memory—as much as you'll feed it. It even uses something called virtual memory (described later) to make use of the computer's hard drive space when extended memory runs short. Expanded memory is relevant only to DOS. Windows is able to use all memory beyond 1MB, but DOS has to be tricked into it. Expanded memory is one way DOS can be fooled into using memory beyond the 640KB system memory. DOS uses expanded memory only because it doesn't realize that it has moved out of conventional memory. An expanded memory manager handles this deception by swapping 64KB chunks of information, called pages, into and out of reach of the DOS application. Virtual memory uses the computer's hard drive, which most of us think of as a permanent storage device, for volatile storage (memory). If your computer has a 386 or newer processor, along with Windows, it can use virtual memory to overcome RAM shortages. The computer just reserves a portion of the hard drive and writes information that would normally go into RAM into this space instead. This reserved area is called a swap file. The swap file does a good job of increasing the memory available to applications. It lets you do more with your computer without buying and installing additional RAM chips, but it does have its limitations. It isn't as fast as real RAM and you can't use it on a drive that has been compressed by Stacker or any other commercial drive compression utility. If you're running short of drive space and memory, it's time to add to one or the other. Thirteen years ago, a nicely configured computer had a 20MB hard drive and just 640KB of RAM. At 32MB to 64MB, today's nicely configured computer has more RAM than the 1988 model had in drive space (and you'd expect to see 2GB to 4GB of drive space on today's model). This massive change in both volatile and permanent storage has to do with the ever-expanding capabilities of PCs and the ways we use them. Operating systems and applications have become more graphical and intuitive. This makes them easier to use, but it also means they take up more resources on your computer. The good news is that (with the exception of a period between 1993 and 1995 when supplies were strained) as the amount of memory that's required to keep up with the latest operating system and application program requirements goes up, the price of that memory has been going down. Over time, the application programs that are available to PC users have improved significantly in two aspects: what they do, and how they look to the user (usability). For example, word processing programs, which started out as editable typewriting tools, are now complex publishing programs. They offer a multitude of fonts, integrated graphics and charting, revision tracking, embedded color, and more. The latest have features that link documents to the Internet. Using them has become easier, even as the output has become more complex. Embedded codes on a monotype, monochrome screen have been replaced by What You See Is What You Get (WYSIWYG) color views of documents, and icon-based interaction. Operating systems and operating environments have progressed in a similar way. With the introduction of Windows, PC users were given the option to interact with the computer via icons and pull-down menus, in place of typed commands. With Windows' higher memory demands came programming that allows the PC to use memory beyond the DOS limit of 640KB. All of these advancements have led us to a greater and greater need for more and more PC memory. Memory is the most common cause of frustration for PC users, probably because it is so vital to a PC's operation and performance. Not enough memory will make it seem like programs are running extremely slowly, if they run at all. Too many applications vying for the same precious piece of memory, no matter how much total memory there is to go around, will bring the computer to its knees. The effect of RAM on overall system performance differs, depending upon what operating system or environment you use, and what applications you're running. Check the stated requirements for the operating system and applications that you use, keeping in mind the numbers they state are bare minimums because they're trying to sell software to the broadest market possible. DOS Minimum RAM Required – 512KB Recommended - 1MB Reality – depends on applications The greatest virtue of DOS is that it is small, efficient, and requires your computer to have just 512KB of RAM. And it uses little space on your hard drive. If your computer is running DOS, without Windows installed over it, it can't derive a lot of benefit from extended memory (memory beyond 1MB). If the computer's processor isn't a 286 or faster, you can't derive any benefit from extended memory. Some applications are specifically designed to use memory beyond 640KB, but the application itself and the things you are actively working on still have to fit within DOS's 640KB allotment. Bridging the gap between the 640KB that DOS can readily use, and even just 1MB, requires a memory manager. The memory manager's job is to fool DOS into thinking that it's getting all of its memory from the conventional memory block. The latest versions of DOS, 6.0 and newer, include a memory management utility called MemMaker to help you get the most from your computer's memory. If you're using an older version of DOS, this is yet another good reason to consider an upgrade. If you're having performance problems, it's a good idea to take a look at how your PC's memory is being used. Memory, either the total amount or its allocation, could be the issue. There are two utilities available in DOS that can help you to see how much memory your PC has, and how it's using what it has. You get the simplest view, and really, everything you should need for basic allocation diagnostics, by just typing MEM at the DOS C> prompt. It returns a screen that presents a simple report on how memory is being used on your PC: total, used, and free. It also gives you important information such as whether or not DOS is loaded in high memory. After checking how your memory is used, you may want to read the sidebar "Running MemMaker To Optimize Memory Use" to make some changes with the expert help of the MemMaker utility. The second utility is the Microsoft Diagnostic program, and it is available under DOS version 6.0 and newer. To use this utility, type MSD at the DOS C> prompt. It returns a screen that gives you choices for checking on any component of your computer. Choose the box labeled Memory by typing the letter M. It returns a more complicated memory map and the summary statistics similar to what you get from the MEM view. Stick with MEM for a basic view of what's going on, but if you need to know more, try MSD. You may be encountering specific error messages rather than just performance problems. If that's the case, there's good news and bad news. The good news is that your PC is trying to tell you what the problem is. The bad news is that there is a problem, but most problems can be resolved. Following are some commonly encountered error messages that are related to RAM under DOS. Error Message: Expanded Memory Unavailable Cause: This message probably appeared when you tried to start up a program that required expanded memory, but your PC's memory usage is only optimized for a system that runs no programs that use expanded memory. This is a good way to set your computer up if your programs don't use expanded memory because it frees up an extra 64KB of upper memory for DOS and applications to use. But if you try to load a program that uses expanded memory, it will return this message. Resolution: You need to set up some expanded memory. MemMaker can do that for you. To run it, type memmaker at the DOS C> prompt. Follow the screen prompts, being sure to answer Yes when it asks whether or not you use programs that require expanded memory. (See the "Running MemMaker To Optimize Memory Use" sidebar and your DOS 6.0 manual for more information about MemMaker.) Error Message: Not Enough Memory or Out Of Memory
Resolution: It's possible that running MemMaker, or a third-party memory manager, will clear some memory for you. Try it by following the directions in the "Running MemMaker To Optimize Memory Use" sidebar. A memory manager will load as many things as possible into the upper memory block, possibly freeing up the system memory for you. Error Message: EMM386 Exception Error #13...PRESS ENTER TO REBOOT Cause: This means the microprocessor has encountered a general protection violation, meaning a program tried to access memory that it's not allowed to access. This error occurs when you try to install the EMM386.EXE device driver that's included with DOS on a less than 100% IBM-compatible computer. Resolution: Remove EMM386 to see if the error goes away. If problems still occur, then you'll need to find and correct them, and then reinstall EMM386. Contact your PC's manufacturer and report the error. You may need a modified EMM386.SYS or EMM386.EXE device driver if there's the slightest incompatibility with the IBM PC standard. The corrected drivers that you get from the hardware manufacturer should fix it for you. Windows 3.x Minimum RAM Required – 1MB to 2MB (standard mode vs. 386 enhanced mode) Recommended –4MB Reality – 8MB With Microsoft Windows, the base memory requirements are higher than for DOS, but it is not trying to squeeze all of its memory out of a 640KB block, which makes life with Windows a little bit easier than with DOS. Windows runs on any computer with a 286 or better processor, DOS, and 2MB of RAM. The reason that the memory requirements jump so sharply with Windows is that there's a lot going on: the multicolor graphical user interface, multiple opened windows, and the computing that a program does on top of that. It is a good idea to check and see how your PC is using memory. Sometimes a look at memory will point out the performance solution you need. When you're using Windows 3.x, you can check memory allocation in some detail via the DOS utilities described earlier in this article, or you can use Windows to get a quick look at system resources. From Program Manager, click Help, and choose About Program Manager. At the bottom of the About Program Manager box, it tells you how much memory is free and what percentage of system resources are being used. Windows gets sluggish if that percentage drops much below 50%. For more detail on how your memory is being used, try the DOS MEM command (described earlier in this article.) Error messages are your PC's way of telling you what's not working. If you are encountering specific error messages rather than just having performance problems, that's sometimes good because error messages point you in the direction of a resolution. Following are some commonly encountered error messages that are related to RAM under Windows.
Error Message: General Protection Fault In Module . . . . Cause: A General Protection Fault (GPF) is a category of error messages as opposed to being a single error message. It usually results from conflict that arises when a program tries to access a restricted area in the computer's memory (RAM), and it usually causes the computer to lock up. Resolution: When a GPF, or any other error, causes the computer to lock up, the only way to recover is to reboot (also known as restart) by pressing the CTRL-ALT-DELETE keys simultaneously. This restarts Windows and often clears out whatever caused the lock-up (but you will lose any unsaved files or data). Watch for clues in the GPF message; it often will cite the name of the file that triggered the fault. Try to catch that name and record it before the crash. That file name can lead you to the program or device driver that's setting off the GPF. Sometimes, reinstalling the offending program or replacing the driver can fix the problem. If the problem persists, and it appears to have no relation to the application running or the function you're accessing, then it could be a hardware problem (maybe a faulty memory chip). See the sidebar, "It Could Be The Chip." For more tips and ideas on solving the mystery, get a copy of Microsoft's detailed GPF troubleshooting guide. Call the FastTips line at (800) 936-4200 and request document #WWW0524: "Troubleshooting GP Faults," or get it from Microsoft's Web site: http://support.microsoft.com/support, article #Q9505. Error Message: Insufficient Conventional Memory To Run Windows; Reconfigure Your System To Increase Available Memory And Try Again. Cause: It may be that you're trying to load Windows into the upper memory area (UMA), via a command such as LOADHIGH WIN or LH WIN, either by typing that command on the command line, or by its presence in your Autoexec.bat file. Resolution: Load Windows into conventional memory using the simple command WIN, whether at the command line or in Autoexec.bat. Error Message: Windows Will Not Use More Than The Virtual Memory Specified By The Recommended Size. Are You Sure You Want To Create A Larger Swap File? Cause: If you set the permanent swap file size to more than the recommended size, this message displays, even if you haven't exceeded the maximum allowable size. Resolution: It's not a problem. Windows will still increase the size of the swap file, and will use it, as long as you don't exceed the maximum size. Error Message: Insufficient Memory For Application Requested Space, Decrease PIF KB Required And Try Again. Cause: When you run Windows 3.1 in 386-enhanced mode on a PC with just 2MB of RAM, you can't run a 640KB DOS prompt. Resolution: You should consider adding RAM. This can't be the first time your 2MB memory has bitten you. While you're thinking about that, you can reduce the memory required to run the DOS prompt. The problem didn't exist in Windows 3.0 because it specified the memory required as 384KB, and memory desired as 640KB. Windows 3.1 just asks for 640KB. Use the PIF editor to edit the file Dosprmpt.pif, reducing the value for KB Required to 128 and set the value for KB Desired to 640KB. If your PC allows, create a permanent swap file of at least 1MB, and enable 32-bit drive access. When you run Windows 3.x in Standard Mode, it creates a temporary swap file for each DOS application you use, and one for itself. These temporary swap files are hidden files whose locations are determined by the operating system. In 386-enhanced mode, just one temporary swap file is used, and it expands and contracts as needed, disappearing when the system is turned off or restarted. The creation and use of these files is automatic, you don't need to do anything to make it happen. If your computer is running in 386-enhanced mode, you also have the option of creating a permanent swap file. A permanent swap file is the defined space of a fixed size on your hard drive, and it remains there until you change or delete it. The permanent swap file is faster than a temporary space because the system knows just where to go to find it, and its space is reserved, so it won't run out if the drive gets full. Reserving space on your hard drive is a double-edged sword. If you're running low on storage space, this swap file space is not available (even when it's not in use). Note that when Windows sets up a permanent swap file, it determines the recommended maximum size based upon what it finds on the drive in its search for a block of contiguous, free space. The swap file must be unfragmented. If the size Windows recommends for the file is too small for the amount of free space you think you have, then run a drive defragmentation program before you set up the permanent swap file. To create a permanent swap file on your computer's hard drive under the Windows 3.x operating system:
Windows 95 &Windows 98 Minimum RAM Required – 4MB (Win95), 16MB(Win98) Recommended – 8MB (Win95), 24MB (Win98) Reality – 12-16MB (or more) for Win95, 32MB-64MB for Win98 Win98 continues the progression to a more sophisticated graphical user interface and more complex programming, and as a result, it requires more memory. It's hard to believe, but Microsoft says that 16MB is all that's required to run Win98, while 24MB is recommended. Even at 24MB, most users will be unhappy with Win98's performance. In reality, 32MB to 64MB is what you're going to want to be comfortable, and more is even better. Win98's multitasking capabilities require a lot from your PC's memory, and they also help to save you from memory errors. Now when you get one of those memory hiccups that used to boot you out of Windows 3.x, (or at least lock you up, necessitating a reboot to recover), you only get booted out of the program that's causing the hiccup. With Win95, Microsoft added several new features that enhanced memory handling and management. For example:
You can take a look at memory usage in either Win95 or Win98 through the Control Panel. Click Start, then choose Settings, Control Panel. Double-click System to reach the System Properties window, then click the Performance tab. The window shows how much RAM is installed and the percentage of system resources in use. If you're having problems, try the Memory Troubleshooter utility that's included with Win98 and Win95. The Memory Troubleshooter guides you through a series of steps to help you diagnose problems. To access the Troubleshooter, click the Start button, then choose Help and locate Memory Troubleshooter via the index. When you click to select it, the Troubleshooter starts up, and it prompts you with questions about the problems you're experiencing. It leads you to solutions, or even to programs included with Win98 or Win95 that will run to help the problem (Scandisk, for example). If you're getting error messages, then your PC is trying to tell you something. Here are some of the most common memory-related error messages encountered with Win95 and Win98. Error Message: This Program Has Performed An Illegal Operation And Will Be Shut Down. Cause: This is similar to the General Protection Fault in prior versions of Windows. What it means is programs or drivers are in conflict over memory, or they are trying to access restricted areas of memory. The nice thing about Win95 and Win98 is that, because of their multitasking capabilities, this error doesn't usually lock up or shut down the PC, just the offending program. Resolution: If it locks you up, rather than shutting down the program as promised, then you need to press the CTRL-ALT-DELETE keys simultaneously. Windows will display This Program Not Responding, Do You Want To Terminate? Select Yes. If it persists and appears to have no relation to the application running or the function you're accessing, then it might be a hardware problem (maybe a faulty memory chip). See the sidebar "It Could Be The Chip" for more information. Error Message: Fatal Exception Error Cause: Win95 and Win98 interact with hardware differently than past versions of Windows, so you may get this error when you run applications or drivers that never caused you any problems with prior Windows versions. If these errors occur randomly, that is, they're not associated with a specific repeatable action, then the most likely cause of this error is faulty RAM on the PC. Again, Win95 and Win98 are accessing memory differently than Windows 3.x. So Win95 and Win98 may be placing frequently run program information in a faulty area on a memory chip (that didn't show signs of stress under Windows 3.x because it was storing infrequently used data there). Resolution: You may need to replace the RAM chips. Follow the instructions below to use the RAM Drive to help troubleshoot the memory. Also see the sidebar "It Could Be The Chip" for more information. For help with replacing RAM, consult your PC hardware documentation. If Win95 and Win98 seem to be acting strangely, encountering problems, and returning errors in places where everything was fine with earlier Windows versions, it could be a hardware problem. Strange as it may seem, even though prior Windows versions sailed smoothly on your PC, Win95 and Win98 could be hanging on faulty physical memory that the others just weren't sensitive enough to find. RAM Drive will help you test for faulty RAM. In the days of DOS, some power users would setup a RAMdrives to boost system performance. It's a program that lets you use your computer's memory as if it were drive space. By setting memory as drive space, you may be able to detect and isolate a memory problem to a specific chip. Follow these directions:
device=<path>\ramdrive.sys<x>/e Where <path> is, you should plug in where you want the Ramdrive.sys file to be. The <x> should be replaced with the total amount of RAM, in kilobytes, minus 16384 (that's for the 16MB you need to leave for Win98 to start up). Here's an example of what the finished line should look like: device=c:\windows\ramdrive.sys8192/e This states that the file ramdrive.sys should be placed in the Windows directory, and it can use 8192KB of RAM (8MB) (because we began with 24MB and reserved 16MB for Win98). Now all you need to do is sit back, relax, and wait to see what new things Windows 2000 will bring. by Tyna Callahan & Kimberly Maxwell
|
|
Home Copyright & Legal Information Privacy Policy Site Map Contact Us