What is Go Ahead? Qualitas's new Go Ahead increases Windows system resources. Since Windows requires low DOS memory for DLLs for every single application you open, you can run out of low DOS memory to open applications long before your extended RAM is used. Go Ahead manages low DOS memory more efficiently so that you can open more applications without errors. Go Ahead is a RAM-enhancing feature that takes control of low DOS (that important first 640 KB) in Windows and allocates it more efficiently. As a practical matter, this means you can open more applications. Without Go Ahead, each time a Windows application loads, Windows uses some of low DOS memory. Although most of the applications could just as easily use other memory (usually extended memory), Windows allocates low DOS first. This means, however, that when an application comes along that uses only low DOS, there may be no low DOS memory available for it. Go Ahead deals with this allocation problem by grabbing all of low DOS memory during bootup. Then when Windows needs to allocate memory for an application, it finds none available in low DOS (because Go Ahead has it all) and is forced to use the more plentiful memory beyond low DOS. When an application loads that must use low DOS memory, Go Ahead makes it available. Thus the limited amount of low DOS memory is reserved for those applications that really need it; other programs are diverted to alternate memory. Go Ahead consists of two separate programs: GOAHEAD.DRV and GOAHEAD.EXE. The .DRV is loaded in SYSTEM.INI with your system's other drivers on the Drivers= line in the [boot] section. GOAHEAD.EXE is simply a tool to monitor the status, activity, and configuration of GOAHEAD.DRV; it can be added to your Startup group, to automatically provide the monitoring feature. A discussion of RAM Managers and Go Ahead ----------------------------------------- The new "RAM Managers" manage RAM and system resources inside Windows only. None actually double your physical RAM - an 8 MB machine does not become a 16 MB machine. None provide benefit to DOS applications running inside Windows or to your DOS environment outside Windows. The goal for any of these RAM Managers is to allow Windows users to open more applications at once without affecting system performance and without having to part with large sums of money for hardware memory upgrades. There are two methods of managing memory inside Windows: 1. Windows memory (or the data in memory) can be compressed; or 2. System resource heaps can be "expanded" and managed more efficiently. Not enough information is available regarding the safety of RAM compression techniques. However, RAM compression programs will not allow you to open more applications concurrently. These programs compress RAM or data in RAM or virtual disk space but have no affect on system resources. While they may allow you to open larger applications, you may still run out of free system resources to run multiple applications at once. Go Ahead technology more closely matches the system resource management model. To understand how Go Ahead technology works requires a knowledge of how Windows allocates memory using system heaps. There are three system heaps available to Windows - the USER, GDI and Global heap. The USER and GDI heaps are local heaps that manage window placement, icons, buttons, menus and other graphical components of Windows. The Global heap consists of all available low DOS memory plus all available extended memory. Low DOS memory can be used up in three ways: 1. Any running program can request low DOS memory via the GlobalDOSAlloc call. 2. When a program starts up, Windows allocates a small amount of memory (called a TDB "Task Database") from the low DOS memory portion of the Global Heap to manage the program. 3. When loading certain programs (typically DLLs), Windows allocates a special type of memory called fixed memory, which the memory allocation routine inside Windows always attempts to place at the lowest linear address, usually low DOS. Fixed memory is non-pageable memory required to be used by the interrupt handlers in DLLs since it doesn't have to be paged in and out of memory addresses. Eventually, if you load the right combination of DLLs (over which you have little control) and other programs, Windows may run out of low DOS memory for the TDB. When this happens, Windows displays a message saying that there is insufficient memory to run another program. This is the principal reason why Windows can't run a program even though you might have plenty of extended memory in the Global Heap. With Go Ahead in the system, the low DOS memory portion of the Global Heap is managed more efficiently. Go Ahead separates out the low DOS memory from the Global Heap by allocating it all to itself, and parcels it out to programs which need low DOS memory specifically, such as Windows itself when allocating a TDB. Because there is no longer any low DOS memory in the Global Heap, fixed memory allocations now occur from memory above 1 MB and there is always plenty of low DOS memory to run programs. Go Ahead scenarios ------------------ Results from Go Ahead are highly system and software specific. The environments that will see the greatest benefits from Go Ahead are Windows 3.1x machines running resident Windows tools since Windows 3.1x allocates system resources from below 1 MB, and since resident Windows tools tend to be the largest users of global DOS resources. System: Pentium PCI/32MB/loading drivers for SCSI, IBM OS/2 Lan Requester/CD-ROM, MS Mouse and Sound Card/starting low DOS prior to running Windows - 530 KB (with Qualitas MAX 8 maximizing memory outside Windows) Without Go Ahead With Go Ahead -------------------------------------------------- WinMaster (PCKwik) WinMaster (PCKwik) HawkEye (Number 9 HawkEye (Number 9 Imagine 128 graphics card Imagine 128 graphics card utility) utility) Whoop-it-Up! (sound Whoop-it-Up (sound utility) utility) ExpressIt! (mhs e-mail ExpressIt! (mhs e-mail front end) front end) MAXmeter (Qualitas MAXmeter (Qualitas system resource tool) system resource tool) QPOPUP (Qualitas QPOPUP (Qualitas DOSMAX tool) DOSMAX tool) Growstub Growstub MS Word for Windows 6.0 MS Word for Windows 6.0 MS Excel 5.0 MS Excel 5.0 FAILURE! "Out of system Corel Draw 3.0 resources" message Lotus AmiPro 3.0 CompuServe WinCim 1.3.1D SPF (PC DOS editor running in DOSMAX session) Second DOS session Third DOS session (Norton Commander 4.0 for DOS) Avery LabelPro for Windows 2.0 Fourth DOS session FAILURE! (GDI resources low; global DOS still at 43% available) A sampling of popular software is listed below. Many of these items are run resident inside Windows and can take a substantial amount of system resources prior to opening any applications. Results below are an average of tests run on an 486/66 with 8 MB RAM, DOS 6.2 and Windows for Workgroups 3.11; 386/33 with 8 MB RAM running DOS 6.2, Windows 3.11; a 386/25 with 8 MB RAM, DOS 5.0, Windows 3.11 and a 486/66 with 16 MB RAM, DOS 6.2 and Windows 3.11 Program Low DOS Memory Used (KB) ---------------------------------------------------- PC Tools Anti-Virus 103 SofNet FaxWorks 3.0 82 Winsock 65 Lotus Organizer 50 AOL 2.5 35-90 Polaris Packrat 5.0 29 Symantec ACT! 2.0 25 Aldus PageMaker 5.0 23 Norton Screen Saver 20 Da Vinci Systems Mail 2.51 18 Laplink 6.0 17 Norton Desktop 17 Delrina WinFax 14 Borland Report Smith 2.02 13 cc:Mail 2.02 12 Lotus Ami Pro 3.1 12 PCTools desktop 11 MS PowerPoint 4.0 11 MS Word 6 11 Lotus Freelance 2.1 11 MS Excel 5.0 10 Intel Faxibility Plus 1.1 8 Corel Draw 5.0 8 LView (shareware) 7 Novell Groupwise 7 GrabIt (shareware) 6 Control Panel 5 MS Mail 3.2 2 Beyond Mail 2 Quicken 4.0 2 Dr. Watson 1 Programs typically open and running at all times such as Winsock, Norton Utilities, anti-virus, Organizer tools, cc:Mail and faxing software are the biggest users of low DOS resources and can prevent you from running multiple applications simultaneously.