To set the record straight on caches and on UIDE --

>> Can you recommend any free int 13 or block device based delayed/
>> pooled write caching software?   As far as I can remember, all
>> "modern" (LBA compatible, given disk sizes on current PCs)
>> implementations of this are commercial.
>
> I don't know of any, but there's definitely a need for one.  I normally  
> don't use caches at all, but when I need one it needs to be a  
> write-delay cache and I use MS SMARTDRV.  I actually don't like SMARTDRV  
> very much (it uses too much memory and requires a reboot to uninstall),  
> but I have it and it works OK.

I agree with the above -- "Write Back" (delayed-write) caches usually are
"commercial", as they require a LOT of work and must be sold for a price.
And I too absolutely HATED "SMARTDRV" -- Takes the most memory but caches
the LEAST amount of data for it!   I used Norton NCACHE2 for years, which
is also a "memory hog", but not as bad for the amount of data it handles.

> I don't find write-through caches like LBACACHE and UIDE to provide  
> enough speed benefit to be very helpful (though they might increase disk  
> life to some degree).  In addition, LBACACHE and UIDE are INT 13h caches  
> instead of INT 21h caches (like SMARTDRV is), so they don't work with  
> all disks (including USB and SCSI).  When I really need to increase disk  
> access speed (a big problem in some VM's), I copy my commonly-used  
> utilities and batch files to a RAM disk.

No "cache" will ever compete with a RAM disk.   RAM is always faster than
disks with their seek/rotational latencies and their much slower transfer
rates.   But I dispute your comment about "Write Through" caches offering
not-enough speed benefit, and I bet all "VERY happy!" users of UIDE might
argue with you, as well.

There is a REASON why "Write Back" caches are all so large -- they demand
MANY "hooks" of a non-generic type into a DOS system, to handle Ctrl/Alt/
DEL and other events that require a "flush" of sectors not-yet written to
disk.   UIDE only needs to "hook" the Int 13h vector to do its functions.
Also, UIDE is not just an Int 13h cache -- It CAN still be called by user
drivers which desire its caching, though I am sadly aware that no one has
ever done this.   DOS driver development, or enhancement, isn't done that
much any more.

I did everything possible to make UIDE a FAST "Write Through" cache.   It
integrates caching with UltraDMA I-O for disks/CDs/DVDs; it can do direct
UltraDMA to/from cache buffers to save time; it uses a binary-search when
looking for cached data blocks (NOT "hashing", which breaks-DOWN in speed
at about a 35%-40% full search table); and it is only 5.2K (UIDE) or 4.5K
(UIDE2) of assembly-language, as I REFUSE to have God-forsaken "C" in any
SYSTEM driver as important as UIDE is!!

But, if you wish to continue giving-up 40K+ for SMARTDRV, 80K+ for Norton
NCACHE2 or however-many K for other "Write Back" schemes, feel free to do
just that!   I and others will continue using the 944-byte UIDE/UIDE2 and
will be "VERY happy!" with the speed increase we DO get, from doing so!

[And if there are still those who do not understand how UIDE/UIDE2 manage
to require only 944 bytes of upper/DOS memory, just call it "Sorcery"!!].


------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to