On Mon, 2020-05-25 at 20:28 +0200, Liam Proven via cctalk wrote: > On Mon, 25 May 2020 at 20:22, Guy Sotomayor <g...@shiresoft.com> > wrote: > > > > I hadn't thought about IBMCACHE.SYS in *years*. I wrote it in its > > entirety (there's even a patent that covers some of its operation). > > I > > was in an AdTech (Advanced Technology) group at the time and was > > looking at how to make disk operations faster in DOS at the time > > when I > > came up with the idea. > > Oh my word! Well I thank you for it. It helped a very great deal and > made dozens of users of rather expensive IBM PS/2s in the Isle of Man > very happy for a while in the late 1980s and early 1990s. :-)
You're very welcome! I know that there were some bids that IBM marketing needed IBMCACHE.SYS to win (millions of dollars) and it was *still* a battle to get it released! > > > There was a *huge* battle within IBM on if it should be released > > and in > > order to do so, it was fairly well hidden. > > I can believe that! I think I read of it in a magazine and thought > "never! I'd know!" -- so I looked and there it was. > > > There was a switch on config.sys statement for IBMCACHE.SYS to turn > > off > > the write-back cache (e.g. writes would always go straight to > > disk). > > As I recall, there was a 30 second timer for the writeback cache so > > that if a disk block was "dirty" for more than 30 seconds it would > > get > > flushed to disk. > > Yes, both true. I think I may have used the write-through switch for > some people, but ISTR it reduced performance a little bit. Just > teaching people to be a bit more patient was sometimes hard -- after > all, this was a tool that appealed to the impatient! > I think for them it was easier to teach them to press C-A-D and then > wait for the RAM check before turning off. > > Or hit C-A-D, let it boot all the way, then turn it off! > > Great bit of work, if I may say so! Yea, not only did I have to write it, but I had to write a series of tests to run through billions of disk operations (and go validate the internal state of the cache) before it could even be considered for release. ;-) BTW, as a bit of copyright paranoia, if you do an ASCII dump of IBMCACHE.SYS, you'll see my 3 initials (GGS) (or it may have been IBM...it's been so long I can't remember). They are actually instructions! It was required at the time to have code embed a text string as actual instructions that get executed. It took me a bit of time to figure out (in x86 assembler) how to generate an appropriate string. The idea was that if someone "cloned" the program and just did a replacement of the string, it would stop working because the string was actually instructions. TTFN - Guy