Faast-3 Reference Manual Addendum # 1
Memory Management on PCs
Effective with Release 3.3D, revised for Release 3.3F and subsequent
1. Overview.
Starting with release 3.3D, Faast-3 for PCs incorporates improved
memory management, more nearly like that found on large computer systems.
The advantage to users is that Faast-3 loads into memory and begins
executing more quickly. Necessary memory space is created after loading,
instead of being built-in.
Prior PC versions of Faast-3 contained fixed-length blocks of memory into
which all data and equation space must fit. New PC versions of Faast-3 now
obtain necessary memory space, up to the maximum, by requesting memory from
the operating system, and/or using extended memory, and/or using a "virtual
memory swap file" (meaning disk space is used to augment physical extended
RAM memory space).
The purpose of this memorandum is to familiarize users with those things
they might do to facilitate the memory management process and speed-up
execution times with minimum consumption of disk space.
2. Low Memory Versions of Faast-3 (releases before 3.3F).
The low memory versions of Faast-3 (order codes PCD [demo], PCS [small],
and PCL [large] prior to release 3.3F) all requested low memory
from the operating system (DOS or Win-x). If the amount of available memory
was not enough,
then those versions of Faast-3 would use the amount that was available,
and show that amount on the sign-on screen. Effective with Release 3.3F,
the above Faast versions function the same as the "Extended Memory" versions,
see below.
User Actions (low memory releases prior to 3.3F): Users with
the above versions of Faast can
increase the amount of available memory by not loading programs called TSRs,
which stands for "terminate and stay resident." An example of a TSR is the
MS-DOS PRINT utility, which occupies memory even when
it is not printing anything. If you have enabled the use of what are called
"upper memory blocks" (UMBs), you may configure your system to "load-high"
some device drivers and portions of DOS, thus freeing-up some low memory.
Use the MS-DOS MEM utility (DOS version 5 and higher)
or CHKDSK (older DOS versions) to determine the amount of
available memory and observe how increases in available memory increase the
available space within Faast. Win- systems generally optimize memory space
without user action.
3. Extended Memory Versions of Faast-3 (all PC versions, release 3.3F and
later).
Program Actions. The extended memory versions of Faast-3 (order
codes PCE, PCM, PCJ etc. prior to release 3.3F and all PC versions
at 3.3F and later) examine the size of available extended memory and then
check for an existing virtual memory swap file. The following actions are
taken:
a. The amount of available extended RAM memory is determined.
The extended memory versions of Faast require a minimum of approximately
0.5 Mb of available extended memory. In general it does not matter whether
you have an extended memory manager installed (that is, available EMS and
XMS are treated the same).
b. If the amount of available extended memory is less than
approximately 3.2 Mb, and if no virtual memory swap file already exists,
then a temporary swap file is created with default size. This default
swap file will be sufficient for Faast versions up to and including the
JUMBO (-PCJ = 2 Mb data space) version.
If the amount of available extended memory is greater than approximately 3.2
Mb, no swap file is created, but a pre-existing swap file will be used, if
needed.
c. After creation of a swap file (if necessary), Faast checks the total of
available extended memory and available virtual memory space within the swap
file (if any), and compares this total with the data space size for the
Faast version in use. The following action is taken:
(1) If the total available is sufficient for the specified data space
for the Faast version in use, Faast uses as much of this space as necessary
to solve your problem.
(2) If the total available is less than the version data space size,
Faast reduces the version size to correspond to the actual available
memory, thus allowing your session to begin, albeit with reduced problem
data space.
Either way, Faast reports to you (in the sign-on screen) the total data
space available (that is, either the specified data space or the reduced
data space).
User Actions. If the amount of available space reported by Faast is
less than the data space maximum for the version you are using (and if you
need the extra space), you can do one or all of several things:
a. Create a swap file of sufficient size so that Faast will have
enough virtual memory. We provide a custom utility for this purpose
(F3SWAPSZ see "4." below). This has the
disadvantage that disk space is occupied at times when you are not running
Faast-3, however you may delete the swap file when not in use, and create
it anew when needed. The swap file has the default name of
C:\XMSWAP.TMP but may have a different name if the
name is specified by an environment variable (usually by a
SET in AUTOEXEC.BAT). The
environment variable has the form: SWAP=path\filename.
For example, an alternate swap file designation may look like this command:
SET SWAP=C:\FAAST3\F3SWAP.TMP
in your autoexec.bat file.
b. Remove some TSRs and drivers which use extended memory. Such things
include ramdisks and disk cache programs like SMARTDRV.
c. Install more RAM memory. Faast-3 executes faster if it is running in real
memory instead of virtual memory, so this is the "best" course of action.
Use the DOS MEM utility to determine how much low and extended
memory you have installed.
4. How to Create a Larger Swap File.
Beginning with Faast-3, release 3.3D, we provide a special program for
creating a virtual memory swap file of sufficient size for running Faast-3
in extended memory (for cases where the extended memory is not sufficient to
run without a swap file). This program is called F3SWAPSZ
and is provided with Faast-3 PC extended memory versions larger than JUMBO.
Each copy of F3SWAPSZ is sized to match the copy of Faast-3 with
which it is issued, and produces a swap file size of at least 3 megabytes.
To create a swap file for Faast to use, simply run F3SWAPSZ from
the DOS-prompt:
C> F3SWAPSZ [return]
If you receive a new version of Faast-3 for extended memory (larger than
JUMBO), you will receive a new version of F3SWAPSZ to match. Avoid
using an older, wrong-size copy of the F3SWAPSZ program.
If you are short on disk space, you may delete the swap file when Faast is
not in use, and create it again before using Faast.
# # #
Copyright (c) 2006 Faast Software. All rights Reserved.