home *** CD-ROM | disk | FTP | other *** search
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- NAME
- overview.txt - Overview Of Concache.exe
-
-
- About Concache.exe
- Concache.exe is for "concurrent disk cache" that is so
- called "advance cache", which drives disks concurrently with
- DOS/user programs. The maximum concurrency it can perform is
- up to 25 disks, including one of two floppies, one of IDE
- disks, and up to maximum number of configurable SCSI disk
- units under DOS. (The term IDE is for Integrated Device
- Interface. In this and the other texts in this package, how-
- ever, includes ST506 interface and ESDI for brevity.)
-
- Concache.exe allows true preread/postwrite operations trans-
- parently for programs under DOS.
-
- The basic idea to attain concurrency is, by catching PC/AT
- type machine's BIOS int1590 and int1591 interrupts, to force
- switch from concache.exe to DOS/user program by the former
- and force back again to concache.exe by the latter.
-
- The SCSI hard disks are operated concurrently by the aid of
- ASPI (Advanced SCSI Programming Interface) command posting
- capability, which offers the chance to synchronize with disk
- operations exactly the same way as BIOS int1590/int1591
- allows.
-
- Additional programs floppies.exe and ccdisk.exe are provided
- with concache.exe, the main cache program. The former is a
- mini-driver which does most of floppy i/o independent of
- DOS. The latter is the reentrant disk driver for SCSI disks,
- using ASPI.
-
- If a disk is neither of above, for example pre-ASPI SCSI
- disk, concurrency is lost there. On such disk, the interval
- the device made CPU idle is indiscernible from CPU overhead.
- Yet postwrite, although not concurrently, is supported for
- such disks.
-
-
- Prerequisites
- Concache.exe runs PC/AT class machine and after, equipped
- with INTEL 80386 CPU and the later, running MSDOS3.1 and the
- later or the equivalents.
-
- Concache.exe resident memory requirements are usually around
- 25 - 30 kilobytes, increased depending on concurrency
- requirements (stacks to keep things concurrent and sheer io
- buffers are unavoidably allocated at each startup.)
-
- Concache 1.10 Last Update: 22 June 1996 1
-
-
-
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- Cache Data Area
- Concache.exe uses memory for caching disk data. Memory types
- to be used are
-
- 1) Raw protected (int15) memory,
-
- 2) Expanded memory conformable to EMS specification 4.0,
-
- 3) Extended memory block (EMB) defined by XMS 2.0 specifi-
- cation.
-
- If only int15 memory is to be used no additional third party
- software is needed.
-
- If memory manager allows configure, these three types of
- memory can be used freely mixed, totaling up to 64
- megabytes. The amount of EMS or EMB used by concache.exe
- are changeable without disloading/reloading concache.exe
- from memory. (Int15 memory is hard to share with the other
- programs. Changing its size on the fly is not considered.)
-
-
- Installation
- If ROM BASIC is used then interrupt number and the identifi-
- cation of the interrupt have to be adjusted using VECTOR
- description. Please refer to concache.txt for the explana-
- tions. The adjustment must be applied to all the programs
- among concache.exe, ccdisk.exe, and floppies.exe you intend
- to use.
-
- Otherwise there is no need of installation procedure. Dis-
- able disk cache program currently used, and simply copy to
- convenient place and make calls, either from DOS config.sys,
- autoexec.bat, or command line, as appropriate.
-
-
- Quick Test
- Real programmers may skip to the next section. (Virtuals may
- better not.)
-
- If your system is fairly recent one and you believe it is
- configured in just standard way, and you have read the Known
- Incompatibilities section below, and is not running the
- other disk cache program, and currently on command line from
- command.com, then you can test if your system runs con-
- cache.exe.
-
- Afterwards, you should read the related documents to find
- out what you have done in this test.
-
-
- Concache 1.10 Last Update: 22 June 1996 2
-
-
-
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- - First, go to the directory where concache.exe is copied
- and type simply "concache". You will see the message
- it is not loaded. This message should appear.
-
- - Next, type "concache x". Now concache.exe has allo-
- cated memory for its cache area if it doesn't complain.
-
- If it complains, try "concache e" and "concache p" in
- this order until you succeed.
-
- If all fails, there is no memory to be used for cache
- area, and your quick test has failed. You have to add
- memory or you must decrease some other program's memory
- usage.
-
- - You should have allocated all available memory of a
- type, which could be against your intention. See this
- by typing "concache hm", which means "help about memory
- usage".
-
- - If you succeeded in "concache p", you can release the
- memory by typing "concache d" which means "delete resi-
- dent concache.exe from memory". If you have done so,
- you might try different amount by typing "concache
- p1m", "concache p256k", "concache p131072", and so on,
- anything between zero and maximum value reported.
-
- - If you have succeeded in "concache x" or "concache e",
- you can try above experiment similarly. Try it later,
- substituting "x" or "e" with "p" as appropriate.
-
- For now type "concache xm" or "concache em", which
- reallocates zero megabyte (that is, zero byte) memory.
- In other words, it has released all allocated memory
- but concache.exe is still in memory.
-
- Again type "concache hm" and see it is using none.
-
- You are now be able to allocate as much memory as you
- like exactly like the case "concache 'p" but without
- doing "concache d". This is an advantage over "concache
- p".
-
- - If you have allocated more than 256kb of memory, you
- will make an interesting test at this point.
-
- Prepare a spare floppy (it must be formatted, though)
- into floppy drive a:, and type "copy concache.exe a:"
- (or whatever file), and type "concache hd" immediately.
- You have told "help about drives" by typing "concache
-
- Concache 1.10 Last Update: 22 June 1996 3
-
-
-
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- hd".
-
- You see floppy is being written, and you get the list
- of how devices are treated by concache.exe.
-
- You will observe a line "still XX wet spots" which
- tells how many blocks of sectors remain to be written
- into the floppy a:. If you type "concache hd" again,
- then this line is probably unseen.
-
- By allocating larger memory and copying more files at
- once into floppy, and typing "concache hd" in succes-
- sion, you will observe the number of wet spots decreas-
- ing toward zero. Chance to observe this line when hard
- disk is used instead of floppy is small unless a large
- copy is done using large cache data memory.
-
- If you have succeeded up to this point, your remaining thing
- to do is to edit your autoexec.bat or config.sys file. How-
- ever, please read on.
-
- You have seen an advantage and a disadvantage of using con-
- cache.exe. You will feel comfortable to see that your com-
- puter responds quickly even if it is busy writing. But...
- While you don't have to wait for the completion of writes to
- continue work, you must wait for it to pick the floppy out.
-
- There are many ways to await the completion. The simplest is
- watching the access lamp. and the second is repeatedly typ-
- ing "concache hd" to make sure there is no wet spots, as you
- have just learned. Another method is to type "concache r"
- to tell refresh drives. Then concache.exe watches the
- progress, and returns to command line when no wet spots
- remains.
-
- Likewise when you shutdown your machine, there is a danger
- of remaining wet spots behind. A recommended procedure is
- to have a shutdown procedure, like shut.bat, which contains
- at least "concache r" line (after the line which might cause
- the final writes to disks, of course).
-
-
- Acceptance Test
- Since there can be many unnoticed incompatibilities, and
- they potentially cause the worst disasters, things may not
- be as simple as preceding subsection.
-
- In particular, following areas need carefully checked.
-
- - Memory managers.
-
- Concache 1.10 Last Update: 22 June 1996 4
-
-
-
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- Options for "unique" features for a memory manager must
- be checked with special care. In general, simply using
- XMS or EMS would be well compatible.
-
- - Communication programs
- There are two considerations to be paid. One is if the
- CPU overhead concache.exe incurs, or the pattern of its
- CPU usage, can be tolerated by communications programs.
- The need to check this applies particularly to serial
- communications.
-
- - Multitaskers
- Most task switchers seem to work. Multitaskers need
- special care. Please see below for more.
-
- - Disk compression and encryption programs
- These programs use proprietary driver schemes, which
- concache.exe does not always detect.
-
- - Third party block device drivers
- By definition, device drivers can do anything, and can
- be incompatible with concache.exe. However, well
- behaving device drivers can coexist. If int13 and int15
- are used in predefined manner, these drivers will hap-
- pily take advantage of concurrency.
-
- - File/disk maintenance utility programs
- These programs can use int13 directly, which can cause
- the mismatching of cached data and actual data in
- disks. Make sure cache data is written back before
- using such programs.
-
-
- An alert tester should proceed, if in any doubt, as follows.
- If needed, read concurrency mode to write after or write
- through mode.
-
- 1) Backup
- Make backup before conducting the tests.
-
- 2) If Ever Loadable
- Load concache.exe setting all drives in stop mode.
-
- 3) The Least Damage
- Put a floppy into concurrency mode. and try read and
- write on it. At the end, check the integrity of media
- with, for example, chkdsk program.
-
- 4) Add Hard Disks
- Put drives, one by one, into concurrency mode, and
-
- Concache 1.10 Last Update: 22 June 1996 5
-
-
-
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- conduct test on them. Integrity check is equally
- important.
-
- 5) Finally
- For at least a month after acceptance, more frequent
- backups are scheduled. Of course, the backup program
- must be checked for compatibility firsthand.
-
-
- Known Incompatibilities
- The programs are tested against various environments and
- have identified several incompatibilities, A few command
- arguments on concache.exe try to solve problems rather non-
- obvious ways. If you get into trouble, please give a look at
- eqanda.txt. It describes the backgrounds of these troubles
- so you may find the way to proceed.
-
- Following are known incompatibilities:
-
- - Any other disk cache program cannot work with con-
- cache.exe.
-
- - Low level utilities using int13 method to access disks
- directly can potentially cause data integrity problems.
- Put concache.exe into stop mode (put +s on concache.exe
- command line) to use these utilities.
-
- - Floppy operations under Novell DOS are very slow due to
- its quirky media checks, the result of which are almost
- certain unknown (however the hard disk operations are
- very, very fast, well compensating for floppy speed).
-
- - Desqview 2.31 and Desqview/X 1.1 cause crash. Probably
- the family is incompatible as a whole. Use write
- through method.
-
- - QEMM 7.3 stealth feature causes hang or crash. Only
- write through works.
-
- - Floppies.exe can hang Windows 3.*. Concache.exe auto-
- matically disables floppies.exe if it is found loaded.
-
- - Windows 3.* does not implement full EMS 4.0. EMS mem-
- ory is freed while under it.
-
- This feature can be used to auto-adjust amount of cache
- data memory under windows.
-
- - Windows 3.11 32 bit file access is incompatible (32 bit
- disk access is not). If concache.exe found vfat.386 in
-
- Concache 1.10 Last Update: 22 June 1996 6
-
-
-
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- configuration, it asks if you dare to proceed or termi-
- nate the windows. Generally choose 'n' to prevent
- hangup or crash, but if 'y' is selected be extremely
- careful not to work very hard on the session.
-
- - Windows 95 is incompatible. Concache.exe pretends
- "dead" releasing all EMS and XMS memories while under
- it. However, this is not sufficient. Please follow
- special note below.
-
- - Server.exe of Novell Personal Netware maintains its
- internal int2a counts incorrectly. It causes hang or
- crash. Write after method solves the problem.
-
- The other TSRs that intercept int2a for synchronization
- with DOS have potentially the same problem.
-
- - Most block device redirectors such as disk compression
- and encryption programs are not cacheable. Load con-
- cache.exe before them in order to make cacheable.
-
- Contrarily, Microsoft Dblspace and Stac Electronics
- Stacker 3.12 and the later must be loaded before con-
- cache.exe.
-
- - Applications which use DOS "unused" stack space may be
- corrupted by concache.exe assumption of its being free
- at device driver calls. It uses rather larger stack
- space.
-
- - Depending on circumstances, loading io buffers into
- upper memory block can cause severe slow down. Try
- io_buffers_low option if performance is unexpectedly
- low.
-
-
- Special notes on Windows
- - Windows 3.* has many settings which might affect per-
- formance of concacne.exe. Following list is the favor-
- able settings.
-
- VirtualHDIrq=false
-
- OverlappedIO=true
-
- ReflectDOSInt2A=true
-
- If ReflectDOSInt2A must be set false, then
-
- INT28Critical=true
-
- Concache 1.10 Last Update: 22 June 1996 7
-
-
-
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- must be set. Otherwise, all read and write operations
- are handled write through mode by concache.exe.
-
- - Windows 95 complains even if concache.exe and
- ccdisk.exe stay idle, doing nothing. To remedy this
- problem, insert two lines below under [SafeList] sec-
- tion of ios.ini file under Windows 95 directory with a
- text editor convenient to you.
-
- concache.exe
- ccdisk.exe
-
- Then Windows 95 safely ignores loaded ccdisk.exe and
- concache.exe.
-
- Safety Considerations
- There are a few safety considerations built into con-
- cache.exe. Representative of considerations are:
-
- Reset by Ctrl-Alt-Del
- By capturing the key sequence, concache.exe tries to
- write out immediately yet unwritten data back to disks.
- In very rare cases such operations cannot be performed,
- it simply ignores the keys and awaits retry ctrl-alt-
- del.
-
- 30 Second Durations
- Concache.exe writes back any pending data to be written
- to disks within 30 seconds. In other words, even if a
- block is continually updated, the block is refreshed
- after 30 seconds of unwritten interval has passed.
-
- Reset disk function (int210d)
- Concache.exe immediately refresh all pending unwritten
- data of all local drives.
-
- Commit file function (int2168)
- Concache.exe immediately refreshes all pending unwrit-
- ten data of the local drive the file is residing on.
- Refresh is not limited to the file alone but spans to
- all the files on the drive the file is residing. This
- is like resetting a particular drive.
-
- Extended open (int216c) with commit flag
- For files opened by extended open (int216c) with commit
- flag, file writes and close are handled like write-
- through requests. This is very different from commit
- file function, where all files in the same drive are
- involved.
-
-
- Concache 1.10 Last Update: 22 June 1996 8
-
-
-
- OVERVIEW COPYRIGHT 1995-1996 horio shoichi OVERVIEW
-
-
-
- Lastly But Most Important
- Enjoy the parallel world of DOS single tasking operating
- system !
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Concache 1.10 Last Update: 22 June 1996 9
-
-
-
-