An "expert system" for evaluating DOS multitasking systems.
Copyright (c) 1989
Sunny Hill Software.
PO Box 55278
Seattle, WA 98155-5278
CONCURE is an "expert system" that can help you evaluate the suitability
of given computer system for use with DOS multitasking software. The
following factors are considered:
- Microprocessor type and speed relative to a 4.77 MHz PC.
- Presence of memory manager software.
- Several features of the EMS system hardware and software including LIM
4.0 compatability, number of physical pages and the number of
Alternate Mapping Register Sets (AMRSs).
- The amount of DOS and EMS memory that OMNIVIEW will consume.
- The maximum partition (program) size the system will support based on
the amont of free memory when CONCURE is run.
- The number of processes that can be operated concurrently.
- The total number of maximum sized process that the system will support
and the amount of EMS that will remain in the system after loading
- The current mapping of the available EMS pages.
CONCURE is provided free of charge by Sunny Hill Software, makers of the
OMNIVIEW multitasker. The numerical predictions provided by the program
are reasonable estimates though, for a variety of reasons, the actual
results you obtain may be different. Refer to "Interpreting CONCURE's
You may freely use and distribute CONCURE so long as the Sunny Hill
copyright notice remains intact and all documentation included in the
original "archive" is distributed as well. The files you should have
1) CONCURE.EXE - The program.
2) CONCURE.DOC - This document.
3) MEMORY.TXT - A discussion of the different
aspects of EMS memory usage by
4) OMNIVIEW.ADV - A description of the OMNIVIEW
multitasking software package.
Please direct any questions or suggestions concerning this software to
Sunny Hill Sofware technical support at the address shown above.
To run CONCURE and view its output on the CRT simply type the file name
and then press return at the DOS prompt, CONCURE will wait for you to
press a key between screens of data. If you would like to send the
program output to a file enter the following:
where "filename.ext" is the DOS filename where you wish to store the
output. If the file already exists, DOS will overwrite that file. If the
file does not exist DOS will create it. If you would like to send one or
more sets of CONCURE output to the same file then enter the following:
CONCURE will know when its output is going to somewhere other than the
console and will execute without any need for you to type in extra
keystrokes. Note that each time CONCURE is run in this manner it will
add ten "Executing timing loop N..." statements to the output file.
These may easily be removed with your word processor or text editor.
Similarly, if you would like a hard copy of CONCURE's output (including
the ten "Executing" statements); make sure that an operational printer
is connected to the system and then enter the following:
If you do not already understand the different kinds of expanded memory
that are available and their importance to a DOS multitasking system
then you may want to read the MEMORY.TXT file included in this archive
before using CONCURE.
Interpreting CONCURE's Output
When CONCURE first starts up, it measures the system speed. During the
speed test a series of messages will be displayed informing you of its
progress. These messages will be replaced by the Sunny Hill copyright
notice: Immediately below this will be the version number and status of
the EMM manager installed in the system.
Regardless of the status of the memory manager, CONCURE will tell you
how the system performance compares to a standard PC and how much free
DOS memory is left in the system for running programs.
If an EMM device driver can not be located, CONCURE will describe the
type of memory manager hardware and/or software you will need. It will
also describe the performance that you can expect from this system
without any EMS capability.
If an operational EMM device driver is discovered, CONCURE will list the
number and size of the physical (virtual) EMS pages, the total and
avialable K-bytes of EMS, the size of the context save area and the
number of alternate mapping (AMRS) and DMA register sets.
The significance of each of these items is detailed in MEMORY.TXT.
The rules that are used by CONCURE to make judgements about a system's
operation are listed below.
- The minimum number of AMRSs should be one more than the maximum number
of processes you will want to have running simultaneously.
- The type of video adapter(s) installed in your system will effect the
maximum partition size. With an EGA or VGA graphics board, the display
memory starts at 640K. However, with monochrome and CGA systems, the
display memory begins above 640K and this leaves a "hole" in the
system memory that can be filled in with EMS pages. This "video
filling" increases the DOS workspace from 640K to 704K for a
monochrome system or 736K with a CGA.
- The space that is available for running "transient" (versus resident)
programs is known as the Transient Program Area (TPA). For our
purposes, this is the space available to DOS programs after OMNIVIEW
- All EMS systems require four standard EMS pages (64K) to be dedicated
to the page frame. These pages cannot be used for any other purpose.
- In order to load OMNIVIEW outside of the TPA, another 48K of physical
(virtual) EMS must be available.
- Any remaining physical (virtual) EMS pages may be used to fill in the
region from 640K to the bottom of the display adapters and to replace
- In order for processes to operate concurrently, they must be situated
in physical (virtual) EMS memory. Thus, the number of K-bytes of
physical (virtual) EMS that can be mapped into the TPA will determine
the maximum size of a program that can run concurrently.
- On anything less than an 80386 system, the extent to which you can
"backfill" may limit the maximum size of a concurrent process because
EMS memory cannot be mapped into existing conventional memory. On
these machines the maximum size of a concurrent processes may be
smaller than the available TPA.
- If there are not enough mappable EMS pages to hold a process which
must run concurrently then that process must be nonswappable and all
other processes must simultaneously fit inside the TPA.
- The K-bytes of logical EMS in the system will determine the maximum
number of maximum sized partitions that can be created.
On anything less than a 80386 system, if your motherboard does not allow
you to backfill to the level suggested by CONCURE then the actual size
of your concurrent partitions will be less than shown. For example, if
CONCURE says that by backfilling to 64K your system will support 620K
concurrent processes but your motherboard will only allow backfilling to
256K then your largest concurrent partition size would be (620 -
(256-64)) = 428K.
On PS/2 systems model 50 and above, Compaq 80386SX systems, or systems
that have networking and terminal emulator cards, you may not have 48K
free in the 640K to 1M region and OMNIHIGH will not work. In these
cases you will have to reduce the indicated partition size by 48K.
When CONCURE has completed its analysis of the system's multitasking
capability it will pause. When you type something, if you have a LIM 4.0
system, CONCURE will illustrate the current mapping of the physical
(virtual) EMS pages.
CONCURE may provide you with diagnostic information if it is unable to
function as designed. These messages are described below.
EMM Status Messages:
Malfunction in expanded memory sofware detected.
Malfunction in expanded memory hardware detected.
Attempt by CONCURE to use an undefined function.
Attempt by CONCURE to use an undefined sub-function.
Access to function denied by operating system/environment.
The messages above may appear by themselves or in combination
with another message. These messages describe an error condition
reported by the expanded memory manager software. The first two
indicate a serious error in the EMS system. If rebooting you
machine does not remedy the problem, contact your dealer.
The second two indicate a problem with CONCURE. Since this
software has been thoroughly tested, it is likely that the file
is corrupted: restore CONCURE.EXE from your backup.
The last message means that CONCURE attempted to utilize
operating system EMS functions when another program has denied
access to them. OMNIVIEW will force such an error. Exit from
the other program and then run CONCURE.
CONCURE EMM Error Messages:
ERROR: Could not obtain physical page count.
ERROR: Could not determine physical page allocation.
ERROR: Could not obtain hardware information.
ERROR: Could not obtain logical page count.
ERROR: Could not obtain save area size.
ERROR: Could not get physical page map.
These messages indicate what CONCURE was attempting to do when
an error was reported by the expanded memory manager software.
Each of these messages will be accompanied by an EMM Status
Message describing the type of error reported by the EMM device
CONCURE Memory Error Messages:
ERROR: Not enough memory to map physical pages.
This indicates that CONCURE did not have enough DOS memory to
display all of the physical pages which your EMS system
provides. Try removing some resident utilities before running
CONCURE. If you are running concure from another program such as
a DOS menu, unload the shell and try again.
[End of CONCURE.DOC]