home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-01-18 | 44.9 KB | 1,195 lines |
-
-
-
-
-
-
-
- Super Virtual Disk
-
- Swappable/Lockable/Removable Virtual Disk
- for OS/2
-
- SVDISK
- Version 1.18
- 01/18/96
-
-
-
- TABLE OF CONTENTS
- _________________________________________________________________
-
- 1.0. INTRODUCTION TO Super Virtual Disk ..................3
- 1.1. What is Super Virtual Disk? ....................3
- 1.2. Features of SVDisk .............................3
- 2.0. SYSTEM REQUIREMENTS .................................4
- 3.0. COPYRIGHT NOTICE ....................................4
- 4.0. WARRANTY ............................................4
- 5.0. COST OF Super Virtual Disk ..........................4
- 6.0. CONTENTS OF THIS PACKAGE ............................5
- 7.0. INSTALLATION ........................................6
- 7.1. Quick start ....................................6
- 7.1.1 Manual installation ......................6
- 7.1.2 Drive letter arrangement with CD-ROM
- drive ..........................................7
- 7.2. SVDisk.sys parameters ..........................7
- 8.0. CONTROLLING Super Virtual Disk ......................9
- 8.1. Super Virtual Disk Control help screen .........9
- 8.2. Options for SVDC ...............................10
- 8.3. PM Super Virtual Disk Control ..................12
- 8.4. Using XDF VFloppy for XDF image files ..........12
- 8.5. Formatting SVDisk as HPFS ......................13
- 8.4.1 HPFS Diskettes ...........................15
- 8.4.2 HPFS386 on IBM LAN Server Advanced
- Edition ........................................17
- 8.6. Diskette boot bypass using VFloppy .............17
- 9.0. PROGRAMMING INFORMATION .............................18
- 10.0. EXAMPLES ...........................................19
- 10.1. Example 1: Locking non-swappable memory and
- querying status .....................................19
- 10.2. Example 2: Ejecting virtual media .............19
- 10.3. Example 3: Reconfiguring VFloppy device .......20
- 10.4. Example 4: Inserting virtual media ............20
- 10.5. Example 5: Multiple operations ................20
- 11.0. ERROR MESSAGES .....................................21
- 11.1. List of error messages ........................21
- 12.0. BACKGROUND INFORMATION .............................21
- 13.0. ACKNOWLEDGMENTS ....................................21
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
- 1.0. INTRODUCTION TO Super Virtual Disk
- _________________________________________________________________
-
- 1.1. What is Super Virtual Disk?
-
- Super Virtual Disk (SVDisk) is a 32-bit OS/2 device driver that
- emulates either a removable Virtual Disk (VDisk) or a removable
- Virtual Floppy (VFloppy) drive. By using OS/2's virtual memory
- management facility, SVDisk allows the entire contents of the
- disk to be swapped out via the paging mechanism. If the SVDisk
- is frequently accessed, OS/2 will keep the most recently used
- memory pages in RAM, and SVDisk will essentially behave like a
- RAM Disk.
-
- 1.2. Features of SVDisk
-
- - Emulates multiple VDisk devices up to 16MB each even on a 4MB
- system. Cluster size is maintained at 512 bytes by varying
- the size of the File Allocation Table (FAT) to reduce file
- slack.
- - Emulates multiple VFloppy devices, ranging from 360KB to
- 2.88MB. Virtual media support ranges from 160KB to 1.2MB for
- 5.25" VFloppy device, and from 720K to 2.88MB for 3.5" VFloppy
- device. If the VFloppy is a 3.5" device, automatic media
- sensing is supported.
- - eXtended Density Format (XDF) support for OS/2 Warp V3 XDF
- diskette image files. This includes 1.52MB, 1.84MB and 3.68MB
- XDF diskettes. Utility is included to transfer XDF image file
- to and from XDF VFloppy.
- - Removable media support. This allows SVDisk to release all
- memory used by the device back to the system.
- - Dynamic device reconfiguration is supported for the VFloppy
- device. A VFloppy device can be reconfigured (without
- rebooting) to any other VFloppy drive or XDF drive.
- - HPFS formatting program for SVDisk. Mounting and unmounting
- of HPFS onto SVDisks are supported. HPFS diskette support
- (diskette imaging program such as Disk eXPress is required.)
- - Special boot sector on VFloppy device to allow bypassing of
- floppy boot if the image of the VFloppy is transferred to a
- real diskette using DISKCOPY.
- - Formatting and sector/track read/write are supported.
- - SVDisk allows locking of swappable memory into non-swappable
- memory. Once memory is locked, SVDisk will behave like a RAM
- drive without paging delay. The size of the lock can be
- specified by the user, since locking the entire disk as non-
- swappable can have serious performance impact to OS/2's
- virtual memory operation.
- - A 32-bit command line utility and a 32-bit PM application are
- included to provide complete control of all the capabilities
- of SVDisk.
-
-
-
-
-
- 3
-
-
-
- 2.0. SYSTEM REQUIREMENTS
- _________________________________________________________________
-
- Machines equipped with an Intel 386SX compatible or higher
- processor. OS/2 2.1 or higher, with minimum 4MB of memory.
-
-
- 3.0. COPYRIGHT NOTICE
- _________________________________________________________________
-
- SVDisk (Super Virtual Disk) Version 1.18 01/18/95
- (C) Copyright 1994-96 by Albert J. Shan. All Rights Reserved.
-
- No part of this program may be disassembled, modified or altered
- by any means.
-
-
- 4.0. WARRANTY
- _________________________________________________________________
-
- I, Albert J. Shan, make no warranties, expressed or implied,
- including, but not limited to, merchantability or fitness for any
- particular purpose. In no event shall Albert J. Shan be liable
- for indirect or consequential damages arising from the use of the
- software program.
-
- You are free to redistribute this shareware package in its
- entirety. No part of this package may be included as part of a
- commercial package. If you have any questions about commercial
- distribution of Super Virtual Disk, I can be contacted via:
-
- CompuServe, ID 70730,401
- or Internet, 70730.401@compuserve.com
-
-
- 5.0. COST OF Super Virtual Disk
- _________________________________________________________________
-
- The user is granted a 30 days trial period, after which he or she
- is required to register or discontinue the use of the product.
- The cost of a single machine license is $30 U.S. Please refer to
- the file ORDER.FRM for details.
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4
-
-
-
- 6.0. CONTENTS OF THIS PACKAGE
- _________________________________________________________________
-
- The following files are included in this package:
-
- INSTALL.CMD - Installation command file
- SVDISK.SYS - Super Virtual Disk device driver
- SVDC.EXE - Super Virtual Disk Control
- PMSVDC.EXE - PM version of SVDC
- HFORMAT.EXE - SVDisk HPFS formatting utility
- HMOUNT.EXE - HPFS mounting/unmounting utility for SVDisk
- REREGSVD.EXE - SVDisk re-registration program
- XDFSVD.EXE - XDF Copier for SVDisk
- KWIKTOOL.MSG - English error message file, common to all
- EXE files.
- SVDISK.MSG - English message file for SVDISK.SYS and
- SVDC.EXE
- PMSVDC.MSG - English message file for PMSVDC.EXE
- HFORMAT.MSG - English message file for HFORMAT.EXE
- HMOUNT.MSG - English message file for HMOUNT.EXE
- XDFSVD.MSG - English message file for XDFSVD.EXE
- KWIKTOOL.GER - German error message file, common to all
- EXE files.
- SVDISK.GER - German message file for SVDISK.SYS and
- SVDC.EXE
- PMSVDC.GER - German message file for PMSVDC.EXE
- HFORMAT.GER - German message file for HFORMAT.EXE
- HMOUNT.GER - German message file for HMOUNT.EXE
- XDFSVD.GER - German message file for XDFSVD.EXE
- SVDISK.DOC - This documentation
- SVDISK.HST - History of SVDisk
- LICENSE.DOC - License agreement for registered users
- WARRANTY.DOC - Warranty information for registered users
- ORDER.FRM - Order form
- README - Last minute information
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5
-
-
-
- 7.0. INSTALLATION
- _________________________________________________________________
-
- 7.1. Quick start
-
- For automatic installation, please run INSTALL.CMD from an OS/2
- command prompt.
-
-
- 7.1.1 Manual installation
-
- To manually install SVDisk, make a subdirectory called SVDISK,
- and copy all the SVDisk files into \SVDISK. Then edit your OS/2
- CONFIG.SYS to include a line:
-
- DEVICE=D:\SVDISK\SVDISK.SYS
-
- Where D: is the drive where you created the SVDISK subdirectory.
-
- Add SVDISK to the path and dpath by appending D:\SVDISK at the
- end of the PATH= and DPATH= statement in CONFIG.SYS.
-
- English language message files are used by default. To use the
- German language message files, rename all *.MSG files to *.ENG,
- and rename all *.GER files to *.MSG.
-
- When you load SVDisk without any parameter as in the above
- example, it will create a 1.44MB VFloppy device after you reboot
- the system.
-
- When SVDisk is loaded, it does not put a media in the virtual
- drive. You have to manually insert it with SVDC or PMSVDC. To
- insert a virtual media after the system is booted, you type:
-
- SVDC X: /i:720
-
- Where X: is the drive letter of the SVDisk after boot.
-
- This will insert a 720KB virtual media into the drive. If you
- specify /i without any parameter, SVDC will insert a media with
- the maximum capacity as defined by the SVDisk.sys device in
- CONFIG.SYS. To make media insertion automatic, simply edit
- STARTUP.CMD on your OS/2 boot drive and add the SVDC line to it.
-
- Alternatively, you can insert the virtual media by using the
- CALL= statement in CONFIG.SYS:
-
- CALL=D:\SVDISK\SVDC.EXE X: /i:720
-
- If you want to install a 8MB VDisk type device, edit your
- CONFIG.SYS by adding a line:
-
- DEVICE=D:\SVDISK\SVDISK 8192 512
-
-
- 6
-
-
-
-
- This will create a 8MB VDisk device with 512 root directory
- entries after you reboot the system.
-
-
- 7.1.2 Drive letter arrangement with CD-ROM drive
-
- Starting with OS/2 2.1, a DASD (Direct Access Storage Device)
- Manager Driver (DMD) can be loaded as a device driver. This is
- the case for the CD-ROM device driver (OS2CDROM.DMD.) This
- arrangement allows another disk device driver to be positioned
- before or after the CD-ROM drive. To load a SVDisk with drive
- letter preceeding the CD-ROM drive, locate the DEVICE= statement
- containing OS2CDROM.DMD, and insert the SVDISK.SYS DEVICE=
- statement before it. To load a SVDisk after the CD-ROM, add the
- SVDISK.SYS DEVICE= statement after OS2CDROM.DMD.
-
-
- 7.2. SVDisk.sys parameters
-
- SVDisk.sys can be loaded with no parameter to up to two
- parameters. To load SVDisk as a VFloppy device, you must specify
- the size of the VFloppy device in KB. For example:
-
- REM *** Load a 1.44MB VFloppy device ***
- DEVICE=\SVDISK\SVDISK.SYS 1440
-
- REM *** Load a 2.88MB VFloppy device ***
- DEVICE=\SVDISK\SVDISK.SYS 2880
-
- REM *** Load a 360KB VFloppy device ***
- DEVICE=\SVDISK\SVDISK.SYS 360
-
- REM *** Load a 1.84MB XDF VFloppy device ***
- DEVICE=\SVDISK\SVDISK.SYS 1840
-
- The possible values for VFloppy device are: 360, 720, 1200, 1440,
- and 2880. Use 1520, 1840 and 3680 for XDF VFloppy. Since SVDisk
- defaults to a 1.44MB VFloppy device, the 1440 parameter can be
- omitted.
-
- To load SVDisk as a VDisk device, you can specify up to two
- parameters:
-
- DEVICE=\SVDISK\SVDISK.SYS ssss eeee
-
- Where ssss is the size of the VDisk device, and eeee is the root
- directory entries for the device. eeee is optional, and if you
- do not specify it, SVDisk will default to 64 root directory
- entries.
-
- The possible values for ssss are from 16 to 16384 (16KB to 16MB.)
- The VDisk device will always round up the size into 16KB
-
-
- 7
-
-
-
- boundary. If you specify a 250KB VDisk device, it will be loaded
- as 256KB.
-
- The possible values for eeee are from 16 to 1024. This value is
- also rounded up in multiple of 16.
-
- If you load a VDisk device near the size of 4MB, it will attempt
- to resolve the File Allocation Table (FAT) size as either 12-bit
- or 16-bit. In the case of conflict due to a large root directory
- entries specification, SVDisk will slightly reduce the VDisk size
- in favor of a 12-bit FAT for lower disk sector overhead in the
- system area on the virtual media.
-
- SVDisk distinguishes a VDisk device from a VFloppy device solely
- by the ssss (size) parameter. If ssss is one of the possible
- values for a VFloppy device, it will load itself as a VFloppy
- device, and the second parameter is ignored.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 8
-
-
-
- 8.0. CONTROLLING Super Virtual Disk
- _________________________________________________________________
-
- Two programs are provided to control the SVDisks: SVDC.EXE and
- PMSVDC.EXE. PMSVDC.EXE is the Presentation Manager version of
- SVDC.EXE.
-
-
- 8.1. Super Virtual Disk Control help screen
-
- Type SVDC at the OS/2 command prompt to receive this help screen:
-
- Super Virtual Disk Control (32-bit) Version 1.18 SHAREWARE VERSION
- (C) Copyright 1994-96 Albert J. Shan. All Rights Reserved.
-
- For use with Super Virtual Disk driver (SVDISK.SYS)
-
- Usage: SVDC [options] Drive:
- [options] /c Fake a disk change.
- /e[f] Eject media [f = forced eject].
- /i[:size] Insert media (if size is not specified, default
- to max. drive capacity.) Size can only be
- specified for the VFloppy device. Valid sizes
- are: 160, 180, 320, 360, 1.2, 720, 1.44, 2.88,
- 1.52, 1.84, 3.68.
- /l:size Lock SVDisk in non-swappable memory. Size
- is anywhere from 0 (KB) to the max. media size.
- /q Query SVDisk status
- /r[:size] Reconfigure VFloppy device capacity (if size is
- not specified, default to max. drive capacity.)
- Valid sizes are: 360, 1.2, 720, 1.44, 2.88,
- 1.52, 1.84, 3.68.
- /u Unlock non-swappable memory used by the SVDisk.
- Drive: Drive letter of the Super Virtual Disk.
-
- NOTE: The drive must not contain any media before reconfiguring with /r.
-
- *** Note: parameters within [] are optional.
-
- If you specify the drive letter of a SVDisk and without
- specifying any other options, SVDC will report the current status
- of the SVDisk drive as if the Query Status switch (/q) is
- specified. For example:
-
- [C:\SVDISK]svdc j:
-
- SVDISK.SYS Version: 1.18
- Default device size: 2.88MB
- Current device size: 2.88MB
- Current media size: 1.44MB
- Non-swappable memory locked: 128KB
-
-
-
-
- 9
-
-
-
- 8.2. Options for SVDC
-
- /c Fake a disk change. This command will cause the SVDisk
- specified to appear as if it has been changed (ejected
- then reinserted.) This is accomplished by changing the
- Volume Serial on the SVDisk. If the program in
- question is looking for a change in Volume Label or a
- DOS program is looking for a change line bit in
- hardware, /c will not work.
-
- /e[f] Eject media. This will eject the media in the SVDisk,
- thereby releasing all memory, including locked memory
- (see /l and /u below) back to the system. If a program
- is currently running off the SVDisk, you must specify
- /ef to force the disk to eject. Further access to the
- SVDisk drive will cause a drive not ready error.
-
- /i[:size] Insert media. If size is not specified, it will insert
- a media with exactly the same size as the SVDisk
- device. For example, if the VFloppy is 2.88MB,
- specifying /i alone will insert a 2.88MB media into the
- SVDisk drive. The optional size parameter is only
- applicable for a VFloppy device. This allows different
- size media to be inserted into the VFloppy drive. If
- the VFloppy is a 5.25" 360KB device, the possible
- values are: 160, 180, 320, and 360. If the VFloppy is
- a 3.5" 1.44MB device, the possible values are: 720 and
- 1.44. Depending on the type of VFloppy device, the
- possible values are: 160, 180, 320, 360, 1.2, 720, 1.44
- and 2.88. For XDF media, the possible values are:
- 1.52, 1.84, and 3.68. When the VFloppy device is an
- XDF device, only XDF media are supported.
-
- /l:size Lock virtual disk in non-swappable memory. This will
- cause the virtual memory allocated by SVDisk to be
- locked in real memory pages, and they will be precluded
- from swapping out by the system. The starting location
- of the lock is fixed at the beginning of the disk, at
- logical sector 0. The size parameter is anywhere from
- 0 to the maximum size of the media in the SVDisk. It
- will be rounded up in 4KB in size as OS/2 can only lock
- memory in 4KB page boundary. A size of 0 is equivalent
- to unlocking all the memory (see /u switch below.) If
- a lock already exists on the SVDisk, it will be
- released, and the new lock size will be installed. If
- there is not enough real memory for the lock, /l will
- fail, and at the same time, releasing any memory
- previously locked.
-
- The OS/2 kernel will swap out other processes in order
- to make room for the lock. This may take a while as
- pages are being swapped out. The system will not be
-
-
-
- 10
-
-
-
- responsive when the kernel is into heavy paging
- activities.
-
- WARNING: Locking memory as non-swappable has the same
- effect as removing system memory on the hardware level.
- If you have an 8MB system, locking a few mega bytes of
- memory will make your system appear as if it has 4MB
- total system memory or less. If the lock succeeds in
- locking large amount of memory, and the remaining non-
- swappable memory is extremely low, the OS/2 virtual
- memory paging mechanism will thrash. Although the
- system is not crashed, it will be paging in and out so
- frequently that the system can no longer respond to the
- user's input. You will need to press Ctrl-Alt-Del to
- recover in this case. In general, it is recommended
- not to lock more that one quarter of total system
- memory as non-swappable for all SVDisk devices
- combined. PMSVDC.EXE will limit the maximum of the
- lock to half of total system memory or the maximum disk
- size, whichever is less. On the other hand, SVDC.EXE
- is designed to be flexible, so any lock size is
- possible.
-
- /q Query SVDisk Status. The following is a typical SVDisk
- report:
-
- SVDISK.SYS Version: 1.18
- Default device size: 2.88MB
- Current device size: 2.88MB
- Current media size: 1.44MB
- Non-swappable memory locked: 128KB
-
- /r[:size] Reconfigure VFloppy device capacity. This switch is
- only applicable to the VFloppy device. It allows
- dynamic device reconfiguration while the system is
- running. Before you can reconfigure the VFloppy
- device, the media must be ejected first via the /e
- switch. Specifying /r alone will reconfigure the
- VFloppy device to the initial capacity as loaded by the
- device driver. The VFloppy device can be reconfigured
- to any other valid type of VFloppy device. For XDF
- device, the possible values are: 1.52, 1.84, and 3.68.
-
- /u Unlock non-swappable memory used by the SVDisk. This
- is the same as specifying /l:0. Locked memory is
- released as being swappable.
-
-
-
-
-
-
-
-
-
- 11
-
-
-
- 8.3. PM Super Virtual Disk Control
-
- The Presentation Manager version of Super Virtual Disk Control
- (PMSVDC.EXE) provides identical functions as SVDC.EXE with one
- exception. The lock function will limit the maximum available
- memory for the lock as half of total system memory or maximum
- media size, whichever is less. This means if you have 16MB of
- memory, and your VDisk device is 16MB, the largest memory size
- you can lock is 8MB. Many system boards reserve up to 384K of
- memory for shadow ROM and other purposes. This effectively
- reduces your total system memory. Instead of 16MB (16384KB), you
- get 16000KB total system memory under OS/2 and the maximum size
- for the lock in this case is 8000KB. The lock function also
- warns you if you are locking more than one quarter of the total
- system memory. If you have multiple SVDisk devices, PMSVDC will
- add up all memory locked by all SVDisk devices, subtract the
- existing lock size on the current device, then add the new
- requested size to see if it exceeds one quarter total system
- memory limit. In general, the total memory locked by all SVDisk
- devices should be less than one quarter of the total system
- memory to prevent OS/2 pager from thrashing.
-
-
- 8.4. Using XDF VFloppy for XDF image files
-
- In order to use an XDF (eXtended Density Format) image file on a
- VFloppy device, the VFloppy device must be reconfigured to one of
- the XDF type VFloppies. The available capacities for XDF
- diskettes are as follows:
-
- 5.25" 1.2MB media: 1520KB XDF (1.52MB)
- 3.5" 1.44MB media: 1840KB XDF (1.84MB)
- 3.5" 2.88MB media: 3680KB XDF (3.68MB)
-
- For example, if your VFloppy has drive letter J:, you can
- reconfigure it to 1.84MB XDF VFloppy as follows:
-
- SVDC J: /e
- SVDC J: /r:1.84 /i
-
- The included program, XDFSVD.EXE (XDF Copier for SVDisk) is
- designed for transferring XDF diskette images to and from an XDF
- VFloppy. XDFCOPY.EXE included in OS/2 Warp Version 3 is designed
- to transfer XDF images to and from a real diskette drive (A: or
- B:.) XDFCOPY.EXE cannot be used on an XDF VFloppy. And
- likewise, XDFSVD.EXE cannot be used on a real diskette drive.
-
- To transfer an XDF Image file to an XDF VFloppy:
-
- XDFSVD DISK5.DSK J:
-
-
-
-
-
- 12
-
-
-
- To transfer an XDF VFloppy to an XDF Image file:
-
- XDFSVD J: DISK5.DSK
-
- Here is a typical screen when you run XDFSVD:
-
- XDF Image file -> XDF SVDisk
-
- Press Enter to continue, Ctrl-C to stop...
-
- 75% written to SVDisk J:
-
- The "Press Enter to contiune..." prompt can be bypassed by
- specifying the /s switch (type XDFSVD by itself to see the help
- screen.)
-
- NOTE: When a VFloppy is used in XDF mode, it does not try to
- emulate the actual mechanism used by a real XDF diskette.
- It does not have the special boot sector and file system
- information of a real XDF diskette. The following
- scenario is not a valid way to create a real XDF diskette:
-
- - Reconfigure a VFloppy to an XDF VFloppy
- - Create files on the XDF VFloppy
- - Use XDFSVD to create an XDF image file
- - Use XDFCOPY to transfer the XDF image file to a real
- diskette
-
- The proper way for editing the contents of an XDF diskette
- via XDF VFloppy is as follows:
-
- - Reconfigure a VFloppy to an XDF VFloppy
- - Use XDFCOPY to create an XDF image file from a real
- XDF diskette
- - Use XDFSVD to transfer the XDF image file to the XDF
- VFloppy
- - Edit the contents of the XDF VFloppy
- - Use XDFSVD to create the new XDF image file
- - Use XDFCOPY to create the new XDF diskette
-
-
- 8.5. Formatting SVDisk as HPFS
-
- NOTE: Using the High-Performance File System (HPFS) on SVDisk
- requires special considerations and understanding of OS/2
- and the HPFS file system. THE ONLY SUPPORTED HPFS.IFS
- DRIVERS ARE THE ONES IN OS/2 2.1 AND OS/2 WARP VERSION 3.
- HPFS.IFS in OS/2 2.11 (ServicePak XR06200) is not
- supported due to a severe bug in the HPFS driver. If you
- are using OS/2 2.11, you must copy the HPFS.IFS driver
- from the original OS/2 2.1 installation diskettes
- (diskette 1). FAILURE TO USE THE CORRECT HPFS DRIVER WILL
- CAUSE SYSTEM CRASH WHEN DATA IS COPIED TO A HPFS SVDISK.
-
-
- 13
-
-
-
-
- Two utilities are included for handling HPFS on SVDisk:
- HFORMAT.EXE and HMOUNT.EXE. HFORMAT formats any SVDisk into HPFS
- file system format. It does it by temporary reconfiguring SVDisk
- to appear as a non-removable disk, and then calls the OS/2
- FORMAT.COM program to perform the HPFS formatting. HFORMAT will
- verify the drive to make sure it is a SVDisk before proceeding
- with FORMAT.COM. Once a SVDisk is formatted as HPFS, HFORMAT
- will reconfigure SVDisk back to a removable disk device. HFORMAT
- requires the SVDisk media to be at least 1MB in size. Since HPFS
- requires approximately 200KB for the file system structures, it
- is not pratical to have HPFS on a low capacity media.
-
- Before you can format a SVDisk as HPFS, the HPFS.IFS driver must
- be installed. If you are not using HPFS, you can install the
- HPFS driver using Selective Install in the System Setup folder.
- HPFS is usually installed as the first line in CONFIG.SYS. A
- typical HPFS.IFS line in CONFIG.SYS looks like the following:
-
- IFS=C:\OS2\HPFS.IFS /CACHE:128 /CRECL:4 /AUTOCHECK:C
-
- This specifies the HPFS Installable File System (IFS) with 128KB
- cache; a caching threshold of 4KB, and automatic CHKDSK of C:
- drive upon boot. For performance reason, HPFS is not recommended
- for system with 4MB of system memory.
-
- Once HPFS is installed, you can format a SVDisk into HPFS. To do
- so, type:
-
- HFORMAT D:
-
- where D: is the drive letter of the SVDisk drive.
-
- You can specify a volume label with HFORMAT:
-
- HFORMAT D: /v:SUPERDISK
-
- This will format the SVDisk D: as HPFS and assign SUPERDISK as
- the volume label.
-
- If you want to format a HPFS SVDisk back to FAT, the easiest way
- is to eject the media (/e), and insert (/i) a new one. If you
- wish to use FORMAT.COM to do the formatting, you must first
- unmount HPFS from the SVDisk.
-
- Since HPFS is not designed for removable media, special media
- handling is necessary to prevent HPFS from crashing. HPFS is
- mounted to the OS/2 File System whenever OS/2 detects a HPFS
- drive during boot or after a successful HPFS disk format with
- FORMAT.COM. However, OS/2 does not provide a way for unmounting
- a HPFS drive. If you eject a HPFS media from a removable drive,
- the HPFS driver will crash when it attempts to flush the disk
- cache later, or when you shutdown the operating system. Since
-
-
- 14
-
-
-
- the majority of the diskette drives have a mechanical eject
- button; the media can be ejected without the control of the file
- system driver. This is the primary reason why HPFS is not
- supported for the diskette drive.
-
- SVDC.EXE and PMSVDC.EXE have built-in HPFS unmounting capability.
- When you eject a HPFS SVDisk, it will unmount the HPFS file
- system before the disk is ejected, thereby preventing HPFS from
- crashing. If your HPFS SVDisk drive is in use by another process
- (such as open files, or a process running off the HPFS SVDisk),
- SVDC and PMSVDC eject function will disallow the removal of the
- media. This is done to prevent HPFS from crashing since there is
- no way to flush or unmount HPFS if a process is running off of
- that disk.
-
- If you wish to manually unmount HPFS off a SVDisk, you can do so
- with HMOUNT.EXE. HMOUNT has two modes of operation: mounting and
- unmounting HPFS. To unmount a HPFS SVDisk, do the following:
-
- HMOUNT D: /u
-
- Where D: is the drive letter of the HPFS SVDisk drive.
-
- Once HPFS is unmounted from the SVDisk, you can no longer access
- the drive's contents. At this point, OS/2 believes the current
- file system on the SVDisk drive is FAT, and will not display the
- contents of the drive correctly. You can mount the drive back
- with HMOUNT by typing:
-
- HMOUNT D:
-
- You can force HPFS to flush the cache by unmounting and then
- remounting the disk.
-
- NOTE: It is the user's responsibility to make sure nothing is
- written to an unmounted HPFS media before it is mounted as
- HPFS again. HPFS may crash if the file system structures
- are severely damaged.
-
- Since HPFS provides superlative caching performace, the
- use of non-swappable memory locking (/l in SVDC) is
- unnecessary and should be avoided to conserve system
- memory.
-
-
- 8.4.1 HPFS Diskettes
-
- Since a VFloppy can be formatted as HPFS, you can transfer, for
- example, a 1.44MB HPFS VFloppy onto a real diskette. The
- supported HPFS diskette sizes are: 1.2MB, 1.44MB, and 2.88MB.
- HFORMAT cannot format a real diskette as HPFS because the
- IBM1FLPY.ADD/IBM2FLPY.ADD driver prevents the change of one
-
-
-
- 15
-
-
-
- critical diskette parameter which is needed by HFORMAT.EXE and
- OS/2's FORMAT.COM.
-
- DISKCOPY cannot be used to transfer HPFS VFloppy to a real
- diskette because it expects both the source and target file
- systems to be FAT. You will need to use a Diskette Imaging
- program such as Disk eXPress (DXP.) Disk eXPress Version 2.33 or
- later is required. Shareware version of Disk eXPress can be
- found on most major OS/2 BBSes. To image a HPFS VFloppy, you
- will need to save the entire contents of the disk. With Disk
- eXPress, you can do this by:
-
- DXP32 D: HPFS1440 /a
-
- Where D: is the 1.44MB HPFS SVDisk drive (VFloppy device), and
- HPFS1440 is the self-extracting diskette image file. The /a
- switch (read the entire diskette) is not really required, as Disk
- eXPress detects the HPFS VFloppy as a non-DOS media, and will
- automatically read the entire diskette.
-
- Once the diskette image is created, you can restore it onto a
- real diskette. You can do this by typing:
-
- HPFS1440 A: (if the diskette is formatted)
-
- OR
-
- DXP32 HPFS1440.EXE A: /f (if the diskette is unformatted)
-
- In order to use a HPFS diskette, you must first mount the media
- for use. This is accomplished with HMOUNT.
-
- HMOUNT A:
-
- Normally, OS/2 will mount a HPFS disk if it detects it to be HPFS
- when you first access it. This means if a HPFS diskette is
- inserted into the drive and accessed without HMOUNT, OS/2 will
- recognize it, and access the contents correctly. However, this
- is only true when you are dealing with 1.2MB and 1.44MB drives.
- With the 2.88MB drives, it is imperative that you use HMOUNT to
- mount a 1.44MB HPFS diskette. HMOUNT will temporary reconfigure
- your floppy hardware to appear as a 1.44MB diskette drive. This
- is necessary to allow HPFS to function correctly for the 1.44MB
- media in the 2.88MB diskette drive. When you unmount a 1.44MB
- HPFS diskette from a 2.88MB drive, the drive parameter is not
- restored, and OS/2 believes you still have a 1.44MB diskette
- drive. In order to restore diskette hardware parameters to
- 2.88MB, a 2.88MB HPFS diskette must be prepared in advance using
- a 2.88MB HPFS SVDisk. To restore the 2.88MB hardware status, you
- must mount then unmount a 2.88MB HPFS diskette. To do so, insert
- the 2.88MB HPFS diskette, perform a HMOUNT to mount the diskette
- and then perform a HMOUNT /u to unmount HPFS from the drive.
-
-
-
- 16
-
-
-
- CAUTION: Make sure a HPFS diskette is unmounted with HMOUNT /u
- before ejecting it from the diskette drive. Failure to
- do so will cause HPFS to crash when it attempts to
- flush the cache or during a system shutdown. If you
- accidentially ejected a HPFS diskette, you must
- reinsert it into the drive immediately, and execute
- HMOUNT /u to unmount HPFS. Failure to do so before
- HPFS has a chance to update the media will lead to
- system crash.
-
-
- 8.4.2 HPFS386 on IBM LAN Server Advanced Edition
-
- SVDisk does not support HPFS386 on IBM LAN Server Advanced
- Edition. This particular version of HPFS requires Scatter/Gather
- support in the device driver level. SVDisk currently does not
- support Scatter/Gather. Formatting SVDisk as HPFS under HPFS386
- will lead to system crash.
-
-
- 8.6. Diskette boot bypass using VFloppy
-
- SVDisk contains a special boot sector under FAT which can be used
- to bypass a real floppy boot. You can do this by transferring
- the image of a VFloppy device with DISKCOPY to a real diskette.
- If you leave the diskette in drive A:, upon system reboot, you
- will get the following message on the screen:
-
- Transferring system boot from diskette to hard drive...
-
- And the boot sequence will be transferred to the hard drive. If
- you have OS/2 Boot Manager installed, you will see the Boot
- Manager at this point.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 17
-
-
-
- 9.0. PROGRAMMING INFORMATION
- _________________________________________________________________
-
- When SVDisk is used as a VFloppy device, it tries to emulate a
- real floppy drive as much as possible. However, this emulation
- is not 100%. If you write a program against the behavior of a
- real floppy drive, it will almost certainly work with SVDisk.
- The converse is not always true. This is because SVDisk makes
- certain assumptions to simplify many of the internal operations
- which are true for a virtual device. The common pitfall is to
- assume reading and writing to a floppy device are always slower
- than other computational threads. If a multithreaded OS/2
- application is designed with the above assumption, it will almost
- certainly fail because the disk read/write operations are much
- faster than the program has expected.
-
- SVDisk supports the following IOCtl Category 8 logical disk
- commands (in hex):
-
- 00 Lock drive
- 01 Unlock drive
- 02 Redetermine media
- 04 Begin format
- 20 Block removable
- 21 Query logical map
- 43 Set device parameters (the changing the BPB of the device is
- not supported)
- 44 Read track
- 64 Write track
- 65 Verify track
- 45 Format and verify track
- 60 Query media sense
- 63 Query device parameters
-
- Please refer to OS/2 2.x SDK (Software Development Kit) on
- programming the IOCtl interface.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 18
-
-
-
- 10.0. EXAMPLES
- _________________________________________________________________
-
- The following examples assume you have the following lines
- installed in CONFIG.SYS:
-
- DEVICE=D:\SVDISK\SVDISK.SYS 8192 512
- DEVICE=D:\SVDISK\SVDISK.SYS 2880
- CALL=D:\SVDISK\SVDC.EXE H: /i
- CALL=D:\SVDISK\SVDC.EXE I: /i:1.44
-
- The first SVDisk is an 8MB VDisk device with 512 root directory
- entries, with drive letter 'H' assigned to it by OS/2. The
- second SVDisk is a 2.88MB VFloppy device, initially loaded with a
- 1.44MB virtual media, and is assigned as drive 'I'.
-
-
- 10.1. Example 1: Locking non-swappable memory and querying status
-
- You would like to lock the first 600K of SVDisk H: in non-
- swappable memory, and query the status at the same time:
-
- SVDC H: /l:600 /q
-
- And you get the following report:
-
- SVDISK.SYS Version: 1.18
- Default device size: 8192KB
- Current device size: 8192KB
- Current media size: 8192KB
- Non-swappable memory locked: 600KB
-
-
- 10.2. Example 2: Ejecting virtual media
-
- You can eject the virtual media in SVDisk so that all memory used
- (including locked memory) is returned to the operating system:
-
- SVDC I: /e
-
- If the SVDisk is in used by a process (ie: a running program,
- open files, etc.), you'll receive an error message:
-
- KWT0131: Drive I: is not ready or in use by another process.
-
- You can force eject the virtual media by specifying /ef:
-
- SVDC I: /ef
-
-
-
-
-
-
-
- 19
-
-
-
- 10.3. Example 3: Reconfiguring VFloppy device
-
- You want to change the VFloppy drive I: into a 1.2MB 5.25"
- device:
-
- SVDC I: /r:1.2
-
-
- 10.4. Example 4: Inserting virtual media
-
- You want to insert a 360KB virtual media into drive I:, which has
- just been reconfigured to a 1.2MB VFloppy drive:
-
- SVDC I: /i:360
-
-
- 10.5. Example 5: Multiple operations
-
- You can combine example 3 and 4 plus locking and querying all in
- one step:
-
- SVDC I: /r:1.2 /i:360 /l:180 /q
-
- And you'll receive this status report:
-
- SVDISK.SYS Version: 1.18
- Default device size: 2.88MB
- Current device size: 1.2MB
- Current media size: 360KB
- Non-swappable memory locked: 180KB
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 20
-
-
-
- 11.0. ERROR MESSAGES
- _________________________________________________________________
-
- 11.1. List of error messages
-
- The following is a list of major error messages returned by
- SVDC.EXE. The error return code is also displayed as part of the
- prefix in the error message:
-
- SVDnnnn: Error message text
-
- Where nnnn is the error return code.
-
- SVD0016: Drive X: is not a Super Virtual Disk.
- SVD0017: SVDISK.SYS has a higher revision level.
- SVD0018: Invalid media size.
- SVD0019: Cannot eject because the file system on drive is HPFS and
- is currently in use by another process.
- SVD0020: Unable to eject Super Virtual Disk due to memory deallocation
- error.
- SVD0021: Unable to insert Super Virtual Disk due to memory allocation
- error.
- SVD0022: No media in drive.
- SVD0023: You cannot insert two media in the drive.
- SVD0024: Incorrect size specified.
- SVD0025: System failed to lock memory as non-swappable.
- SVD0026: System failed to unlock non-swappable memory.
- SVD0027: No non-swappable memory locked by the Super Virtual Disk.
- SVD0028: Cannot reconfigure Super Virtual Disk with a media in the Drive.
- SVD0029: Only VFloppy type device can be reconfigured.
-
-
- 12.0. BACKGROUND INFORMATION
- _________________________________________________________________
-
- The Super Virtual Disk device driver is written in 386 assembly
- language. The source files consist of over 2500 lines of
- assembly code, and over 3600 lines of C code. 32-bit
- instructions are used extensively in the device driver, with
- critical memory transfer loop in double word (32-bit) alignment.
- All the utilities programs are 32-bit executables. The device
- driver interface is 16-bit, as limited by the OS/2 kernel. Media
- is made removable to allow unrestricted virtual memory
- allocation. It is not possible to allocate 16MB virtual memory
- during device driver initialization.
-
-
- 13.0. ACKNOWLEDGMENTS
- _________________________________________________________________
-
- German message files translation was performed by Peter Freitag.
-
-
-
-
- 21