Auiucdcs.125
net.general
utzoo!decvax!duke!uiucdcs!jerry
Mon Aug 10 22:11:08 1981
The etymology of dsw

      The etymology of dsw has long been a cause of sleepless nights  for
 persons  who  read the Unix manual description of the command.  A number
 of years ago at a Usenix conference before Usenix was called  that  (the
 good  old  days),  I managed to hear a story describing the etymology of
 dsw from one of the Unix inner circle.

      Dsw is truly a carryover from the ancient past, according  to  this
 story the command originated back in the time when a sequence of PDP 7's
 and 9's were the implementation base. At the time dsw  was  written,  no
 terminal  was available for use so Unix communicated with the developers
 via the console switch register.  Dsw was one of their tools for  manag-
 ing  the  file system since the basic inode structure had been laid out.
 Its task, as in version 6, was to delete files. The method  of  refering
 to files was slightly different in that inode numbers were directly used
 as file names. To delete a file, dsw was  loaded  into  memory  and  the
 appropriate  inode  number  entered into the switch register.  Therefore
 dsw stands for Delete via SWitch register.

      On a more serious vein, the lack of diagnostics  has  long  been  a
 problem  with Unix systems. The reasons for this are largely historical.
 First, Unix originated in the days of the Teletype, ASR  37's  were  the
 original  preferred  terminal  with  ASR  33's  going to the unfortunate
 remainder of the Unix users. Most people  who  worked  for  an  extended
 period  with  such  devices  can probably recall the initial pleasure of
 their first DECwriter terminal session. At 150 or 110  baud  you  simply
 did not want the noise and time delays caused by lengthy diagnositics.

      Secondly, while Ken Thompson and Dennis Ritchie designed  Unix  and
 the  system  interface,  a  much larger group developed the user command
 interface.  Users of the initial Unix system would feel the need  for  a
 particular  facility  and  so they would try to provide it. There was no
 project manager to encourage coherence of command structure and  a  good
 novice interface.  Accordingly, commands were named by their authors and
 typically a command not only provided no diagnostics for  the  user,  it
 also contained little or no documentation internally for system program-
 mers assigned to  maintain  the  software.   Given  such  a  development
 environment,  it  is quite a tribute to the work of Ritchie and Thompson
 that it spread outside the initial research group.

      A third reason for the poor diagnostics of most Unix  commands  was
 the  lack  of  an  easy method to write error messages on the error file
 descriptor.  No programmer wanted to send  extraneous  information  down
 standard  output since the command might be used as a filter, and printf
 only worked with one file descriptor at a time.  A programmer  was  left
 to using the write system call directly and counting the number of char-
 acters in the error message  that  he  or  she  wished  to  print.   The
 development  of  the  standard  input  output  library  by the people at
 Research Unix changed this, and so, version 7 had  quite  a  great  deal
 more diagnostic information.

      We here at the University of Illinois, Department of Computer  Sci-
 ence  have  seen much of the problems which Unix provides.  For example,
 rm * has long been a concern but changing the command to ask for permis-
 sion  to  delete  a  large  quantity of files meet with large scale user
 opposition.  The system programmer finally answered some of  the  objec-
 tions  by  allowing each individual user to set an environment string to
 indicate whether or not he or she wished  to  be  protected  from  them-
 selves.   While  our  secretaries  occasionally  have had problems using
 Unix, they have tried several times (unsuccessully) to get  the  depart-
 ment to obtain a Unix system for their exclusive use.

                                         Jerry Wall
                                         Unix system administrator
                                         University of Illinois,
                                         Department of Computer Science

-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <[email protected]>
of http://communication.ucsd.edu/A-News/


This Usenet Oldnews Archive
article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.