home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 5 / cdactual5.iso / share / dos / utilidad / ccache11 / overview.txt < prev    next >
Encoding:
Text File  |  1996-06-22  |  18.5 KB  |  532 lines

  1. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  2.  
  3.  
  4.  
  5. NAME
  6.      overview.txt - Overview Of Concache.exe
  7.  
  8.  
  9. About Concache.exe
  10.      Concache.exe  is  for  "concurrent  disk  cache"  that is so
  11.      called "advance cache", which drives disks concurrently with
  12.      DOS/user programs. The maximum concurrency it can perform is
  13.      up to 25 disks, including one of two floppies,  one  of  IDE
  14.      disks,  and  up  to maximum number of configurable SCSI disk
  15.      units under DOS. (The term  IDE  is  for  Integrated  Device
  16.      Interface. In this and the other texts in this package, how-
  17.      ever, includes ST506 interface and ESDI for brevity.)
  18.  
  19.      Concache.exe allows true preread/postwrite operations trans-
  20.      parently for programs under DOS.
  21.  
  22.      The  basic  idea to attain concurrency is, by catching PC/AT
  23.      type machine's BIOS int1590 and int1591 interrupts, to force
  24.      switch  from  concache.exe to DOS/user program by the former
  25.      and force back again to concache.exe by the latter.
  26.  
  27.      The SCSI hard disks are operated concurrently by the aid  of
  28.      ASPI  (Advanced  SCSI Programming Interface) command posting
  29.      capability, which offers the chance to synchronize with disk
  30.      operations  exactly  the  same  way  as BIOS int1590/int1591
  31.      allows.
  32.  
  33.      Additional programs floppies.exe and ccdisk.exe are provided
  34.      with  concache.exe, the main cache program.  The former is a
  35.      mini-driver which does most of  floppy  i/o  independent  of
  36.      DOS. The latter is the reentrant disk driver for SCSI disks,
  37.      using ASPI.
  38.  
  39.      If a disk is neither of above,  for  example  pre-ASPI  SCSI
  40.      disk,  concurrency is lost there. On such disk, the interval
  41.      the device made CPU idle is indiscernible from CPU overhead.
  42.      Yet  postwrite,  although not concurrently, is supported for
  43.      such disks.
  44.  
  45.  
  46. Prerequisites
  47.      Concache.exe runs PC/AT class machine  and  after,  equipped
  48.      with INTEL 80386 CPU and the later, running MSDOS3.1 and the
  49.      later or the equivalents.
  50.  
  51.      Concache.exe resident memory requirements are usually around
  52.      25  -  30  kilobytes,  increased  depending  on  concurrency
  53.      requirements (stacks to keep things concurrent and sheer  io
  54.      buffers are unavoidably allocated at each startup.)
  55.  
  56. Concache 1.10       Last Update:  22 June 1996                  1
  57.  
  58.  
  59.  
  60. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  61.  
  62.  
  63.  
  64. Cache Data Area
  65.      Concache.exe uses memory for caching disk data. Memory types
  66.      to be used are
  67.  
  68.      1)   Raw protected (int15) memory,
  69.  
  70.      2)   Expanded memory conformable to EMS specification 4.0,
  71.  
  72.      3)   Extended memory block (EMB) defined by XMS 2.0 specifi-
  73.           cation.
  74.  
  75.      If only int15 memory is to be used no additional third party
  76.      software is needed.
  77.  
  78.      If memory manager allows configure,  these  three  types  of
  79.      memory   can  be  used  freely  mixed,  totaling  up  to  64
  80.      megabytes.  The amount of EMS or EMB  used  by  concache.exe
  81.      are  changeable  without  disloading/reloading  concache.exe
  82.      from memory.  (Int15 memory is hard to share with the  other
  83.      programs. Changing its size on the fly is not considered.)
  84.  
  85.  
  86. Installation
  87.      If ROM BASIC is used then interrupt number and the identifi-
  88.      cation of the interrupt have to  be  adjusted  using  VECTOR
  89.      description.   Please refer to concache.txt for the explana-
  90.      tions.  The adjustment must be applied to all  the  programs
  91.      among  concache.exe, ccdisk.exe, and floppies.exe you intend
  92.      to use.
  93.  
  94.      Otherwise there is no need of installation procedure.   Dis-
  95.      able  disk  cache program currently used, and simply copy to
  96.      convenient place and make calls, either from DOS config.sys,
  97.      autoexec.bat, or command line, as appropriate.
  98.  
  99.  
  100.   Quick Test
  101.      Real programmers may skip to the next section. (Virtuals may
  102.      better not.)
  103.  
  104.      If your system is fairly recent one and you  believe  it  is
  105.      configured in just standard way, and you have read the Known
  106.      Incompatibilities section below,  and  is  not  running  the
  107.      other disk cache program, and currently on command line from
  108.      command.com, then you can test  if  your  system  runs  con-
  109.      cache.exe.
  110.  
  111.      Afterwards,  you  should  read the related documents to find
  112.      out what you have done in this test.
  113.  
  114.  
  115. Concache 1.10       Last Update:  22 June 1996                  2
  116.  
  117.  
  118.  
  119. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  120.  
  121.  
  122.  
  123.      -    First, go to the directory where concache.exe is copied
  124.           and  type  simply "concache".  You will see the message
  125.           it is not loaded. This message should appear.
  126.  
  127.      -    Next, type "concache x".  Now  concache.exe  has  allo-
  128.           cated memory for its cache area if it doesn't complain.
  129.  
  130.           If it complains, try "concache e" and "concache  p"  in
  131.           this order until you succeed.
  132.  
  133.           If  all  fails, there is no memory to be used for cache
  134.           area, and your quick test has failed. You have  to  add
  135.           memory or you must decrease some other program's memory
  136.           usage.
  137.  
  138.      -    You should have allocated all  available  memory  of  a
  139.           type,  which  could be against your intention. See this
  140.           by typing "concache hm", which means "help about memory
  141.           usage".
  142.  
  143.      -    If  you  succeeded in "concache p", you can release the
  144.           memory by typing "concache d" which means "delete resi-
  145.           dent  concache.exe  from  memory". If you have done so,
  146.           you might try  different  amount  by  typing  "concache
  147.           p1m",  "concache p256k", "concache p131072", and so on,
  148.           anything between zero and maximum value reported.
  149.  
  150.      -    If you have succeeded in "concache x" or "concache  e",
  151.           you  can try above experiment similarly.  Try it later,
  152.           substituting "x" or "e" with "p" as appropriate.
  153.  
  154.           For now type "concache  xm"  or  "concache  em",  which
  155.           reallocates  zero megabyte (that is, zero byte) memory.
  156.           In other words, it has released  all  allocated  memory
  157.           but concache.exe is still in memory.
  158.  
  159.           Again type "concache hm" and see it is using none.
  160.  
  161.           You  are  now be able to allocate as much memory as you
  162.           like exactly like the case "concache  'p"  but  without
  163.           doing "concache d". This is an advantage over "concache
  164.           p".
  165.  
  166.      -    If you have allocated more than 256kb  of  memory,  you
  167.           will make an interesting test at this point.
  168.  
  169.           Prepare  a  spare floppy (it must be formatted, though)
  170.           into floppy drive a:, and type "copy  concache.exe  a:"
  171.           (or whatever file), and type "concache hd" immediately.
  172.           You have told "help about drives" by  typing  "concache
  173.  
  174. Concache 1.10       Last Update:  22 June 1996                  3
  175.  
  176.  
  177.  
  178. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  179.  
  180.  
  181.  
  182.           hd".
  183.  
  184.           You  see  floppy is being written, and you get the list
  185.           of how devices are treated by concache.exe.
  186.  
  187.           You will observe a line  "still  XX  wet  spots"  which
  188.           tells  how  many blocks of sectors remain to be written
  189.           into the floppy a:.  If you type "concache  hd"  again,
  190.           then this line is probably unseen.
  191.  
  192.           By  allocating  larger memory and copying more files at
  193.           once into floppy, and typing "concache hd"  in  succes-
  194.           sion, you will observe the number of wet spots decreas-
  195.           ing toward zero. Chance to observe this line when  hard
  196.           disk  is used instead of floppy is small unless a large
  197.           copy is done using large cache data memory.
  198.  
  199.      If you have succeeded up to this point, your remaining thing
  200.      to  do is to edit your autoexec.bat or config.sys file. How-
  201.      ever, please read on.
  202.  
  203.      You have seen an advantage and a disadvantage of using  con-
  204.      cache.exe.   You will feel comfortable to see that your com-
  205.      puter responds quickly even if it is busy  writing.   But...
  206.      While you don't have to wait for the completion of writes to
  207.      continue work, you must wait for it to pick the floppy  out.
  208.  
  209.      There are many ways to await the completion. The simplest is
  210.      watching the access lamp. and the second is repeatedly  typ-
  211.      ing "concache hd" to make sure there is no wet spots, as you
  212.      have just learned.  Another method is to type  "concache  r"
  213.      to  tell  refresh  drives.  Then  concache.exe  watches  the
  214.      progress, and returns to command  line  when  no  wet  spots
  215.      remains.
  216.  
  217.      Likewise  when  you shutdown your machine, there is a danger
  218.      of remaining wet spots behind.  A recommended  procedure  is
  219.      to  have a shutdown procedure, like shut.bat, which contains
  220.      at least "concache r" line (after the line which might cause
  221.      the final writes to disks, of course).
  222.  
  223.  
  224.   Acceptance Test
  225.      Since  there  can  be  many unnoticed incompatibilities, and
  226.      they potentially cause the worst disasters, things  may  not
  227.      be as simple as preceding subsection.
  228.  
  229.      In particular, following areas need carefully checked.
  230.  
  231.      - Memory managers.
  232.  
  233. Concache 1.10       Last Update:  22 June 1996                  4
  234.  
  235.  
  236.  
  237. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  238.  
  239.  
  240.  
  241.           Options for "unique" features for a memory manager must
  242.           be checked with special care.  In general, simply using
  243.           XMS or EMS would be well compatible.
  244.  
  245.      - Communication programs
  246.           There are two considerations to be paid.  One is if the
  247.           CPU overhead concache.exe incurs, or the pattern of its
  248.           CPU usage, can be tolerated by communications programs.
  249.           The need to check this applies particularly  to  serial
  250.           communications.
  251.  
  252.      - Multitaskers
  253.           Most  task  switchers  seem  to work. Multitaskers need
  254.           special care.  Please see below for more.
  255.  
  256.      - Disk compression and encryption programs
  257.           These programs use proprietary  driver  schemes,  which
  258.           concache.exe does not always detect.
  259.  
  260.      - Third party block device drivers
  261.           By  definition, device drivers can do anything, and can
  262.           be  incompatible  with  concache.exe.   However,   well
  263.           behaving device drivers can coexist. If int13 and int15
  264.           are used in predefined manner, these drivers will  hap-
  265.           pily take advantage of concurrency.
  266.  
  267.      - File/disk maintenance utility programs
  268.           These  programs can use int13 directly, which can cause
  269.           the mismatching of  cached  data  and  actual  data  in
  270.           disks.  Make  sure  cache  data  is written back before
  271.           using such programs.
  272.  
  273.  
  274.      An alert tester should proceed, if in any doubt, as follows.
  275.      If  needed,  read  concurrency  mode to write after or write
  276.      through mode.
  277.  
  278.      1) Backup
  279.           Make backup before conducting the tests.
  280.  
  281.      2) If Ever Loadable
  282.           Load concache.exe setting all drives in stop mode.
  283.  
  284.      3) The Least Damage
  285.           Put a floppy into concurrency mode. and  try  read  and
  286.           write  on it.  At the end, check the integrity of media
  287.           with, for example, chkdsk program.
  288.  
  289.      4) Add Hard Disks
  290.           Put drives, one by  one,  into  concurrency  mode,  and
  291.  
  292. Concache 1.10       Last Update:  22 June 1996                  5
  293.  
  294.  
  295.  
  296. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  297.  
  298.  
  299.  
  300.           conduct  test  on  them.   Integrity  check  is equally
  301.           important.
  302.  
  303.      5) Finally
  304.           For at least a month after  acceptance,  more  frequent
  305.           backups  are  scheduled.  Of course, the backup program
  306.           must be checked for compatibility firsthand.
  307.  
  308.  
  309. Known Incompatibilities
  310.      The programs are tested  against  various  environments  and
  311.      have  identified  several  incompatibilities,  A few command
  312.      arguments on concache.exe try to solve problems rather  non-
  313.      obvious ways. If you get into trouble, please give a look at
  314.      eqanda.txt.  It describes the backgrounds of these  troubles
  315.      so you may find the way to proceed.
  316.  
  317.      Following are known incompatibilities:
  318.  
  319.      -    Any  other  disk  cache  program  cannot work with con-
  320.           cache.exe.
  321.  
  322.      -    Low level utilities using int13 method to access  disks
  323.           directly can potentially cause data integrity problems.
  324.           Put concache.exe into stop mode (put +s on concache.exe
  325.           command line) to use these utilities.
  326.  
  327.      -    Floppy operations under Novell DOS are very slow due to
  328.           its quirky media checks, the result of which are almost
  329.           certain  unknown  (however the hard disk operations are
  330.           very, very fast, well compensating for floppy speed).
  331.  
  332.      -    Desqview 2.31 and Desqview/X 1.1 cause crash.  Probably
  333.           the  family  is  incompatible  as  a  whole.  Use write
  334.           through method.
  335.  
  336.      -    QEMM 7.3 stealth feature causes  hang  or  crash.  Only
  337.           write through works.
  338.  
  339.      -    Floppies.exe  can hang Windows 3.*.  Concache.exe auto-
  340.           matically disables floppies.exe if it is found  loaded.
  341.  
  342.      -    Windows  3.* does not implement full EMS 4.0.  EMS mem-
  343.           ory is freed while under it.
  344.  
  345.           This feature can be used to auto-adjust amount of cache
  346.           data memory under windows.
  347.  
  348.      -    Windows 3.11 32 bit file access is incompatible (32 bit
  349.           disk access is not).  If concache.exe found vfat.386 in
  350.  
  351. Concache 1.10       Last Update:  22 June 1996                  6
  352.  
  353.  
  354.  
  355. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  356.  
  357.  
  358.  
  359.           configuration, it asks if you dare to proceed or termi-
  360.           nate the windows.   Generally  choose  'n'  to  prevent
  361.           hangup  or  crash,  but if 'y' is selected be extremely
  362.           careful not to work very hard on the session.
  363.  
  364.      -    Windows  95  is  incompatible.   Concache.exe  pretends
  365.           "dead"  releasing  all EMS and XMS memories while under
  366.           it.  However, this is  not  sufficient.  Please  follow
  367.           special note below.
  368.  
  369.      -    Server.exe  of  Novell  Personal  Netware maintains its
  370.           internal int2a counts incorrectly.  It causes  hang  or
  371.           crash. Write after method solves the problem.
  372.  
  373.           The other TSRs that intercept int2a for synchronization
  374.           with DOS have potentially the same problem.
  375.  
  376.      -    Most block device redirectors such as disk  compression
  377.           and   encryption  programs are not cacheable. Load con-
  378.           cache.exe before them in order to make cacheable.
  379.  
  380.           Contrarily, Microsoft  Dblspace  and  Stac  Electronics
  381.           Stacker  3.12  and the later must be loaded before con-
  382.           cache.exe.
  383.  
  384.      -    Applications which use DOS "unused" stack space may  be
  385.           corrupted  by concache.exe assumption of its being free
  386.           at device driver calls.  It uses  rather  larger  stack
  387.           space.
  388.  
  389.      -    Depending  on  circumstances,  loading  io buffers into
  390.           upper memory block can  cause  severe  slow  down.  Try
  391.           io_buffers_low  option  if  performance is unexpectedly
  392.           low.
  393.  
  394.  
  395.   Special notes on Windows
  396.      -    Windows 3.* has many settings which might  affect  per-
  397.           formance of concacne.exe.  Following list is the favor-
  398.           able settings.
  399.  
  400.                VirtualHDIrq=false
  401.  
  402.                OverlappedIO=true
  403.  
  404.                ReflectDOSInt2A=true
  405.  
  406.           If ReflectDOSInt2A must be set false, then
  407.  
  408.                INT28Critical=true
  409.  
  410. Concache 1.10       Last Update:  22 June 1996                  7
  411.  
  412.  
  413.  
  414. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  415.  
  416.  
  417.  
  418.           must be set.  Otherwise, all read and write  operations
  419.           are handled write through mode by concache.exe.
  420.  
  421.      -    Windows   95   complains   even   if  concache.exe  and
  422.           ccdisk.exe stay idle, doing nothing.   To  remedy  this
  423.           problem,  insert  two lines below under [SafeList] sec-
  424.           tion of ios.ini file under Windows 95 directory with  a
  425.           text editor convenient to you.
  426.  
  427.                concache.exe
  428.                ccdisk.exe
  429.  
  430.           Then  Windows  95  safely ignores loaded ccdisk.exe and
  431.           concache.exe.
  432.  
  433. Safety Considerations
  434.      There are  a  few  safety  considerations  built  into  con-
  435.      cache.exe.  Representative of considerations are:
  436.  
  437.      Reset by Ctrl-Alt-Del
  438.           By  capturing  the  key sequence, concache.exe tries to
  439.           write out immediately yet unwritten data back to disks.
  440.           In very rare cases such operations cannot be performed,
  441.           it simply ignores the keys and awaits  retry  ctrl-alt-
  442.           del.
  443.  
  444.      30 Second Durations
  445.           Concache.exe writes back any pending data to be written
  446.           to disks within 30 seconds.  In other words, even if  a
  447.           block  is  continually  updated, the block is refreshed
  448.           after 30 seconds of unwritten interval has passed.
  449.  
  450.      Reset disk function (int210d)
  451.           Concache.exe immediately refresh all pending  unwritten
  452.           data of all local drives.
  453.  
  454.      Commit file function (int2168)
  455.           Concache.exe  immediately refreshes all pending unwrit-
  456.           ten data of the local drive the file  is  residing  on.
  457.           Refresh  is  not limited to the file alone but spans to
  458.           all the files on the drive the file is residing.   This
  459.           is like resetting a particular drive.
  460.  
  461.      Extended open (int216c) with commit flag
  462.           For files opened by extended open (int216c) with commit
  463.           flag, file writes and close  are  handled  like  write-
  464.           through  requests.   This is very different from commit
  465.           file function, where all files in the  same  drive  are
  466.           involved.
  467.  
  468.  
  469. Concache 1.10       Last Update:  22 June 1996                  8
  470.  
  471.  
  472.  
  473. OVERVIEW        COPYRIGHT 1995-1996 horio shoichi        OVERVIEW
  474.  
  475.  
  476.  
  477. Lastly But Most Important
  478.      Enjoy  the  parallel  world  of DOS single tasking operating
  479.      system !
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528. Concache 1.10       Last Update:  22 June 1996                  9
  529.  
  530.  
  531.  
  532.