home *** CD-ROM | disk | FTP | other *** search
-
- FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
-
-
-
- 1mNAME
-
- 0mFastDisk - Disk-Optimizer/Copier
-
- 1mSYNOPSIS
-
- FastDisk 0m[ [FROM] <device> ] [ [TO] <device> ]
- [ FORMAT | NOFORMAT ] [ VERIFY | NOVERIFY ]
- [ [FILESYSTEM] FFS | SFS | SRC | DEV ]
- [ [BUFFERMODE] HUMBLE | FAIR | GREEDY | IGNORANT ]
- [ [DISPLAY] CLI | WINDOW ]
-
- 1mDEFAULTS
-
- FastDisk 0mDF0: TO DF1: FORMAT NOVERIFY DEV GREEDY WINDOW
-
- 1mOVERVIEW
-
- FastDisk 0mis a high-performance disk optimizing tool which
- decreases access time for files and directories. This is
- achieved by creating a disk with an optimized sector layout,
- including linear directory layout, .info and small file
- precedence and minimized track-boundary crossing for data
- blocks.
-
- 1mFastDisk 0mwill work with any 4mAmigaDOS0m device of any size
- provided that the underlying Exec-device supports
- trackdisk.device commands (i.e. all block-oriented
- Exec-devices).
-
- 1mFastDisk 0msupports blocksizes other than 512 Byte.
-
- 1mFastDisk 0msupports the standard 4mAmigaDOS0m filesystem, the fast
- filing system and automatic or forced filesystem
- conversion.
-
- 1mFastDisk 0mperforms intelligent block pre-caching, reducing
- execution time to that of a standard 4mDiskCopy0m or less.
-
- 1mFastDisk 0mhas four different modes of operation, ranging from
- a minimum memory mode without block caching to reckless
- memory eating for maximum performance.
-
- 1mFastDisk 0mis able to detect low-memory situations (via
- 3mASDG-LowMem.library 0m) and will release allocated non-vital
- memory if these occur.
-
- 1mFastDisk 0mhas a nice intuition-interface, but can also be
- used in a CLI-only mode and can take its parameters from the
- commandline, WorkBench-Tooltypes, Manx environment and
- Commodore ENV: environment.
-
- 1mFastDisk 0mruns under KickStart 1.2 / 1.3 and 2.0 and needs
- the 3marp.library(V.39+) 0mto run. The 3mASDG-LowMem.library 0mis
- recommended for full functionality but not mandatory.
-
-
-
-
- Torsten Stolpmann -1- Version 1.9
-
-
- FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
-
-
- 1mDESCRIPTION
-
- FastDisk 0mcan be started from either 4mWorkBench0m or 4mCLI0m. The
- following 4mCLI0m parameters are possible:
-
- 1mFROM 0m<1mdevice0m>
-
- Using the 1mFROM 0mparameter you may specify the source device
- which contains the 4mAmigaDOS0m volume you want to optimize.
- The ':' character must be included for the device name to be
- recognized. The 1mFROM 0mkeyword is optional and may be
- omitted.
- Default source device is 4mDF00m:.
-
- 1mTO 0m<1mdevice0m>
-
- Using the 1mTO 0mparameter you may specify the destination
- device which contains the disk to be overwritten with the
- contents of the source disk. The 1mTO 0mkeyword is optional and
- can be omitted unless you want to specify the destination
- device before the source device, in which case it is
- mandatory. The ':' character must be included for the
- device name to be recognized.
- Default destination device is 4mDF10m:.
- Please note that source and destination may not be equal,
- 'on-disk' optimization will be covered in the next release.
-
- 1mFORMAT
-
- 0mThis parameter tells 1mFastDisk 0mto format the whole
- destination disk. This is needed for unformatted disks and
- generally useful for every optimization because it wipes out
- all former contents of the destination disk, which may
- irritate disk-repair utilities such as 4mDiskDoctor0m or 4mFixDisk0m
- (especially 4mDiskDoctor0m, it gets confused often). This is
- the default option.
-
- 1mNOFORMAT
-
- FastDisk 0mwill only write those tracks which contain data,
- speeding up the optimization (with the above
- disadvantages). If 1mFastDisk 0mdetects an unreadable disk in
- the destination device this option is automatically switched
- to 1mFORMAT0m.
-
- 1mVERIFY
-
- 0mThe complete destination disk will be scanned for
- read-errors after the optimization.
-
- 1mNOVERIFY
-
- 0mNo verification of the destination disk. This is the
- default option.
-
-
-
-
-
-
- Torsten Stolpmann -2- Version 1.9
-
-
- FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
-
-
- 1mFILESYSTEM SFS
-
- 0mThe destination disk will be a standard file-system disk.
- The 1mFILESYSTEM 0mkeyword is optional.
-
- 1mFILESYSTEM FFS
-
- 0mThe destination disk will be a fast file-system disk.
- The 1mFILESYSTEM 0mkeyword is optional.
-
- 1mFILESYSTEM SRC
-
- 0mThe destination disk will have the same file-system type as
- the source disk.
- The 1mFILESYSTEM 0mkeyword is optional.
-
- 1mFILESYSTEM DEV
-
- 0mThe destination disk will have the file-system type which is
- supplied by the 4mMountList0m entry 4mDosType0m for the destination
- device. If this entry is not present (KickStart 1.3 and
- earlier) default is the standard file-system.
- The 1mFILESYSTEM 0mkeyword is optional.
- This is the default option.
-
- 1mBUFFERMODE HUMBLE
-
- 0mIn 1mHUMBLE 0mmode 1mFastDisk 0mwill allocate as little memory as
- possible to do the optimization. This of course leads to a
- cutdown in execution speed, due to the lack of
- block-caching. The advantage of this option is the constant
- memory usage after initialization. In all other modes,
- memory will be dynamically allocated when needed.
- The 1mBUFFERMODE 0mkeyword is optional.
-
- 1mBUFFERMODE FAIR
-
- 0mWith this mode selected, all memory currently not used will
- be returned to the system immediatly and block-caching will
- be turned on. When receiving a notification of a Low-Memory
- situation (via 4mASDG0m-4mLowMem0m.4mlibrary0m if installed) memory used
- for pre-cached blocks will be given back and 1mFastDisk 0mwill
- continue its operation in 1mHUMBLE 0mmode.
- The 1mBUFFERMODE 0mkeyword is optional.
-
- 1mBUFFERMODE GREEDY
-
- 0mUnused memory is cached to avoid subsequent 4mAllocMem0m() -
- 4mFreeMem0m() calls. 1mFastDisk 0mwill honor Low-Memory situations
- by freeing non-vital memory, but will continue in 1mGREEDY
- 0mmode.
- The 1mBUFFERMODE 0mkeyword is optional. This is the default
- option.
-
-
-
-
-
-
-
- Torsten Stolpmann -3- Version 1.9
-
-
- FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
-
-
- 1mBUFFERMODE IGNORANT
-
- FastDisk 0mwill ignore all Low-Memory situations and will keep
- all memory until completion. 1mFastDisk 0mwill also raise its
- Task-Priority to 1.
- The 1mBUFFERMODE 0mkeyword is optional.
-
- 1mDISPLAY CLI
-
- 0mWith this option 1mFastDisk 0mwill not open its Intuition-Window
- and will use the CLI-Window it has been started from for
- output. All neccessary parameters differing from the
- default/environment settings must be provided in the command
- line.
- 1mFastDisk 0mwill ask you to insert the source/destination disks
- in the appropriate devices and to press <RETURN>. When
- started non-interactive (for example with 3mRun FastDisk)
- 0m1mFastDisk 0mwill start immediatly, making it possible to use it
- in a script or the startup-sequence.
- The 1mDISPLAY 0mkeyword is optional.
-
- 1mDISPLAY WINDOW
-
- 0mWith this option 1mFastDisk 0mwill open its Intuition-Window
- where all of the above options can be selected via Gadgets.
- The 1mDISPLAY 0mkeyword is optional.
- This is the default option.
-
- All the above parameters can be specified in the environment
- variable 4mFASTDISKOPTS0m also (for example: 3mSet
- FASTDISKOPTS="VERIFY BUFFERMODE FAIR") 0mto override the
- default settings.
-
- The WorkBench-Tooltype settings are of the form
- 3mKEYWORD=OPTION 0mwhere 3mKEYWORD 0mis one of 1mFROM0m, 1mTO0m, 1mFILESYSTEM0m,
- 1mBUFFERMODE0m, 1mFORMAT 0mand 1mVERIFY 0mand 3mOPTION 0mone of the options
- listed above (the valid options for 1mFORMAT 0mand 1mVERIFY 0mare 1mON
- 0mor 1mOFF 0m). When started from Workbench, 1mFastDisk 0mwill always
- open its Intuition-Window.
-
- CLI-Parameters and ToolTypes will override the default and
- environment settings.
-
- You can use 1mFastDisk 0mwith any combination of devices. The
- only condition that must be fulfilled is that the data on
- the source device must fit onto the destination device.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Torsten Stolpmann -4- Version 1.9
-
-
- FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
-
-
- 1mTECHNICAL NOTES
-
- 0mMEMORY REQUIREMENTS
-
- Every effort was taken to make memory-usage as low as
- possible while retaining maximum performance. Each
- file/directory/link on the source disk is represented
- internally by a 32-Byte structure which contains all the
- necessary information. This and a dynamic map of pre-cached
- sectors (only for non-humble modes) are the main
- memory-sinks. By comparison, additional memory allocation
- is neglegible. 1mFastDisk 0mdoes not rely on large contigous
- memory-areas like many other optimizers. Using 1mHUMBLE 0mmode,
- it is possible to optimize a 30 MB Harddisk-Partition with
- 512 KB Amigas. 1 MB Memory should be sufficient for 130 MB
- Partitions. These are rough estimates, as memory usage
- mainly depends on the number of files, not on the size of
- the partition.
-
- OPTIMIZATION METHODS
-
- In this release I have tried to achieve the following three
- optimization-goals.
-
- Goal 1: Fast directory listings
-
- This is done by placing all file-headers in the same
- physical order on the disk as read by the filing system,
- including the ascending sorting of hash-chains which is
- required for the correct behaviour of the ExNext() function
- in KickStart 2.0. In addition these blocks are centered
- around the RootBlock. Directory blocks are placed
- immediatly after the root and bitmap blocks for fast access
- to deeper nested levels.
-
- Goal 2: Fast read-access for 3mspecial 0mFiles
-
- To obtain minimum access time for small or often accessed
- files, the data blocks of these files are placed immediatly
- after the corresponding header blocks. These 3mspecial 0mfiles
- include all files which contain only one or two data blocks
- or whose names are 'System-Configuration',
- 'Startup-Sequence', 'MountList' or 'Shell-Startup' or end in
- '.info'. This has a negative influence on Goal 1,
- especially with directories containing many special files
- (by increasing the number of tracks to be read), but is more
- efficient (regarding the advantages).
-
- Goal 3: Minimimum track boundary crossing
-
- The remaining sectors on the destination disk are filled
- with the data-sectors of the non-special files. This is
- done in such a way, that each file will cross as few track
- boundaries as possible, so that the number of track-seeks
- and (for track-oriented devices such as trackdisk.device)
- the number of complete tracks to be read is minimized.
-
-
-
-
- Torsten Stolpmann -5- Version 1.9
-
-
- FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
-
-
- 1mBUGS0m/1mLIMITATIONS
-
- 0m- 4mSoftlinks0m are not supported, since Kickstart 2.0 does
- currently not support them (V37.166). 1mFastDisk 0mis able to
- detect and suppress Softlinks (they will not be present on
- the destination disk).
-
- - The 4mMountList0m entries 4mBootBlocks0m, and 4mInterleave0m are
- ignored in this release.
-
- - 1mFastDisk 0mshould detach itself if the 1mWINDOW 0moption is
- provided.
-
-
- 1mLEGAL STUFF 0m/ 1mDISTRIBUTION
-
- FastDisk 0mVersion 1.9 is Copyright 1991 by Torsten Stolpmann,
- all rights reserved.
-
- The author takes absolutely no responsibility for the
- functionality or the possible damage done by this software.
- Use this at your own risk.
-
- 1mFastDisk 0mVersion 1.9 is freely distributable for
- non-commercial purposes.
-
- The author hereby grants Fred Fish the right to include this
- software in his library of freely distributable software.
-
- Lots of time and sweat were spent to make this an efficient,
- reliable and hopefully useful tool.
- If you like 1mFastDisk 0mand you can spare some money, I won't
- object if you send some.
-
- Send flames, suggestions, bug reports and lots of money to
- the following adress:
-
- Torsten Stolpmann
- Wilhelm-Raabe-Str. 26 / App. 911
- W 6750 Kaiserslautern
- Germany
-
- Phone: 0631/22781
-
- You may also send email to: stolp@informatik.uni-kl.de
-
- The adress above is valid upto November 1991.
- The new adress will then be:
-
- Industriestr. 7
-
- W 6750 Kaiserslautern
-
- (No new phone-number yet)
-
-
-
-
-
-
- Torsten Stolpmann -6- Version 1.9
-
-
- FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
-
-
-
-
- 1mACKNOWLEDGEMENTS
-
- 0mThis document was created with 1mnroff 10m.1m5 0m- ported by Olaf
- Seibert (KosmoSoft).
-
- Window, Requesters and Gadgets were created with 1mGadgetEd
- 20m.1m3 0mby Jan van den Baard (Jaba Developments).
-
- 1mFixDisk 10m.1m2 0mby Werner Günther was an often used tool for
- Disk-Validation during development.
-
- Jörg Mayer hacked up the fmsdisk.device to emulate disks of
- any size. This way it was possible to test 1mFastDisk 0mon 330
- MB Partions with a 30 MB Harddisk.
-
- Additional thanks for suggestions, beta testing, manual
- proofreading and bug reports to:
-
- Jörg Mayer, Bernd Reh, Deon Ramsey, Volker Rudolph and
- Oliver Wagner and all the others who have sent letters or
- email ...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Torsten Stolpmann -7- Version 1.9
-
-
- FastDisk(1) AMIGA Programmer's Manual FastDisk(1)
-
-
- 1mHISTORY
-
- 0mVersion 1.5:
-
- First public release (1987).
-
- Version 1.8:
-
- Second public release (1989) (minor rewrite).
-
- Known Bugs removed:
-
- 1.5 can't process files with length 0.
- Performance loss if out of memory.
-
- New Features:
-
- Fast memory support (1.5 used only chipmem).
- Supports all kinds of devices (1.5 only supported
- trackdisk.device).
- Manx-Style environment support.
-
- Version 1.9:
-
- Third public release (July 1991) (complete rewrite).
-
- Known Bugs removed:
-
- No bugs reported.
-
- New Features:
-
- Fast-FileSystem support.
- Intuition interface.
- Low-Mem library support.
- New asynchronous I/O routines.
- Algorithm for minimized track boundary crossing of file
- data-blocks.
- New memory managment.
- Removed necessity to hold Header-Blocks in memory.
- Support for different blocksizes.
- Verify mode added.
- Lots more...
-
- There exists also a program called 3mFastDisk II 0mwritten by
- Oliver Wagner (published on Fish Disk). This is mainly an
- 'enhancement' of Version 1.5 with an Intuition-Interface.
- This program is completely useless due to a serious bug
- created by the global optimizer. Don't blame me for that
- version, it was released before I could test or authorize
- it. Due to this incident there will be no more source-code
- releases of 1mFastDisk0m.
-
- See ya in version 2.0 ...
-
-
-
-
-
-
- Torsten Stolpmann -8- Version 1.9
-
-