home *** CD-ROM | disk | FTP | other *** search
Ami Pro/Word Pro document | 1990-06-26 | 40.5 KB | 861 lines |
- [ver]
- [sty]
- [files]
- .G03
- .G04
- .G05
- [prn]
- PCL / HP LaserJet
- [lang]
- [desc]
- This file discusses in technical terms memory management in Windows. It may help you best configure for Ami Pro.
- 646422238
- 613193102
- [fopts]
- [lnopts]
- Body Text
- [docopts]
- [tag]
- Body Text
- [fnt]
- Courier
- 240
- 49152
- [algn]
- 481
- [spc]
- 230
- 100
- [brk]
- [line]
- [spec]
- 65535
- [nfmt]
- 280
- [frm]
- 537591808
- 2313
- 6572
- 9270
- 10516
- 16777215
- 1233
- 6957
- [frmlay]
- 10516
- 6957
- 144
- 144
- 6716
- 144
- 109
- 28104
- 2457
- 9126
- [isd]
- .G03
- .sdw
- 5175
- 62701
- 100
- 256
- 186
- 2237
- 194
- 2237
- 202
- 2237
- 210
- 2237
- 218
- 2237
- 226
- 2237
- 234
- 2237
- 5494
- 65535
- 65535
- .sdw
- [frm]
- 537591808
- 2656
- 1080
- 9845
- 5470
- 16777215
- 1576
- 7189
- [frmlay]
- 5470
- 7189
- 144
- 144
- 1224
- 144
- 33200
- 2800
- 9701
- [isd]
- .G04
- .sdw
- 6896
- 61439
- 100
- 256
- 186
- 2237
- 194
- 2237
- 202
- 2237
- 210
- 2237
- 218
- 2237
- 226
- 2237
- 234
- 2237
- 5494
- 65535
- 65535
- .sdw
- [frm]
- 537591808
- 2467
- 1770
- 9710
- 5940
- 16777215
- 1387
- 7243
- [frmlay]
- 5940
- 7243
- 144
- 144
- 1914
- 144
- 2611
- 9566
- [isd]
- .G05
- .sdw
- 6951
- 61658
- 100
- 256
- 186
- 2237
- 194
- 2237
- 202
- 2237
- 210
- 2237
- 218
- 2237
- 226
- 2237
- 234
- 2237
- 5494
- 65535
- 65535
- .sdw
- [lay]
- Standard
- [rght]
- 15840
- 12240
- 1080
- 1080
- 1080
- 1080
- 1080
- 11160
- 3258
- 3963
- 5405
- [hrght]
- [lyfrm]
- 11200
- 12240
- 1080
- [frmlay]
- 1080
- 12240
- 1080
- 1080
- 1080
- 11160
- 2193
- 2898
- 4698
- [txt]
- [frght]
- [lyfrm]
- 13248
- 14760
- 12240
- 15840
- [frmlay]
- 15840
- 12240
- 1440
- 14760
- 1440
- 1440
- 10800
- [txt]
- @Footer@<+B><:P10,0,>
- [elay]
- 35 0 31 4 16384 0 0 230 65535 Standard 0 0 0 0 0 0 0 0 0 0 65535 0 0 0 0 0 0
- [edoc]
- <+B>***************************************
- <+B>MEMORY.SAM - Ami Professional ver. 1.2b
- <+B>***************************************
- ------------
- ------------
- If you are using Microsoft Windows Version 3.0 or higher, please refer
- to the section on "Configuring your System's Memory" in the "Optimizing
- Windows" chapter in the Microsoft Windows User's Guide. The information
- below is specific to Microsoft Windows 286 and 386.
- ------------
- Introduction
- ------------
- It's important to understand the way that Microsoft Windows/286 and
- Microsoft Windows/386 use memory to achieve the best performance from
- Ami and Ami Professional. This section, compiled with the assistance
- of Microsoft, will provide you with information and guidelines to
- best configure your system.
- Early microprocessors such as the 8088 and 8086 were designed to address
- 1MB of memory. Subsequent hardware and software developments overcame
- early memory limitations, but also brought into play questions of
- compatibility and performance optimization.
- Memory issues are complex and there are no clear directives for setting
- up your system to optimize performance. You may need to experiment
- to find the best way to customize your system to get the most out
- of Ami Professional.
- This section will give you an overview of the different kinds of memory
- and suggest various memory strategies. The following topics will
- be discussed:
- * Types of Memory
- * Expanded Memory
- * LIMulators
- * Extended Memory
- * eXtended Memory Specification(XMS)
- * RAMdrive and SMARTDrive
- * Windows Specific Memory Issues
- * Optimizing Ami and Ami Professional
- -------------------------------
- Overview--Three Types of Memory
- -------------------------------
- Your PC may have three types of memory available: Conventional, Expanded,
- and Extended.
- * Conventional memory is the first 1MB of an 8086/8088/286/386
- based computer. It was the only kind of memory available when IBM
- introduced the PC. When you execute a program, it must execute in
- the first 640K of conventional memory. The remaining 384K is used
- for hardware devices.
- * Expanded memory is added to the system and is not part
- of the memory addressed directly by the processor. This memory is
- accessed and managed through a special hardware/software subsystem.
- * Extended memory is memory that "extends" above 1 MB and
- is accessed by an 80286 or 80386 processor running in protected mode.
- Note that most computer programs that run under DOS are real mode
- applications and cannot take advantage of extended memory. The 80286
- and 80386 are "backward" compatible and can run real mode applications
- as well.
- The following two sections will discuss in greater detail the way
- Windows and others applications use expanded and extended memory.
- ----------
- Expanded Memory
- ----------
- Expanded Memory gives the processor access to more memory than would
- otherwise be available under the DOS 640K-byte limit. It cannot be
- managed by DOS directly so it uses an Expanded Memory Manager (EMM)
- which is typically loaded through the config.sys file. The EMM tries
- to find an unused portion of memory in the 384K between 640K and 1MB.
- This portion of memory is called the page frame and is typically 64K
- in size. The page frame is divided into four 16K pages which are
- used as vehicles to "move" information between conventional memory
- and expanded memory. After the EMM finds the page frame, it can begin
- to "swap" memory between the 16K pages in the page frame with other
- 16K pages in expanded memory. There are a number of hardware devices
- which occupy the 384K between 640K and 1MB, and hence place a bigger
- burden on the EMM to find an available page frame. These devices
- include network adapters, video adapters, and ROM BIOS. All of them
- take away memory that could otherwise be used by the EMM.
- Expanded memory is the most flexible type of memory that a PC can
- have. Along with being the most flexible, it is also the most complex.
- Since there are a number of system related factors that change or
- restrict the way the EMS can be utilized, it must be fully understood
- before attempting optimization. Some of the factors that determine
- how EMS will be used include:
- * which expanded memory specification an application is using
- for storing program code or data
- * how large an area it can claim for memory manipulation
- * what kind of adapter cards or memory resident programs
- are installed in the system.
- Installing expanded memory is actually installing a closely integrated
- hardware/software subsystem. The hardware includes a specially designed
- memory board and the software includes the EMM device driver which
- is loaded through the CONFIG.SYS file. The hardware and software
- operate together to give the user access to more memory than would
- otherwise be available. Expanded memory has characteristics of both
- a normal memory board and a peripheral device. It has memory chips,
- but the PC accesses it as though it were an I/O port (like a parallel
- port). It is because of the way that EMS operates that users may
- have a difficult time envisioning how it works. Refer to the following
- illustration for a graphical display of how EMS memory looks to the
- processor.<:A0>
- ------------------------------------
- How Programs Address Expanded Memory
- ------------------------------------
- Expanded memory is divided into physical pages and logical pages.
- The physical pages are located in the page frame area between 640K
- and 1MB. The logical pages are located outside the 1 MB address space
- on the EMS memory board. The EMM utilizes a bank switching technique
- which makes the physical pages "point" to the logical pages. The
- EMM quickly switches where the physical pages point so that you can
- gain access to more expanded memory than just the 64K page frame.
- Here is an example of how an application might use expanded memory.
- When an application starts, it checks to see if any expanded memory
- is available. If the EMM is active, it will tell the program how
- much memory is available and where the page frame is located. The
- application then tells the EMM to allocate a certain amount of this
- memory for the application to use. The EMM in turn allocates the
- memory and provides the application with a "handle." "Handles" are
- used by the application to access the expanded memory allocated to
- it. The application can now tell the EMM to put a certain portion
- of data or code into the memory area referred to by the "handle."
- There are a number of standards which define the exact specifications
- of the functions performed by the memory manager. It will be useful
- to explain how these work before we discuss some of the Windows specific
- issues.
- ----------
- LIM EMS 3.2
- ----------
- In 1985, in an attempt to allow users to create very large spreadsheets,
- Lotus and Intel, and later Microsoft, teamed up to produce the Lotus-Intel-Microsoft
- Expanded Memory Specification, or LIM EMS 3.2. This standard, like
- the two following standards, allocated a section of memory within
- the physical address range which could reference additional memory
- located in expanded memory.
- Specifications for EMS 3.2 are:
- * a 64K block of memory for the page frame
- * the 64K page frame must be contiguous
- the page frame is divided into four 16K pages
- * the page frame must be located in the upper 384K of the
- first 1MB of memory
- * supports up to 8MB of expanded memory
- LIM EMS 3.2 is suitable for accessing large amounts of program data,
- but not large amounts of code. This is due to the limited size of
- the page frame and because the amount of memory allocated is fixed;
- once an application allocates memory, there is no way to change the
- size of the chunk.
- Since it is cumbersome for an application to manage separate chunks
- of memory, the net effect is that an EMS-aware application, such as
- Microsoft Excel, is likely to pre-allocate as large a chunk of memory
- as it might ever use. This will tie up memory which cannot be used
- by other EMS-aware applications or by Windows if LIM EMS 4.0 is present.
- All Windows applications use LIM EMS 3.2. The implications of this
- will be explored in the section on Windows strategies.
- ----------
- ----------
- Because of the page frame size limitations which limited the use of
- expanded memory for storing program code in RAM, AST Research developed
- the Enhanced Expanded Memory Specification, EEMS. This standard was
- a superset of EMS 3.2, but required different hardware. The only
- software to fully exploit its capabilities was the multitasking program
- DESQview.
- Specifications for EEMS differed from EMS 3.2 in two respects:
- * the page frame could be larger than four pages
- * the page frame could be located anywhere in the first 1MB.
- ----------
- LIM EMS 4.0
- ----------
- In 1987, Lotus, Intel, Microsoft and AST combined EEMS and EMS 3.2
- and called it EMS 4.0, which is now the only expanded memory specification.
- Specifications for EMS 4.0 are:
- * page frame of any size up to 1MB
- * the page frame need not be contiguous
- * the page frame can be located anywhere within the 1MB address
- space
- * can access up to 32MB of expanded memory
- * is suitable for accessing large amounts of program code
- as well as data because of the larger page frame size
- * the amount of memory allocated is flexible; once an application
- allocates memory, the application can change the amount.
- The advances of LIM EMS 4.0 enable environments such as Windows to
- support multiple large applications in memory simultaneously. Now
- that we have discussed what the differences are between the various
- EMS standards, we'll take a moment to examine some of the specific
- things that EMS 4.0 provides.
- --------------------------------
- Bankable vs. Non-Bankable Memory
- --------------------------------
- Applications which use expanded memory categorize the usable memory
- under 1 MB into two categories: bankable and non-bankable, depending
- on whether or not the memory can be used as a page frame or not.
- ----------
- Bankable
- ----------
- Bankable space is another term used for describing the page frame
- from which Windows and other EMS-aware applications access expanded
- memory. When a Windows application such as Microsoft Excel is loading,
- the application's program code is loaded into a large page frame which
- resides in conventional memory. A portion of the program is also
- loaded below the page frame (in non-bankable space) in conventional
- memory. When the user opens another Windows application such as Ami
- Professional, a "context switch" occurs. The Microsoft Excel large
- page frame is banked out to EMS memory (the small non-bankable portion
- of Excel is still loaded below the large page frame and stays resident
- until Excel is exited), and the Ami Professional program code is
- loaded into the, now empty, large page frame area.
- The net effect is that during context switches the application is
- banked in from the expanded memory instead of being swapped in from
- disk (as it would normally be without expanded memory) and multiple
- large applications can be used at the same time with virtually no
- performance degradation.
- ----------
- Non-Bankable
- ----------
- Some things are never placed into expanded memory page frames, and
- thus use non-bankable memory; MS-DOS, device drivers, TSRs (Terminate
- and Stay Resident Programs), network software, most of Windows itself,
- video adapter memory, and System ROM all use non-bankable memory.
- The more programs that are loaded into non-bankable memory, the smaller
- the bankable area becomes. For example, parts of each application
- running under Windows cannot be placed in expanded memory so these
- portions of programs further reduce the possible bankable space.
- Since the bankable area is used for the EMS page frame, when the bankable
- area becomes too small, applications will not be able to operate at
- optimal efficiency.
- -------------------------------------
- Large Page Frame vs. Small Page Frame
- -------------------------------------
- Knowing what bankable and non-bankable space are, we now need to examine
- more closely the way that Windows utilizes these areas.
- When Windows is loaded, it checks to see if any LIM EMS 4.0 memory
- is available. If it is, Windows will check to see how much bankable
- space is available and allocate as much as possible to the EMS page
- frame. Depending on how much bankable memory is available, Windows
- may choose to run in Large Page Frame mode or Small Page Frame mode.
- ----------
- Large Page Frame Mode
- ----------
- Large Page Frame (LPF) mode designates a large amount(200K+) of the
- bankable area to be set aside for the EMS page frame. In this mode,
- Windows will load one application into the large page frame and when
- another application is started, the first application will be banked
- out to EMS memory and the new application will be loaded into the
- LPF. This way, when a context switch occurs, Windows can quickly
- bank the application back into conventional memory to continue execution.
- There is one drawback to using Large Page Frame mode: when the bankable
- area(EMS large page frame) becomes too small to support an application,
- it will give you an out of memory message, even if there are megabytes
- of free EMS memory. The extra code and resources that Windows needs
- to perform Large Page Frame operation and the resident portion of
- the active Windows applications occupy non-bankable space and reduce
- the size of the Large Page Frame. This in turn reduces efficiency
- and may disable a number of an application's features. Some of the
- Windows features that must reside in conventional/Non-bankable memory
- include the clipboard and DDE conversations, so if you receive a message
- that there is not enough memory for a clipboard transfer, it's because
- the large page frame has reduced the amount of free non-bankable memory
- to a point where the clipboard cannot hold that much data.
- Why go to all this trouble to access applications residing in expanded
- memory? Performance. Large Page Frame mode offers a way to retain
- more applications in memory (RAM) than would normally be possible;
- that is, you will not have to retrieve an application from disk every
- time you want to use it. The net result is that you will have faster
- access to more applications than you would ordinarily. Anytime you
- can reduce disk access requirements and thus retrieval time, you will
- see performance benefits.
- Large Page Frame mode will typically only cause problems when an EMS-aware
- Windows application such as Excel has been run prior to Ami or Ami
- Professional and memory has run out. If Excel has allocated a specific
- amount of memory, there may not be enough memory to load Ami Professional.
- ----------
- Small Page Frame Mode
- ----------
- Small page frame mode only swaps smaller portions of the data and
- code from applications, and hence doesn't experience the same difficulties
- as Large Page Frame mode.
- Depending on a number of system factors, Windows may not utilize expanded
- memory as efficiently as it could. Because Windows is competing with
- other Windows applications for this expanded memory, you may find
- that you will experience an out of memory condition when trying to
- perform a function. SAMNA recommends starting Windows in small page
- frame mode for optimal performance. You can use the /N switch to
- start Windows in Small Page Frame mode. At the C:\>> prompt, type
- WIN /N AMIPRO or WIN386 /N AMIPRO or AMIPRO /N depending upon what
- version of Windows you have. The recommended way to setup Windows
- is to load the HIMEM.SYS(XMS) driver and start Windows with the /N
- switch.
- You can also use the /L switch to put Windows into small page frame
- mode. The /L switch is used to reserve more memory in the non-bankable
- area. This also means that you are decreasing the size of the bankable
- (large page frame) area. When the size of the LPF is reduced to a
- certain size, Windows won't have enough memory to run in large page
- frame mode. The /L switch is much more dependant on system factors
- than /N. If you wish to use large page frame mode, but find that
- you need more reserved memory for clipboard transfers or screen fonts,
- you may want to experiment with the /L switch. /L + 75 is where you
- should start when you begin to optimize your system. Typically, you'll
- use a value between 20 and 100, but it is completely system dependent.<:A1>
- ----------
- LIMulators
- ----------
- Expanded memory is typically added to a system by installing a board
- and its software device driver. There have been attempts to emulate
- expanded memory in software on 80286's (ATs). Most of these "LIMulators"
- attempt to emulate expanded memory using extended memory or hard disk
- space.
- Because of the hardware components of the EMS standard, LIMulators
- for 286's sometimes have compatibility problems.
- The 80386, by contrast, has memory management capabilities that permit
- programmers to write special (protected mode) device drivers that
- essentially change all or a portion of extended memory into expanded
- memory. These device drivers emulate LIM 3.2 or LIM 4.0 and are typically
- about as efficient as expanded memory requiring special hardware on
- the AT. There is a LIMulator built into Windows/386 which changes
- all of the extended memory into expanded memory.
- Note that some LIMulators are not compatible with HIMEM.SYS (XMS)
- or Windows/386.
- ---------------
- Extended Memory
- ---------------
- Extended memory is memory above 1MB. This can only be accessed through
- the protected mode of the 80286 and 80386 microprocessors. The most
- important distinguishing characteristic between expanded and extended
- memory is that programs that run in real mode cannot directly access
- extended memory.
- Protected Mode. Protected mode is used by the 80286 and 80386 and
- allows access to more memory and functions. When the processor is
- switched to protected mode, the system can control the operation of
- multiple programs in memory and shift more easily from one task to
- another. These processors can also run the same programs as the 8088
- and 8086 processors if they run in real mode.
- The primary benefit of having extended memory on a PC running in the
- real mode of DOS is its use as a "RAM DRIVE" or in the case of Windows,
- for SMARTDrive. A RAM drive is a portion of extended/expanded memory
- that acts just as if it were a disk and SMARTDrive is an "intelligent"
- disk caching utility. See the RAMDrive and SMARTDrive section.
- -----------------------------------
- eXtended Memory Specification (XMS)
- -----------------------------------
- One of the first programs to access extended memory under DOS was
- the RAM disk device driver included with DOS, VDISK.SYS. Note that
- the XMS scheme described below is incompatible with VDISK.SYS.
- The eXtended Memory Specification(XMS) defines a software interface
- for the 80286 and 80386 that allows real mode application programs
- to use extended memory. The first implementation of the XMS standard
- is HIMEM.SYS with Windows 2.1.
- Running under DOS, the AT(80286) and the 80386 can actually address
- the first 64K of extended memory past 1 megabyte. This area is known
- as the High Memory Area, HMA.
- When Windows 2.1/2.11 loads part of itself into the HMA region, it
- leaves about 45K more memory for Windows applications and/or the Windows
- "bankable area." When you install Windows/286 and specify that you
- have extended memory, a special version of Windows loads to the hard
- disk.
- If you ever see the message, "Your memory configuration has changed..."
- when you start Windows, this means that at one time you had the XMS
- support version installed and then deleted HIMEM.SYS or removed it
- from the CONFIG.SYS file. To correct this, you must reinstall Windows
- or put the DEVICE=HIMEM.SYS line back in the CONFIG.SYS file.
- You may also get the "memory configuration changed" message if you
- have a RAMDrive or LIMulator that is not compatible with XMS. One
- such driver is the RAM disk device driver, VDISK.SYS as noted above.<:A2>
- -----------------------
- RAMDrive and SMARTDrive
- -----------------------
- Disk cache and RAM disk software are designed to reduce time consuming
- disk access. Windows includes approved software utilities for enabling
- a disk cache or a ram drive: SMARTDRV.SYS for disk caching and RAMDRIVE.SYS
- for RAM disks.
- ----------
- RAM Drives
- ----------
- RAMDrive is a program that creates a disk in memory. Since memory
- is much faster than a hard drive, using a ram drive to hold a program
- or a portion of a program will significantly decrease the time it
- takes for that program to load additional pieces of its code. You
- reference files on a RAM disk just like any other disk. The most
- practical use for a RAMDrive is to store temporary files. Temporary
- files are used by some applications such as Ami Professional and Windows
- itself to hold information that can not be stored in memory. These
- temporary files are typically deleted from your drive as soon as Windows
- is exited.
- The RAMDRIVE.SYS driver include with Windows specifically meets the
- unique requirements of the Windows environment. RAMDRIVE.SYS is compatible
- with the XMS standard and hence is the only RAM disk driver that you
- should use with Windows.
- You need to remember three things if you use RAMDrive.
- First, you must store Ami Professional documents to disk, not in the
- RAM drive. Information written to disk is permanent; information
- written to RAM lasts only as long as the system has power. If you
- lose power or need to reboot, the information is lost.
- Second, if you load an application into the RAM drive with a batch
- file at startup, you must know what application to load for a particular
- user. If you don't load an application into the RAM drive, you will
- see no particular performance benefits.
- Third, the area set aside for a RAM drive is finite. You can only
- load as many applications as you have room for.
- Setting up a RAM drive. If you want to set up a RAM drive on your
- system, you must include a line for the RAMDRIVE.SYS file in your
- CONFIG.SYS file. The command would begin by telling DOS that you
- wish to load a device driver. Begin the command with: Device=
- Then tell DOS exactly where to load RAMDRIVE.SYS followed by the size(Kilobytes)
- followed by the sector size (use 512K) followed by the maximum number
- of directory entries (use 64) and finally the type of memory(expanded
- or extended). A sample command would look like:
- device=c:\dos\ramdrive.sys 1152 512 64 /a
- This command line tells RAMDrive to create a 1152 KB RAM disk in expanded
- memory, if you want to use extended memory use /e. If you use expanded
- memory you must load the EMM driver before RAMDRIVE.SYS.
- To setup RAMDRIVE for use with temporary files
- Setup RAMDRIVE.SYS as specified above, and then add the following
- line to the AUTOEXEC.BAT file:
- TEMP = {Drive letter created by RAMDRIVE}:\
- ----------
- SMARTDrive
- ----------
- Windows provides an answer to the disadvantages of RAM drives with
- a utility called SMARTDrive. SMARTDrive is an intelligent "disk caching"
- utility. SMARTDrive, like RAMDrive, uses a portion of memory(expanded
- or extended) to improve disk access performance. Unlike RAMDrive,
- SMARTDrive requires no action (such as specifying which applications
- will use SMARTDrive) on your part to obtain improved performance.
- Whenever a Windows application, such as Ami Professional reads or
- writes information to disk, that information also gets stored into
- the memory set aside for SMARTDrive. Rather than automatically going
- to the disk the next time the application requires information, it
- looks at SMARTDrive to see if the information is there. If the information
- is there, SMARTDrive provides it. If not, it looks to disk. Typically,
- programs access the same information repeatedly, so chances are very
- good that the information is resident in SMARTDrive. When the application
- performs a write operation, it writes information to both the SMARTDrive
- cache and the physical disk.
- SMARTDrive offers the same basic performance benefits as a RAM drive,
- but does not require advance knowledge of what applications you want
- to run. Also, since SMARTDrive will discard contents that haven't
- been used for a while to make room for new information, this resource
- is not finite like a RAM drive.
- Installing SMARTDrive. To install SMARTDrive, you must add a line
- to your CONFIG.SYS. You would begin the command by telling DOS that
- you wish to install a device driver. Begin the command line with:
- device=
- Then tell DOS where to load SMARTDRV.SYS and how many kilobytes to
- allocate in expanded or extended memory. A sample command would look
- like:
- device=c:\SMARTDRV.SYS 512 /a
- This command tells SMARTDrive to allocate 512k in expanded memory,
- if you want to use extended memory, don't include the /a. The directory
- and path, c:\ indicate that SMARTDrive file will be stored in the
- root directory. If you use expanded memory, you must load the EMM
- driver first, and it is recommended that you set buffers to 10 in
- the CONFIG.SYS file.
- If Windows is running low on memory, it can also dynamically re-allocate
- the area of memory reserved by SMARTDrive.
- The way Windows applications use memory allows them to be larger than
- the available conventional memory area. Different program segments
- can be loaded and reloaded on top of each other as they are needed.
- The main EXE file, for example, AMIPRO.EXE, is composed of modules
- which retain their separate identity. Even though these modules are
- linked, they can be loaded in memory independently. The advantage
- is that any part of the program not needed can reside on disk until
- it is requested. Since the separate modules of the program are swapped
- so frequently, it is easy to see why the use SMARTDrive can substantially
- improve performance.
- ------------------------------
- Windows Specific Memory Issues
- ------------------------------
- ----------
- Windows on the 386
- ----------
- Deciding how to set up Windows with the 80386 has a lot to do with
- the kind of applications you will be running.
- ----------
- Virtual Mode and DOS Applications
- ----------
- The 80386 allows multi-tasking for both standard DOS applications
- and Windows applications. However, these multitasking capabilities
- are achieved differently for DOS applications and Windows applications.
- The 386 microprocessor provides a special mode of operation called
- "the virtual 8086" mode. The virtual mode allows a single 80386 machine
- to contain as many DOS sessions as memory will allow, each of which
- runs in its own "Virtual Machine," or VM. Windows/386 takes advantage
- of the "virtual 8086" mode of the 80386 microprocessor and provides
- you with an environment which will allow you to switch between DOS
- applications. You will be able to work with several "virtual machines"
- which can each run a separate DOS program.
- Windows/386 runs each old application (i.e. Lotus 1-2-3, dBase III,
- SAMNA Word IV, etc...) in its own VM. By contrast, Windows and Windows
- applications automatically run in the same virtual machine meaning
- that they all must fit into the same 640K as all other Windows applications.
- Thanks to EMS 4.0 and the way Windows applications are segmented this
- isn't as big a problem as it sounds--the main drawback is still that
- there's only one Windows shareable area.
- Windows/386 emulates EMS (expanded memory specification) by turning
- extended memory into expanded memory. It has a built-in EMS 4.0 LIMulator
- that is compatible with the XMS standard. The overhead of the virtual
- machine manager extracts about a 5% performance penalty on both Windows
- and non-Windows applications. It also requires about 200K of extended
- memory when you start Windows.
- --------------------------
- Strategies for Windows/386
- --------------------------
- There are a few things you need to consider when you use Windows/386.
- * You must have at least 2 MB of RAM and preferably 4 or
- more to run Windows/386.
- * Windows/386 will co-exist with other expanded memory systems
- and will be available for applications to use outside the 386 environment
- as well. However, separately controlled EMS will not be used by Windows/386.
- * If you already have an EMS board, set up the board to use
- extended memory if you want to enhance the performance of Windows/386.
- * The LIMulator in Windows/386 is incompatible with all other
- LIMulators except for CEMM.SYS from Compaq. If you use another LIMulator
- you must edit your CONFIG.SYS file and reboot before you use Windows/386,
- and repeat the process after you leave Windows/386.
- * Use the SMARTDrive software which comes with Windows/386.
- ---------------------------
- Windows/286 vs. Windows/386
- ---------------------------
- You may find that you would be better off using Windows/286 with your
- 80386 machine. The choice between Windows/286 and Windows/386 should
- depend on your application and usage requirements. Windows/386 is
- best for running multiple DOS applications. If you need to run multiple
- large Windows applications, especially when your memory configuration
- is tight due to network drivers, TSRs, etc. Windows/286 in conjunction
- with a LIMulator such as 386Max from Qualitas may provide the best
- environment.
- You can prevent Windows/386 from using large page frame mode and thus
- make more memory available under the 640K line by starting Windows/386
- with the command WIN386 /N AMIPRO.
- ------------------------------
- Memory Optimization Strategies
- ------------------------------
- ----------
- General Rules
- ----------
- There are a number general rules which will help you optimize your
- Windows setup. These include setting up SMARTDrive and RAMDRIVE,
- loading HIMEM.SYS, and configuring the WIN.INI file for optimal performance.
- Of course, all of these points do require that you have some type
- of Expanded or Extended memory available. Below is a list of the
- basic rules:
- * If Extended memory is available, load HIMEM.SYS. This
- will enable you to have an extra 45-50K free in the conventional memory
- area.
- * Memory permitting, use up to 1MB for SMARTDrive. Use Expanded
- memory if Expanded and Extended are both available. Expanded memory
- is much faster than Extended memory.
- * If you have enough RAM, use 2MB(or more) for a Ram Drive,
- and set it up so that it can store temporary files (see the RAMDrive
- section.) A 2MB Ram Drive is realistically the minimum that should
- be allocated for temporary space. With less than 2MB to hold temporary
- files, you could get the message "Not enough space on temp drive."
- This means that there is not enough space available for an operation
- and will require that you exit Windows before attempting the operation
- again.
- Those are the basics of optimizing Windows. There are a number of
- other factors which will affect the speed at which Windows runs.
- These include: Video Adapter Type(the lower the resolution and fewer
- colors available, the faster the video adapter will operate), hard
- disk access time(Windows and Ami Professional are both disk intensive),
- CPU speed(the faster the clock rate of the PC, the faster any application
- will run), and finally, memory setup(Expanded memory is much faster
- than Extended memory.)
- Below are some tips for the various versions of Windows:
- ----------
- Single Application (SAE) Windows
- ----------
- Optimizing your Ami or Ami Professional package is similar no matter
- what version of Windows you are running. The only note for SAE users
- is to start Windows in small page frame mode. Since you won't be
- using multiple applications, using small page frame mode will reserve
- all available memory for Ami Professional. Type AMIPRO /N to start
- SAE Windows in small page frame mode.
- ----------
- Windows/286 and Multiple Applications
- ----------
- Setting up Windows/286 for multiple applications is a little different
- than setting it up for one application. You may need to use the /L
- switch so that more memory is allocated for Windows functions such
- as the clipboard and DDE conversations.(See Small Page Frame section)
- The following points are where you should start in optimizing your
- setup.
- * Use up to 1MB for SMARTDrive, use extended memory if expanded
- and extended are both available. Although Expanded memory is faster,
- use the extended memory first. Since LIM EMS 4.0 expanded memory
- is used by Windows to swap applications, the more expanded memory
- that is available (both in EMS and in the bankable area) the more
- applications you can run at one time.
- * Remove as many device drivers and TSR's(ram resident applications)
- as possible so that Windows will have the largest possible bankable
- area.
- * Leave all remaining EMS memory for application swapping.
- ----------
- Windows/386
- ----------
- Windows/386 is a very special case when attempting to optimize the
- Windows environment. Since Windows/386 runs only on 80386 based PCs
- with at least 2MB of RAM, just setting up the options as we did above,
- would not take full advantage of the power of Windows/386.
- SAMNA does recommend setting up an area of memory for SMARTDrive:
- between 512K and 1MB depending on your exact memory configuration.
- There isn't a HIMEM.SYS driver for Windows/386 since it uses extended
- memory anyway, however, there are a few options to start Windows/386
- that may have very profound effects on the way Ami and Ami Professional
- operate.
- -----------------
- Large Page Frames
- -----------------
- Windows/386 will attempt to use what is called a large page frame
- if there is enough bankable memory available. Page frame mode looks
- for bankable space to electronically reposition expanded memory into
- the microprocessor address range. The expanded memory is divided
- into blocks called pages and these are swapped into or out of an area
- of main storage called the page frame. This page frame effectively
- becomes a window that can look into various blocks of expanded memory.
- However, there are some constraints on which determine whether Windows
- uses large page frame mode. They are:
- * A bank area in the bankable memory region must be at least
- 48 KB in size.
- * The entire availability of memory in the bank region must
- be at least 280 KB in size.
- Large page frame mode lets Windows/386 bank out larger applications
- or larger portions of applications than small page frame mode.
- ------------------
- Real Multi-Tasking
- ------------------
- There are two ways to start Windows/386. The first is the normal
- way which enables the "Virtual 8086 Mode" of the 80386 chip and provides
- real multi-tasking between applications. This method is achieved
- by typing WIN386 to start Windows/386.
- The second way starts Windows/386 running as a 286. This method requires
- that you type WIN86 to start it. There are advantages and disadvantages
- to each mode:
- WIN386--Starts Windows/386 in "Virtual 8086" mode, supports real multi-tasking.
- This is suggested for use with "old apps."
- WIN86--Starts Windows/386 in 286 mode, runs faster than Windows/386
- in native mode, does not support real multi-tasking, suggested for
- use with Windows applications.
- The only other setup option that affects Windows/386 is the /N switch.
- This switch starts Windows/386 in small page frame mode. SAMNA recommends
- that you start Windows/386 in this mode.
- ----------
- Conclusion
- ----------
- We hope that this document has helped shed some light on the topic
- of memory and it's usage. As you can see from reading this text,
- optimizing your memory setup may require some testing with your current
- hardware. If you should have any further questions regarding how
- memory works and what first steps you should take to optimize your
- configuration, please contact SAMNA Customer Support at (404) 256-2272.
-