home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frostbyte's 1980s DOS Shareware Collection
/
floppyshareware.zip
/
floppyshareware
/
GLEN
/
QW12INST.ZIP
/
PROTMAN.TEC
< prev
next >
Wrap
Text File
|
1991-09-30
|
5KB
|
114 lines
ID:PR Using Optimize with PROTMAN.DOS
Quarterdeck Technical Note #207
by the Quarterdeck Compatibility Dept.
PROTMAN.DOS is the protocol manager for Microsoft's MS-DOS LAN
Manager. It is also used in 3COM's 3Open network configuration,
and in many other network software configurations. PROTMAN is a
device driver that is loaded from the CONFIG.SYS file, and is
usually the first piece of network software loaded.
PROTMAN.DOS seems to need only 100 bytes or so of memory for
itself, but it puts a chunk of additional code in available
memory, 32K from the top of whatever region of memory it is loaded
into. This code, which is used by other network programs that
make calls to PROTMAN, is completely exposed to any other program
that allocates memory from DOS. The PROTMAN programmers,
realizing that this exposed code would only be exercised by other
network drivers and TSR's, no doubt assumed that it would not be
overwritten until after it was no longer needed. This assumption
is not necessarily valid when programs are being loaded between
640K and 1024K.
Among the possible consequences of PROTMAN's unusual behavior:
1) Any program loading high into a region with PROTMAN is likely
to bomb the code that PROTMAN places in available memory, thus
causing subsequent network programs to fail.
2) PROTMAN writes some of itself 32K from the top of its memory
region, regardless of the size of the region. If you load PROTMAN
in a 32K region between 640K and 1024K, it will write right over
itself, and the system will hang as PROTMAN loads in the
CONFIG.SYS routine. If you load PROTMAN in a 16K region, it will
write over something beneath it in memory, with unpredictable
results.
3) LOADHI's /GETSIZE (/GS) parameter writes its signature
throughout available memory as a method of determining how much
memory a driver or TSR uses when loading. When used after
PROTMAN, LOADHI /GS will overwrite PROTMAN's exposed code, which
is in memory that DOS reports as unused. In such a case, network
programs that load after PROTMAN and make calls to it usually hang
the system, giving an Exception #13 error on systems using QEMM-
386.
4) Optimize, which relies on LOADHI /GS, will likely fail in the
Detection Phase when PROTMAN is loaded. The system will usually
hang, not when PROTMAN loads, but when one of the subsequent
network drivers or TSR's loads.
------------------------------
We have tested a method which lets users run Optimize on PROTMAN
systems without getting Exception #13's during the Detection
Phase. This method should leave your system configured in such a
way that all four of the above dangers are avoided.
1) Place the RAM parameter on QEMM-386 or QEMM-50/60, or install
QRAM in the CONFIG.SYS file. Reboot, and make sure that the
biggest High RAM region (as reported on Manifest's First
Meg/Overview screen) is at least 33K in size.
If the largest High RAM region isn't at least 33K big, you cannot
run Optimize with PROTMAN, and you should not proceed to step 2.
Instead, you should manually place LOADHI.SYS and LOADHI.COM on
every line in the CONFIG.SYS and AUTOEXEC.BAT file that contains a
program that you want to load high. (See the LOADHI chapter in
your QEMM or QRAM manual for more details.) Do not, however,
place LOADHI on the PROTMAN line. Then, reboot without running
Optimize. This configuration should let you successfully load
most of your programs high.
2) If you have any programs that allocate Upper Memory Blocks
(UMB's) through the Extended Memory Specification, you may wish to
stop them from doing so (by using the programs' own parameters)
before proceding further. Such programs can interfere with
Optimize's calculations under any circumstances; with the
procedure that we are about to use, a program that allocates a UMB
may cause network drivers or TSR's to fail.
3) If your biggest High RAM region is 33K or larger, start
Optimize. Let Optimize modify your CONFIG.SYS and AUTOEXEC.BAT
files in preparation for the Detection Phase. When you see the
Optimize screen titled "DETECTION PHASE," hit Esc, then F1, to
break out of Optimize.
4) Use an editor to edit the PROTMAN line in the CONFIG.SYS file.
Remove all the parameters to LOADHI.SYS on that line. (There
should be two: a /GS parameter that directs the /GETSIZE data to
LOADHI.OPT, and a LABEL parameter.) Leave LOADHI.SYS and all
PROTMAN's parameters on the line. And let all the other lines
alone.
For example, if the PROTMAN line in the CONFIG.SYS says:
DEVICE=C:\QEMM\LOADHI.SYS /GS:C:\QEMM\LOADHI.OPT /LABEL:AB
...C:\LANMAN\PROTMAN.DOS /I:C:\LANMAN\PROTOCOL.INI
...then change the line to:
DEVICE=C:\QEMM\LOADHI.SYS C:\LANMAN\PROTMAN.DOS
.../I:C:\LANMAN\PROTOCOL.INI
5) Reboot and let Optimize complete normally.
-------------------------------
When you're all done, PROTMAN will be loaded low, but it only uses
100 bytes or so. All other programs will be Optimized.
Copyright (C) 1991 by Quarterdeck Office Systems
* * * E N D O F F I L E * * *