Contents of the SST.DOC file
SST - THE SEEK STOPPER
Alfred J. Heyman
Feel free to copy and share SST with others so long as it
is distributed in its unmodified form and as long as no
disk copy or duplication fee is charged. The Author
reserves the sole right to distribute SST for profit.
If you find SST to be useful, And/Or would like to be
notified about getting possible future SST enhancements,
you can become a registered SST user by Sending $10 to the
Author at the Address below.
Alfred J. Heyman
P.O. Box 172101
SST may not be used in a commercial environment without
the above mentioned registration. Source code is
WHAT IS SST?
SST is a program that is designed to reorganize a DOS disk
so that it will run "Faster". Normal daily use of a disk
will produce a disk with many fragmented files and
subdirectories. Simply put, these are files that are not
completely contiguous or together, but are spread out all
over the disk. These fragmented files and subdirectories
slow disk access down because DOS must tell the Disk Head
to Seek to other parts of the disk to pick up other parts
of the same file. For example, your disk might have three
files on it that we will call A,B,and C. Different parts
might be arranged as follows....
AAAAAAABBBBBBBBAAAC CCAAABBBB CCC
SST would reorganize the three files so that all of their
parts would be contiguous....
This change would shorten the amount of time that it takes
DOS to read in the file. If a subdirectory is fragmented,
fixing it will speed up disk access time even more
Syntax: SST [d:] [ TEST] [ CLEAR]
TEST - will run SST in a READ-ONLY mode. No
alterations will be made to the disk.
CLEAR - will Clear move all erased entries in all
directories to the ends of those directories.
SO WHATS SO GREAT ABOUT SST?
The main difference between SST and other Disk Optimizing
programs is the way that SST achieves the end result. SST
was designed to be FAST. SST is also NOT copy-protected
and never will be.
SST reads in all of the data that it will need during the
run session and Keeps this information in memory.
Specifically, SST uses DOS Interrupts 25h and 26h to look
at the boot track and other parts of the disk.
Information about the disks' characteristics are stored
there. SST makes a quick comparison of the data it gets
here with what DOS thinks about the disk. If these two
sets of data agree with each other, SST will read in the
disks File Allocation Table, Root Directory and All
subdirectories. ALL of this information is kept in memory
during the SST session.
SST then decides on the best way to reorganize the disk's
clusters. When this is finished, the user is prompted (Y
or N) to continue or not.
A "Y" response to the above question will start the File
Cluster Swapping procedure. Here, the actual file data is
physically moved. All data is buffered IN MEMORY. When
SST is finished SWAPPING, it then updates the File
Allocation table on the disk, and all directories.
Some disk optimization programs use the slower and safer
method of buffering file data to the disk. While this
practically eliminates the chances of data losses because
of accidents such as power failures, it makes the program
run incredibly slow on a nearly full disk.
WARNING: It is strongly advised that the user back up his
disk before using SST. Since SST buffers all Data,
Tables, and Directories to Memory,
IF A POWER FAILURE OCCURS WHILE CLUSTER SWAPPING IS IN
ACTION... ALL DATA WILL BE LOST.
The Same thing goes for ANY interruption during the SWAP
procedure. Simply LEAVE SST alone after pressing "Y" when
SST assumes that all disk sectors that are bad are so
marked in the File Allocation Table. If you have a Hard
disk that causes you problems... I.E. it develops
unexpected bad Sectors regularly, Don't use SST on it
unless you have verified that the disk is currently OK.
One way of doing this is with Peter Norton's DiskTest
Program in his Norton Utilities Package. (CopyRight Peter
THE SST USER:
SST is intended for Computer users who have the ability to
quickly back up their disk and who don't have the time to
waste for a simple disk optimization. Other disk
optimizers can take many hours to work on a LARGE/FULL
disk. SST can usually handle these more quickly. For
Example, SST has reorganized a 32 MEG Hard disk on an AT
compatible in under 30 minutes. This particular
Optimization moved over 20 Meg of data. Zero Bytes were
free on the disk.
SST is designed to run only in a single user, non-multi-
tasking system without stay resident programs installed.
SST can perform an optimization on almost any standard DOS
disk up to 32 Megabytes in size as long as sectors are 512
bytes long. However, it should be noted that SST needs a
lot of memory to work with Bigger disks. If SST runs out
of memory, a runtime error FF will halt the program. This
error typically occurs while SST is reading in the
Subdirectories and before anything is moved or changed on
the disk. SST's Memory allocation routines will look to
see if enough memory is available when the "BIG BYTES" are
needed. A lack of memory returns a message along with the
Runtime Error FF message. The Smaller Dynamic Memory
allocations are not PreChecked. These routines are called
many times... (Thousands of times on Hard disks) and it
would slow things up a great deal to do a bunch of
calculations every time that 16 bytes were needed,
especially since SST's Library Routines AUTOMATICALLY
check on Stack/Heap memory availability in order to
generate this Runtime Error.
If SST just can't quite make it to the SWAPPING procedure
with the memory that you have, you can do a few things to
try and get it to run.
Simply do a cold boot without any unneeded device drivers
like ANSI.SYS in the system. Temporarily rename your
CONFIG.SYS file to something else and boot up without any
of the other DOS parameters that you may specify that eat
up memory (BUFFERS=##). SST does not use Dos' DISK buffers
to move any disk cluster data. Don't run ANY Stay Resident
programs before SST. The extra 1 or 2K of free memory
gained with these methods has proven to be enough before!
MEMORY USAGE SPELLED OUT:
SST uses 16 bytes of memory for every used cluster on the
disk. This translates to 262k for a completely full 32Meg
Hard disk. SST uses 32 bytes of memory for every active
directory entry on the disk. One thousand files would use
up 32000 bytes of RAM. SST will buffer out one complete
copy of the File allocation Table. This would use up
another 32K of ram on a 32Meg Hard Drive. The program
also needs another 64k for dynamic variables when run on a
As you can see, this all adds up very quickly. If you
plan to run SST on a 32Meg drive, you will need at LEAST
512K, If you have 640K, you should not have memory
problems with SST and a 32 Meg Drive.
For smaller drives such as 20 Meg and 10 Meg, The memory
requirements are much lower.
* DISCLAIMER *
The author makes no claims or guarantees about the use
misuse, or suitability of SST on a particular computer.
It is the users duty to take adequate precautions to
prevent and recover from any accidental data loss because
of power failure or any other cause.