Trailing-Edge - PDP-10 Archives - tops10and20_integ_tools_v9_3-aug-86 - tools/crc/help/lbr.hlp
There are no other files named lbr.hlp in the archive.

                LBR - a program to save space used by small files

        The LBR program was produced in  an  effort  to  save  the  considerable
quantities  of  disk  space  that are wasted in TOPS-20 by small one or two page
files.  Such files, especially files containing only a few  hundred  characters,
consume  an amount of disk space out of all proportion to their real size.  What
is more, they often contain such things as command files for the EXEC or  for  a
program  such  as a statistical package, which are only needed infrequently, and
clutter up a directory listing at other times.  Each  of  these  files  actually
uses  at  least two pages of disk space - one in the users directory (or 2 or 3)
and one from system overhead (incurred with all files).  The  LBR  program  will
compress  groups  of  these files into one file, while still allowing them to be
retrieved or updated individually.  Thus, only one page of overhead is used  for
the  entire  collection  (instead  of  one page per file) and no space is wasted
using an entire page for each file.

         LBR has been tried out on a number of likely looking directories at our
site,  and  has  proved  to  save  up  to  90% of the space consumed by a set of
little-used command files, for instance, and frequently produces  space  savings
of the order of 50% to 60%.  These are worth having, both for the individual who
now has more space to play with in his directory, and for the system, which  now
has a smaller directory to search, and more space freed from the system overhead
space of index blocks, etc.  Although the gains seen by each user  are  unlikely
to be impressive ( of the order of 10s or perhaps one or two hundred pages) they
accumulate very quickly over the whole system  to  free  a  couple  of  thousand

                Usually, you will want to use LBR  to  collect  files,  such  as
command  files,  batch  control  files, data files or the like, which you have a
number of (say at least 5 or 10) and most of which you do not need  at  any  one
time.   LBR  will  make  a "universal library" with the files - a special format
file, rather like a library produced by MAKLIB, which  contains  all  the  files
within  it,  plus  a  sort  of  directory to allow you to find individual files.
Having made the library, you can add new files to it, delete files  from  within
it,  type  them,  copy  them  out  to  temporary files for use by you or another
program, and also update them in place with new versions of them which you  have
created.   Meanwhile,  the  files  may  only  be taking up 10% of the space they
consumed while you had them all as separate files.

        All the commands in LBR follow the standard for TOPS-20 in allowing  you
to use question mark and escape characters freely to complete commands.  LBR has
extensive HELP, with individual help messages for each command, rather than  one
enormous  help  message  describing  everything.  You can use wildcards (* and %
characters) in  filenames  wherever  necessary  and  meaningful.   Most  of  the
commands that have a parallel with real files have the same name.  Thus, you use
TYPE to type a file contained in a  library,  DIRECTORY  to  get  a  listing  of
library  files,  and  COPY  to copy files from the library to normal disk files.
The new commands are REPLACE and UPDATE, to place new copies  of  files  in  the
library  when  an  old copy is already there, and INSERT, to place a totally new
file into the library.



               Note that LBR refers to  files  contained  in  the
               library as "modules" rather than as "files".  This
               avoids some semantic confusion in  certain  areas,
               and  follows  usual  practice for referring to the
               contents of a library.

@LBR                    !First we run the program

        Here the user has given a commands to create a new library for his
input files to GLIM, probably containing GLIM command sequences.

LBR>INSERT (files) *.GLM
A102.GLM [OK]
A403.GLM [OK]

        The user has now decided to place all his  or  her  GLIN  files  in  the
library,  and  having done so, could safely delete them once they exited LBR, as
they are no longer needed in his or her directory.  If it was necessary to get a
listing of the library, they would type

LBR>DIRECTORY (of modules)

        Listing of library MYCOMMANDS.LBR ON 21-JUL-82 ....

Number of modules: 28

A102                                    20-Jul-82 11:34
A403                                    20=Jul-82 11:34
ZAP                                     20-Jul-82 11:36

                A listing of the library is produced, with the insert
date and time of each file.


        This gets a copy of ZAP into an ordinary file for use by GLIM.  The file
remains  in  the library, and the copy being extracted is temporary, and will be
expunged when the user logs out.


        LBR assumes that all files in a library have the same file type.   Thus,
neither  the  byte  size nor the file extension is remembered when the file goes
into the library.  It is expected that you would one library for data files, one
for  command files, etc.  Files in a library do not have to be text files.  They
can be binary, of any description.  You can specify the byte size and  extension
to  be  used when you create the library.  If you do not, it is assumed that the
library is to be used to contain text files, and the extension for all files  in
the library is set up by the first file inserted.

        LBR takes great pains to prevent your library  being  corrupted.   While
writing  to the library, it does not allow you to control-c the program.  If you
type control-c, it takes effect as soon as LBR  has  placed  the  library  in  a
consistent  state,  so that it can be used again.  If the system crashes while a
library is being updated, LBR will usually be able to read the library, but will
not  be  able  to  add  to it without risk of corrupting it.  It will be able to
detect this, and will warn you that  you  shold  rebuild  the  library.   Either
restore  it  from  a  system  dump,  or  extract all files and then create a new
library and insert them all again.

        To prevent some problems, LBR will expunge your directory  automatically
whenever it runs out of space writing to a library.  It informs you when it does
this.  You can prevent this happening if you wish, in  which  case  the  program
pauses when there is no more disk space, and asks you to delete and expunge some
files, and then continue it.  If you do not allow the program to  continue,  the
library may become corrupted.

        Empty space accumulates eventually in a library file.  This  is  removed
by SQUEEZing the library, a process that creates a new generation of the library
with no empty space in it.  This will be performed automatically by  LBR  if  it
detects  that the library is more than 10% empty space, although you may prevent
this occurring if you wish.

        Output files produced by LBR are temporary, that is they are files which
are expunged by TOPS-20 when you log out.  It is assumed that when you extract a
file from a library, you do not want to keep it outside the  library  for  long.
You  can  prevent  files becoming temporary with the SET NO TEMPORARY command to


Should you require help, please contact the Duty User Specialist
in Room 7W015 or phone 2363.