Cougar Mountain Software Support Productivity Tools
For Cougar Mountain Software Support's
Professional Version (V2012, V2011, V2010, V2009, V12-V6)

 

TECH TIP - INSTALLING WIN98

Tech Tips Config.sys for the Reporting to the MAX

Larry Sweat
Technical Support & Information Systems Manager

Once again, the topic of the CONFIG files has come up and I want to attempt to clarify the guidelines for determining CONFIG settings for a computer. The settings are extremely important and if they are not set right, you could have a number of different problems with Reporting to the MAX including Point of Sale and Non-profit Versions products.

The difficulty is that the CONFIG settings depend on several of different variables and combinations of variables. Each computer can have literally thousands of possible combinations of drivers and applications to load into memory. Getting everything to load so that the computer makes the best
use of its resources is the art of memory optimization. Memory optimization is more of an art than a science and often involves varying the settings and monitoring the results to determine what works best.

It would seem that with the huge banks of random access memory (RAM) on the motherboards of the modern PC, memory configuration issues would go away, but that is not the case. Windows operating systems and Windows applications are still heavily reliant on the first megabyte of memory in a PC. The first 640 K of memory is known as conventional or lower memory and the memory between 640 K and 1 Megabyte is called upper memory. It is in these two areas that we are trying to load all the device drivers, FILES= statements, and DOS applications. Reporting to the MAX including Point of Sale and Non-profit Versions Windows products (16-bit) also rely heavily on these two areas of memory. 

We have compiled and published our recommendations for the CONFIG file settings for all Microsoft Windows operating systems (O/S) from Windows 95 through Windows 2000.  We have established recommendations for each O/S for use as a standalone, a workstation and a server. These recommendations are found in our product manuals and installation guides. The information in this
article is intended to help you understand where those recommendations come from and why you might have to vary the settings in your or your customers' computers. 

Memory managers began as third party products that were bought separately from the O/S until DOS 5.0 shipped (1990) with HIMEM.SYS and EMM386.exe included. In a DOS computer, we loaded HIMEM.SYS and EMM386.EXE, and then forced DOS to load into upper memory with the command DOS=HIGH, UMB.

When WIN95 was released, Microsoft recommended that we do not load these memory managers and let WIN95 handle memory allocation automatically. Sometimes this worked and sometimes it didn't. For the most part, we comply with this recommendation, but if we encounter a WIN95 computer that displays symptoms of memory contention, we load the old DOS memory manager and see if it helps. So for WIN95, we usually just put a FILES= statement in the CONFIG.SYS and leave the other statements out.

Windows NT 4.0 and Windows 2000 ignore the CONFIG.SYS file but refer to the CONFIG.NT file. In the CONFIG.NT file, the DOS=HIGH, UMB and the HIMEM.SYS statements are already created for you, (unless someone has deleted them). The FILES= statement is there too, but is set to 20, which is too low for an accounting application. We change this to 100 on workstations and 250 on  servers.

When Windows 98 shipped, Microsoft reversed its position on letting the O/S do the memory handling automatically and recommended that we put HIMEM.SYS, EMM386.EXE, and DOS=HIGH,UMB back into the CONFIG.SYS file. They also recommended use of FILESHIGH= instead of FILES=. The FILESHIGH= statement is supposed to try to allocate file handles in upper memory and if not enough room to do so in lower memory. The file handles rarely are able to load high and when they do, sometimes cause problems, so we recommend using the FILES= statement.  

Windows ME ignores the CONFIG files and refers to the SYSTEM.INI file for the file handles setting. So far we have found that the same settings used in Windows 98 work in Windows ME. Refer to last week's newsletter for details on the correct syntax.

The FILES= or FILESHIGH= statements determine the number of files on the computer hard drive that can be opened simultaneously by all applications combined. When the operating system encounters a FILES or FILESHIGH= statement in the CONFIG file, it allocates a block of memory designated for file
handles. A file handle is a page in memory that is used to keep track of an open file. A file cannot be opened without a file handle. A file handle can open only one file at a time and when the open file is closed, the file handle can be used to open a different file. The file handle stores information about the file, including file name, size when opened, date and time, and other information needed by the operating system.

Therefore, as the number of open files allowed at one time increases, the amount of memory allocated to file handles increases and the amount of memory available to applications and drivers decreases. So the optimum number of file handles is the number that is big enough to allow opening of a sufficient number of files to accomplish all combinations of tasks that will be attempted simultaneously. This number varies from computer to computer.

The BUFFERS= or BUFFERSHIGH= statement is generally not needed with modern computers and operating systems; however we encountered an NT 4.0 workstation on a Novell network that would not print without the BUFFERS= statement.