        SYSINFO Documentation

        Summary

        Sysinfo  combines  the  functions  of  several  commonly   found 
        daemons,  including  a free memory display, CPU meter and clock, 
        along with some less common values as the free disk space  on  a 
        selected  drive  and  the  size of the swap file.  By default it 
        will hide its frame controls to lessen the amount of screen real 
        estate used.  They can be restored by double  clicking  anywhere 
        in the client area.

        Syntax

        sysinfo [drive_letter [/cal]]

        Sysinfo  will monitor a single drive for free space.  This drive 
        can be specified on the command line.  No colon is required.  If 
        not specified, it defaults to C.

        The /cal parameter is used to obtain a calibration value for the 
        CPU meter  (see  the  Details  section  for  more  info).   This 
        parameter  may  only  be  present  if  a  drive  letter  is also 
        specified.  When invoked with this parameter the  system  should 
        be in an idle state so that the calibration value is correct.

        Details

        When  started, sysinfo positions itself at the top of the screen 
        using 2 times the standard system font  height.   It  hides  its 
        frame  controls;  they may be restored by double clicking in the 
        client area.  Whenever the controls are hidden it  moves  itself 
        back up to the top of the screen, but it is possible to move the
        display by dragging anywhere in the client area.  It creates  10
        subsidiary  windows,  spaced  evenly across the client area. The 
        windows look fine on a VGA display.  They  are  probably  rather 
        crowded on an EGA and lonely on an 8514/A.  

        The free memory display is  actually  the  largest  single  free 
        block  of  of  memory  so  is  of  relatively  little value.  By 
        combining it with the swap file size you get a  better  idea  of 
        whether  memory  is actually overcommitted or merely fragmented.  
        If the swap file grows, memory  is  being  overcommitted.   This 
        code  assumes  that  the swap file is c:\os2\system\swapper.dat. 
        The swap file size is only updated every 3 seconds.
        
        The usage of the time of day value should be obvious.
        
        The CPU meter is  implemented  using  a  separate  thread  which 
        simply  counts the number of iterations through a loop made each 
        .75 seconds.  This is then expressed  as  a  percentage  of  the 
        number  of  iterations  made with the system idle (this value is 
        set by using /cal value discussed above).  The  counting  thread 
        runs  as  idle class at priority 1, since I have heard that OS/2 
        itself runs a null job at idle/0.  I have never  found  evidence 
        of  this  thread  but  it  is  very  common  in  priority  based 
        schedulers, since it lets the scheduler always find  a  runnable 
        thread.
        
        The disk free value is computed every 3 seconds.  If free  space 
        on the watched drive drops below 10%, the display turns red.
        
        This program is freeware.  Please feel free to use and modify it
        as you see fit.  If you like it, pass it on to other boards.
        
        Joe Fromm, National Computer Systems.
        
