Subject: Changes to "Unix - Frequently Asked Questions" [Frequent posting]
Date: 13 Oct 1995 09:48:54 GMT
Expires: 3 Nov 1995 09:46:59 GMT
References: <unix-faq/faq/contents_813577619@rtfm.mit.edu>
X-Last-Updated: 1995/10/09

Archive-name: unix-faq/faq/diff

*** 2.6.1994/10/18 15:48:33
--- contents.1995/03/28 14:15:35
***************
*** 6,12 ****
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/contents
! Version: $Id: contents,v 2.6 1994/10/18 15:48:33 tmatimar Exp $
  
  The following seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
--- 6,12 ----
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/contents
! Version: $Id: contents,v 2.7 1995/03/28 14:15:14 tmatimar Exp $
  
  The following seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
***************
*** 98,103 ****
--- 98,105 ----
        3.13) How do I get rid of zombie processes that persevere?
        3.14) How do I get lines from a pipe as they are written instead of
              only in larger blocks.
+       3.15) How do I get the date into a filename?
+       3.16) Why do some scripts start with #! ... ?
  
        4.1)  How do I read characters from a terminal without requiring the user
                to hit RETURN?
***************
*** 131,137 ****
        6.1)  Disclaimer and introduction.
        6.2)  A very brief look at Unix history.
        6.3)  Main Unix flavors.
!       6.4)  Unix Standards.
        6.5)  Identifying your Unix flavor.
        6.6)  Brief notes on some well-known (commercial/PD) Unices.
        6.7)  Real-time Unices.
--- 133,139 ----
        6.1)  Disclaimer and introduction.
        6.2)  A very brief look at Unix history.
        6.3)  Main Unix flavors.
!       6.4)  Main Players and Unix Standards.
        6.5)  Identifying your Unix flavor.
        6.6)  Brief notes on some well-known (commercial/PD) Unices.
        6.7)  Real-time Unices.
*** 2.6.1994/10/18 15:48:33
--- part1.1995/10/09 20:25:44
***************
*** 6,12 ****
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part1
! Version: $Id: part1,v 2.6 1994/10/18 15:48:33 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
--- 6,12 ----
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part1
! Version: $Id: part1,v 2.8 1995/10/09 20:25:34 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
***************
*** 81,91 ****
  
  1.1)  Who helped you put this list together?
  
-       Happy Birthday Unix FAQ.  The Unix FAQ is now over 5 years old!
-       Everyone who ever contributed to this FAQ is encouraged to go out
-       and have a piece of birthday cake.  Unfortunately, I can't distribute
-       the cake by email, so you'll have to make your own.  :-)
- 
        This document was one of the first collections of Frequently Asked
        Questions.  It was originally compiled in July 1989.
  
--- 81,86 ----
***************
*** 114,124 ****
  
        I make this document available in *roff format (ms and mm macro
        packages).  Andrew Cromarty has also converted it into Texinfo format.
  
  ------------------------------
  
  Subject: When someone refers to 'rn(1)' ...  the number in parentheses mean?
! Date: Thu Mar 18 17:16:55 EST 1993
  
  1.2)  When someone refers to 'rn(1)' or 'ctime(3)', what does
        the number in parentheses mean?
--- 109,134 ----
  
        I make this document available in *roff format (ms and mm macro
        packages).  Andrew Cromarty has also converted it into Texinfo format.
+       Marty Leisner <leisner@sdsp.mc.xerox.com> cleaned up the Texinfo
+ .  version.
+ 
+       Major contributors to the this document who may or may not be
+       recognized elsewhere are:
+ 
+         Steve Hayman <shayman@Objectario.com>
+         Pierre Lewis <lew@bnr.ca>
+         Jonathon Kamens <jik@gza.com>
+         Tom Christiansen <tchrist@mox.perl.com>
+         Maarten Litmaath <maart@nat.vu.nl>
+         Guy Harris <guy@auspex.com>
  
+       The formatted versions are available for anonymous ftp from
+       ftp.wg.omron.co.jp under pub/unix-faq/docs .
+ 
  ------------------------------
  
  Subject: When someone refers to 'rn(1)' ...  the number in parentheses mean?
! Date: Tue, 13 Dec 1994 16:37:26 -0500
  
  1.2)  When someone refers to 'rn(1)' or 'ctime(3)', what does
        the number in parentheses mean?
***************
*** 202,208 ****
          which is what the "cat" command does to one or more files.  Not
          to be confused with C/A/T, the Computer Aided Typesetter.
  
!       gecos = "General Electric Comprehensive Operating System"
          
          When GE's large systems division was sold to Honeywell,
          Honeywell dropped the "E" from "GECOS".
--- 212,218 ----
          which is what the "cat" command does to one or more files.  Not
          to be confused with C/A/T, the Computer Aided Typesetter.
  
!       gecos = "General Electric Comprehensive Operating Supervisor"
          
          When GE's large systems division was sold to Honeywell,
          Honeywell dropped the "E" from "GECOS".
*** 2.6.1994/10/18 15:48:33
--- part2.1995/10/09 20:25:44
***************
*** 6,12 ****
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part2
! Version: $Id: part2,v 2.6 1994/10/18 15:48:33 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
--- 6,12 ----
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part2
! Version: $Id: part2,v 2.8 1995/10/09 20:25:34 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
***************
*** 756,761 ****
--- 756,763 ----
  
        but even it will mess up on files with newlines, IFS characters
        or wildcards in their names.
+ 
+       In ksh, you can use:  .!(.|) *
  
  ------------------------------
  
*** 2.6.1994/10/18 15:48:33
--- part3.1995/10/09 20:25:44
***************
*** 6,12 ****
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part3
! Version: $Id: part3,v 2.6 1994/10/18 15:48:33 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
--- 6,12 ----
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part3
! Version: $Id: part3,v 2.8 1995/10/09 20:25:34 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
***************
*** 66,71 ****
--- 66,73 ----
        3.13) How do I get rid of zombie processes that persevere?
        3.14) How do I get lines from a pipe as they are written instead of
              only in larger blocks.
+       3.15) How do I get the date into a filename?
+       3.16) Why do some scripts start with #! ... ?
  
  If you're looking for the answer to, say, question 3.5, and want to skip
  everything else, you can search ahead for the regular expression "^3.5)".
***************
*** 145,158 ****
  ------------------------------
  
  Subject: How do I truncate a file?
! Date: Thu Mar 18 17:16:55 EST 1993
  
  3.3)  How do I truncate a file?
  
!       The BSD function ftruncate() sets the length of a file.  Xenix -
!       and therefore SysV r3.2 and later - has the chsize() system
!       call.  For other systems, the only kind of truncation you can do
!       is truncation to length zero with creat() or open(..., O_TRUNC).
  
  ------------------------------
  
--- 147,275 ----
  ------------------------------
  
  Subject: How do I truncate a file?
! Date: Mon, 27 Mar 1995 18:09:10 -0500
  
  3.3)  How do I truncate a file?
  
!       The BSD function ftruncate() sets the length of a file.
!       (But not all versions behave identically.)  Other Unix variants
!       all seem to support some version of truncation as well.
! 
!       For systems which support the ftruncate function, there are
!       three known behaviours: 
! 
!       BSD 4.2 - Ultrix, SGI, LynxOS
!               - truncation doesn't grow file
!               - truncation doesn't move file pointer
! 
! 
!       BSD 4.3 - SunOS, Solaris, OSF/1, HP/UX, Amiga
!               - truncation can grow file
!               - truncation doesn't move file pointer
! 
!       Cray    - UniCOS 7, UniCOS 8
!               - truncation doesn't grow file
!               - truncation changes file pointer
! 
!       Other systems come in four varieties:
! 
!       F_CHSIZE - Only SCO
!                - some systems define F_CHSIZE but don't support it
!                - behaves like BSD 4.3
! 
!       F_FREESP - Only Interative Unix
!                - some systems (eg. Interactive Unix) define F_FREESP but
!                    don't support it
!                - behaves like BSD 4.3
! 
!       chsize() - QNX and SCO
!                - some systems (eg. Interactive Unix) have chsize() but
!                    don't support it
!                - behaves like BSD 4.3
! 
!       nothing  - no known systems
!                - there will be systems that don't support truncate at all
! 
! 
!       Moderator's Note: I grabbed the functions below a few years back.
!                         I can no longer identify the original author.
!                         S. Spencer Sun <spencer@ncd.com> has also
!                         contributed a version for F_FREESP.
! 
!       functions for each non-native ftruncate follow
! 
!       /* ftruncate emulations that work on some System V's.
!          This file is in the public domain. */
! 
!       #include 
!       #include 
! 
!       #ifdef F_CHSIZE
!       int
!       ftruncate (fd, length)
!            int fd;
!            off_t length;
!       {
!         return fcntl (fd, F_CHSIZE, length);
!       }
!       #else
!       #ifdef F_FREESP
!       /* The following function was written by
!          kucharsk@Solbourne.com (William Kucharski) */
! 
!       #include 
!       #include 
!       #include 
! 
!       int
!       ftruncate (fd, length)
!            int fd;
!            off_t length;
!       {
!         struct flock fl;
!         struct stat filebuf;
! 
!         if (fstat (fd, &filebuf) < 0)
!           return -1;
! 
!         if (filebuf.st_size < length)
!           {
!             /* Extend file length. */
!             if (lseek (fd, (length - 1), SEEK_SET) < 0)
!               return -1;
! 
!             /* Write a "0" byte. */
!             if (write (fd, "", 1) != 1)
!               return -1;
!           }
!         else
!           {
!             /* Truncate length. */
!             fl.l_whence = 0;
!             fl.l_len = 0;
!             fl.l_start = length;
!             fl.l_type = F_WRLCK;      /* Write lock on file space. */
! 
!             /* This relies on the UNDOCUMENTED F_FREESP argument to
!                fcntl, which truncates the file so that it ends at the
!                position indicated by fl.l_start.
!                Will minor miracles never cease? */
!             if (fcntl (fd, F_FREESP, &fl) < 0)
!               return -1;
!           }
! 
!         return 0;
!       }
!       #else
!       int
!       ftruncate (fd, length)
!            int fd;
!            off_t length;
!       {
!         return chsize (fd, length);
!       }
!       #endif
!       #endif
  
  ------------------------------
  
***************
*** 556,562 ****
  
        If you want to check on the exit status of the remote program,
        you can try using Maarten Litmaath's 'ersh' script, which was
!       posted to alt.sources in January, 1991.  ersh is a shell script
        that calls rsh, arranges for the remote machine to echo the
        status of the command after it completes, and exits with that
        status.
--- 673,679 ----
  
        If you want to check on the exit status of the remote program,
        you can try using Maarten Litmaath's 'ersh' script, which was
!       posted to alt.sources in October 1994.  ersh is a shell script
        that calls rsh, arranges for the remote machine to echo the
        status of the command after it completes, and exits with that
        status.
***************
*** 614,619 ****
--- 731,741 ----
        specified, so you need to add a "-" argument to the end of your
        command, as I did at (3) above.
  
+       A third option is to use a newer version of awk (nawk), which allows
+       direct access to environment vairables.  Eg.
+ 
+         nawk 'END { print "Your path variable is " ENVIRON["PATH"] }' /dev/null
+ 
  ------------------------------
  
  Subject: How do I get rid of zombie processes that persevere?
***************
*** 738,743 ****
--- 860,1092 ----
        If not, the best you can do is try to convince the program that
        it's running on a tty by running it under a pty, e.g. by using
        the "pty" program mentioned in question 3.9.
+ 
+ ------------------------------
+ 
+ Subject: How do I get the date into a filename?
+ From: melodie neal <melodie@comtech.ct.oz.au>
+ Date: Fri, 7 Oct 1994 09:27:33 -0400
+ 
+ 3.15) How do I get the date into a filename?
+ 
+       This isn't hard, but it is a bit cryptic at first sight.  Let's
+       begin with the date command itself:  date can take a formatting
+       string, to modify the way in which the date info is printed.  The
+       formatting string has to be enclosed in quotes, to stop the shell
+       trying to interpret it before the date command itself gets it.
+       Try this:
+ 
+         date '+%d%m%y'
+ 
+       you should get back something like 130994.  If you want to
+       punctuate this, just put the characters you would like to use in
+       the formatting string (NO SLASHES '/'):
+ 
+         date '+%d.%m.%y'
+ 
+       There are lots of token you can use in the formatting string:
+       have a look at the man page for date to find out about them.
+ 
+       Now, getting this into a file name.  Let's say that we want to
+       create files called report.130994 (or whatever the date is today):
+ 
+         FILENAME=report.`date '+%d%m%y'`
+ 
+       Notice that we are using two sets of quotes here:  the inner set
+       are to protect the formatting string from premature
+       interpretation;  the outer set are to tell the shell to execute
+       the enclosed command, and substitute the result into the
+       expression (command substitution).
+ 
+ ------------------------------
+ 
+ Subject: Why do some scripts start with #! ... ?
+ From: chip@@chinacat.unicom.com (Chip Rosenthal)
+ Date: Tue, 14 Jul 1992 21:31:54 GMT
+ 
+ 3.16) Why do some scripts start with #! ... ?
+ 
+       Chip Rosenthal has answered a closely related question in
+       comp.unix.xenix in the past.
+ 
+       I think what confuses people is that there exist two different
+       mechanisms, both spelled with the letter `#'.  They both solve the
+       same problem over a very restricted set of cases -- but they are
+       none the less different.
+ 
+       Some background.  When the UNIX kernel goes to run a program (one
+       of the exec() family of system calls), it takes a peek at the
+       first 16 bits of the file.  Those 16 bits are called a `magic
+       number'.  First, the magic number prevents the kernel from doing
+       something silly like trying to execute your customer database
+       file.  If the kernel does not recognize the magic number then it
+       complains with an ENOEXEC error.  It will execute the program only
+       if the magic number is recognizable.
+ 
+       Second, as time went on and different executable file formats were
+       introduced, the magic number not only told the kernel *if* it
+       could execute the file, but also *how* to execute the file.  For
+       example, if you compile a program on an SCO XENIX/386 system and
+       carry the binary over to a SysV/386 UNIX system, the kernel will
+       recognize the magic number and say `Aha!  This is an x.out
+       binary!' and configure itself to run with XENIX compatible system
+       calls.
+ 
+       Note that the kernel can only run binary executable images.  So
+       how, you might ask, do scripts get run?  After all, I can type
+       `my.script' at a shell prompt and I don't get an ENOEXEC error.
+       Script execution is done not by the kernel, but by the shell.  The
+       code in the shell might look something like:
+ 
+         /* try to run the program */
+         execl(program, basename(program), (char *)0);
+ 
+         /* the exec failed -- maybe it is a shell script? */
+         if (errno == ENOEXEC)
+             execl ("/bin/sh", "sh", "-c", program, (char *)0);
+ 
+         /* oh no mr bill!! */
+         perror(program);
+         return -1;
+ 
+             (This example is highly simplified.  There is a lot
+             more involved, but this illustrates the point I'm
+             trying to make.)
+ 
+       If execl() is successful in starting the program then the code
+       beyond the execl() is never executed.  In this example, if we can
+       execl() the `program' then none of the stuff beyond it is run.
+       Instead the system is off running the binary `program'.
+ 
+       If, however, the first execl() failed then this hypothetical shell
+       looks at why it failed.  If the execl() failed because `program'
+       was not recognized as a binary executable, then the shell tries to
+       run it as a shell script.
+ 
+       The Berkeley folks had a neat idea to extend how the kernel starts
+       up programs.  They hacked the kernel to recognize the magic number
+       `#!'.  (Magic numbers are 16-bits and two 8-bit characters makes
+       16 bits, right?)  When the `#!' magic number was recognized, the
+       kernel would read in the rest of the line and treat it as a
+       command to run upon the contents of the file.  With this hack you
+       could now do things like:
+ 
+         #! /bin/sh
+ 
+         #! /bin/csh
+ 
+         #! /bin/awk -F:
+ 
+       This hack has existed solely in the Berkeley world, and has
+       migrated to USG kernels as part of System V Release 4.  Prior to
+       V.4, unless the vendor did some special value added, the kernel
+       does not have the capability of doing anything other than loading
+       and starting a binary executable image.
+ 
+       Now, lets rewind a few years, to the time when more and more folks
+       running USG based unices were saying `/bin/sh sucks as an
+       interactive user interface!  I want csh!'.  Several vendors did
+       some value added magic and put csh in their distribution, even
+       though csh was not a part of the USG UNIX distribution.
+ 
+       This, however, presented a problem.  Let's say you switch your
+       login shell to /bin/csh.  Let's further suppose that you are a
+       cretin and insist upon programming csh scripts.  You'd certainly
+       want to be able to type `my.script' and get it run, even though it
+       is a csh script.  Instead of pumping it through /bin/sh, you want
+       the script to be started by running:
+ 
+         execl ("/bin/csh", "csh", "-c", "my.script", (char *)0);
+ 
+       But what about all those existing scripts -- some of which are
+       part of the system distribution?  If they started getting run by
+       csh then things would break.  So you needed a way to run some
+       scripts through csh, and others through sh.
+ 
+       The solution introduced was to hack csh to take a look at the
+       first character of the script you are trying to run.  If it was a
+       `#' then csh would try to run the script through /bin/csh,
+       otherwise it would run the script through /bin/sh.  The example
+       code from the above might now look something like:
+ 
+         /* try to run the program */
+         execl(program, basename(program), (char *)0);
+ 
+         /* the exec failed -- maybe it is a shell script? */
+         if (errno == ENOEXEC && (fp = fopen(program, "r")) != NULL) {
+             i = getc(fp);
+             (void) fclose(fp);
+             if (i == '#')
+                 execl ("/bin/csh", "csh", "-c", program, (char *)0);
+             else
+                 execl ("/bin/sh", "sh", "-c", program, (char *)0);
+         }
+ 
+         /* oh no mr bill!! */
+         perror(program);
+         return -1;
+ 
+       Two important points.  First, this is a `csh' hack.  Nothing has
+       been changed in the kernel and nothing has been changed in the
+       other shells.  If you try to execl() a script, whether or not it
+       begins with `#', you will still get an ENOEXEC failure.  If you
+       try to run a script beginning with `#' from something other than
+       csh (e.g. /bin/sh), then it will be run by sh and not csh.
+ 
+       Second, the magic is that either the script begins with `#' or it
+       doesn't begin with `#'.  What makes stuff like `:' and `: /bin/sh'
+       at the front of a script magic is the simple fact that they are
+       not `#'.  Therefore, all of the following are identical at the
+       start of a script:
+ 
+         :
+ 
+         : /bin/sh
+ 
+                         <--- a blank line
+ 
+         : /usr/games/rogue
+ 
+         echo "Gee...I wonder what shell I am running under???"
+ 
+       In all these cases, all shells will try to run the script with /bin/sh.
+ 
+       Similarly, all of the following are identical at the start of a script:
+ 
+         #
+ 
+         # /bin/csh
+ 
+         #! /bin/csh
+ 
+         #! /bin/sh
+ 
+         # Gee...I wonder what shell I am running under???
+ 
+       All of these start with a `#'.  This means that the script will be
+       run by csh *only* if you try to start it from csh, otherwise it
+       will be run by /bin/sh.
+ 
+             (Note:  if you are running ksh, substitute `ksh' for
+             `sh' in the above.  The Korn shell is theoretically
+             compatible with Bourne shell, so it tries to run these
+             scripts itself.  Your mileage may vary on some of the
+             other available shells such as zsh, bash, etc.)
+ 
+       Obviously, if you've got support for `#!' in the kernel then the
+       `#' hack becomes superfluous.  In fact, it can be dangerous
+       because it creates confusion over what should happen with `#! /bin/sh'.
+ 
+       The `#!' handling is becoming more and more prevelant.  System V
+       Release 4 picks up a number of the Berkeley features, including
+       this.  Some System V Release 3.2 vendors are hacking in some of
+       the more visible V.4 features such as this and trying to convince
+       you this is sufficient and you don't need things like real,
+       working streams or dynamically adjustable kernel parameters.
+ 
+       XENIX does not support `#!'.  The XENIX /bin/csh does have the `#'
+       hack.  Support for `#!' in XENIX would be nice, but I wouldn't
+       hold my breath waiting for it.
  
  ------------------------------
  
*** 2.6.1994/10/18 15:48:33
--- part4.1995/10/09 20:25:45
***************
*** 6,12 ****
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part4
! Version: $Id: part4,v 2.6 1994/10/18 15:48:33 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
--- 6,12 ----
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part4
! Version: $Id: part4,v 2.8 1995/10/09 20:25:34 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
***************
*** 135,147 ****
  
        Certain versions of UNIX provide ways to check whether characters
        are currently available to be read from a file descriptor.  In
!       BSD, you can use select(2).  You can also use the FIONREAD ioctl
!       (see tty(4)), which returns the number of characters waiting to
!       be read, but only works on terminals, pipes and sockets.  In
!       System V Release 3, you can use poll(2), but that only works on
!       streams.  In Xenix - and therefore Unix SysV r3.2 and later - the
!       rdchk() system call reports whether a read() call on a given file
!       descriptor will block.
  
        There is no way to check whether characters are available to be
        read from a FILE pointer.  (You could poke around inside stdio
--- 135,146 ----
  
        Certain versions of UNIX provide ways to check whether characters
        are currently available to be read from a file descriptor.  In
!       BSD, you can use select(2).  You can also use the FIONREAD ioctl,
!       which returns the number of characters waiting to be read, but
!       only works on terminals, pipes and sockets.  In System V Release
!       3, you can use poll(2), but that only works on streams.  In Xenix
!       - and therefore Unix SysV r3.2 and later - the rdchk() system call
!       reports whether a read() call on a given file descriptor will block.
  
        There is no way to check whether characters are available to be
        read from a FILE pointer.  (You could poke around inside stdio
***************
*** 339,344 ****
--- 338,345 ----
        resolution is limited to the kernel HZ value, since it uses the
        kernel delay() routine.)
  
+       Many newer versions of Unix have a nanosleep function.
+ 
  ------------------------------
  
  Subject: How can I get setuid shell scripts to work?
***************
*** 500,511 ****
        pff is part of the kstuff package, and works on quite a few systems.
        Instructions for obtaining kstuff are provided in question 3.10.
  
  ------------------------------
  
  Subject: How do I keep track of people who are fingering me?
! From: jik@rtfm.MIT.EDU (Jonathan I. Kamens)
  From: malenovi@plains.NoDak.edu (Nikola Malenovic)
! Date: Mon, 23 Nov 1992 16:01:45 -0600
  
  4.9)  How do I keep track of people who are fingering me?
  
--- 501,522 ----
        pff is part of the kstuff package, and works on quite a few systems.
        Instructions for obtaining kstuff are provided in question 3.10.
  
+       I've been informed that there is also a program called lsof.  I
+       don't know where it can be obtained.
+ 
+       Michael Fink <Michael.Fink@uibk.ac.at> adds:
+ 
+         If you are unable to unmount a file system for which above tools
+         do not report any open files make sure that the file system that
+         you are trying to unmount does not contain any active mount
+         points (df(1)).
+ 
  ------------------------------
  
  Subject: How do I keep track of people who are fingering me?
! From: jik@cam.ov.com (Jonathan I. Kamens)
  From: malenovi@plains.NoDak.edu (Nikola Malenovic)
! Date: Thu, 29 Sep 1994 07:28:37 -0400
  
  4.9)  How do I keep track of people who are fingering me?
  
***************
*** 518,526 ****
  
        You can then start up a program that will open your .plan file
        for writing; the open will block until some other process (namely
!       fingerd) opens the .plan for reading.  Now you can whatever you
        want through this pipe, which lets you show different .plan
!       information every time someone fingers you.
  
        Of course, this may not work at all if your system doesn't
        support named pipes or if your local fingerd insists
--- 529,539 ----
  
        You can then start up a program that will open your .plan file
        for writing; the open will block until some other process (namely
!       fingerd) opens the .plan for reading.  Now you can feed whatever you
        want through this pipe, which lets you show different .plan
!       information every time someone fingers you.  One program for
!       doing this is the "planner" package in volume 41 of the
!       comp.sources.misc archives.
  
        Of course, this may not work at all if your system doesn't
        support named pipes or if your local fingerd insists
***************
*** 567,573 ****
  
        Most variants of Unix do not support "detaching" and "attaching"
        processes, as operating systems such as VMS and Multics support.
!       However, there are two freely redistributable packages which can
        be used to start processes in such a way that they can be later
        reattached to a terminal.
  
--- 580,586 ----
  
        Most variants of Unix do not support "detaching" and "attaching"
        processes, as operating systems such as VMS and Multics support.
!       However, there are three freely redistributable packages which can
        be used to start processes in such a way that they can be later
        reattached to a terminal.
  
***************
*** 581,587 ****
        "pty" in volume 23).  pty is designed for use under BSD-like
        system only.
  
!       Neither of these packages is retroactive, i.e. you must have
        started a process under screen or pty in order to be able to
        detach and reattach it.
  
--- 594,605 ----
        "pty" in volume 23).  pty is designed for use under BSD-like
        system only.
  
! .  The third is "dislocate," which is a script that comes with the
! .  expect distribution.  Unlike the previous two, this should run on
! .  all UNIX versions.  Details on getting expect can be found in
! .  question 3.9 .
! 
!       None of these packages is retroactive, i.e. you must have
        started a process under screen or pty in order to be able to
        detach and reattach it.
  
***************
*** 588,594 ****
  ------------------------------
  
  Subject: Is it possible to "spy" on a terminal ... ?
! Date: Thu Mar 18 17:16:55 EST 1993
  
  4.11) Is it possible to "spy" on a terminal, displaying the output
        that's appearing on it on another terminal?
--- 606,612 ----
  ------------------------------
  
  Subject: Is it possible to "spy" on a terminal ... ?
! Date: Wed, 28 Dec 1994 18:35:00 -0500
  
  4.11) Is it possible to "spy" on a terminal, displaying the output
        that's appearing on it on another terminal?
***************
*** 633,638 ****
--- 651,665 ----
          computer->terminal wires, this isn't much of a problem.  This is
          not something that should be attempted by anyone who is not very
          familiar with terminal wiring and such.
+ 
+       * The latest version of screen includes a multi-user mode.
+         Some details about screen can be found in question 4.10.
+ 
+       * If the system being used has streams (SunOS, SVR4), the advise
+         program that was posted in volume 28 of comp.sources.misc can
+         be used.  AND it doesn't requirethat it be run first (you do
+         have to configure your system in advance to automatically push
+         the advise module on the stream whenever a tty or pty is opened).
  
  ------------------------------
  
*** 2.6.1994/10/18 15:48:33
--- part5.1995/10/09 20:25:45
***************
*** 6,12 ****
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part5
! Version: $Id: part5,v 2.6 1994/10/18 15:48:33 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
--- 6,12 ----
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part5
! Version: $Id: part5,v 2.8 1995/10/09 20:25:34 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
***************
*** 184,190 ****
            version puts them in different places.
  
            Start-up (in this order):
!               .cshrc   - always.
                .login   - login shells.
  
            Upon termination:
--- 184,190 ----
            version puts them in different places.
  
            Start-up (in this order):
!               .cshrc   - always; unless the -f option is used.
                .login   - login shells.
  
            Upon termination:
***************
*** 220,227 ****
        ksh
            Start-up (in this order):
                /etc/profile - login shells.
!               .profile     - login shells.
!               $ENV         - always, if it is set.
  
            Upon termination:
                any command (or script) specified using the command:
--- 220,228 ----
        ksh
            Start-up (in this order):
                /etc/profile - login shells.
!               .profile     - login shells; unless the -p option is used.
!               $ENV         - always, if it is set; unless the -p option is used.
! ...  /etc/suid_profile - when the -p option is used.
  
            Upon termination:
                any command (or script) specified using the command:
*** 2.6.1994/10/18 15:48:33
--- part6.1995/10/09 20:25:45
***************
*** 6,12 ****
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part6
! Version: $Id: part6,v 2.6 1994/10/18 15:48:33 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
--- 6,12 ----
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part6
! Version: $Id: part6,v 2.8 1995/10/09 20:25:34 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
***************
*** 77,87 ****
  
  Subject: Disclaimer, introduction and acknowledgements.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Mon May 30 15:44:28 EDT 1994
! X-Version: 2.6
  
  6.1)  Disclaimer, introduction and acknowledgements.
  
        The following is offered with no guarantee as to accuracy or
        completeness.  I have done what I can in the time available,
        often with conflicting information, and it still is very much work
--- 77,91 ----
  
  Subject: Disclaimer, introduction and acknowledgements.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Tue Aug 15 15:14:00 EDT 1995
! X-Version: 2.9
  
  6.1)  Disclaimer, introduction and acknowledgements.
  
+       NOTE TO READERS: I would like to update this FAQ with WWW pointers
+       for the various Unices I mention. Don't hesitate to send them along,
+       I'll eventually get around to updating this part. Email: lew@bnr.ca
+ 
        The following is offered with no guarantee as to accuracy or
        completeness.  I have done what I can in the time available,
        often with conflicting information, and it still is very much work
***************
*** 93,104 ****
        integration of file and device I/O, whose system call interface
        includes services such as fork(), pipe(), and whose user
        interface includes tools such as cc, troff, grep, awk, and a
!       choice of shell.  Note that UNIX is a registered trademark of USL
!       (AT&T), but will be used here in its generic sense.
  
        Most Unices (the more common plural form) are derived more or
!       less directly from AT&T code (some code from the first C version
!       is presumably still left in most), but there are also clones
        (i.e. Unix-compatible systems with no AT&T code).
  
        In addition, there are also Unix-like environments (e.g. VOS)
--- 97,108 ----
        integration of file and device I/O, whose system call interface
        includes services such as fork(), pipe(), and whose user
        interface includes tools such as cc, troff, grep, awk, and a
!       choice of shell.  Note that UNIX was a registered trademark of USL
!       (AT&T), now of X/Open, but will be used here in its generic sense.
  
        Most Unices (the more common plural form) are derived more or
!       less directly from AT&T (now Novell) code (some code from the first C
!       version is presumably still left in most), but there are also clones
        (i.e. Unix-compatible systems with no AT&T code).
  
        In addition, there are also Unix-like environments (e.g. VOS)
***************
*** 128,135 ****
        dan@fch.wimsey.bc.ca, jlbrand@uswnvg.com, jpazer@usl.com,
        ym@satelnet.org, merritt@gendev.slc.paramax.com, quinlan@yggdrasil.com,
        steve@rudolph.ssd.csd.harris.com, bud@heinous.isca.uiowa.edu,
!       many that I forgot, and all the other
!       folks whose posts I read. Many thanks!
  
  ------------------------------
  
--- 132,143 ----
        dan@fch.wimsey.bc.ca, jlbrand@uswnvg.com, jpazer@usl.com,
        ym@satelnet.org, merritt@gendev.slc.paramax.com, quinlan@yggdrasil.com,
        steve@rudolph.ssd.csd.harris.com, bud@heinous.isca.uiowa.edu,
!       pcu@umich.edu, quinlan@yggdrasil.com, Dan_Menchaca@quickmail.apple.com,
!       D.Lamptey@sheffield.ac.uk, derekn@vw.ece.cmu.edu, gordon@PowerOpen.org,
!       romain@pyramid.com, rzm@dain.oso.chalmers.se, chen@adi.com,
!       tbm@tci002.uibk.ac.at, sllewis@nando.net, edwin@modcomp.demon.co.uk,
!       many that I forgot, and all the other folks whose posts I read. Many
!       thanks!
  
  ------------------------------
  
***************
*** 202,208 ****
        2nd edition of his book on C++), but we don't seem to hear much
        about this otherwise.  The company now responsible for Unix
        (System V) is called Unix System Laboratories (USL) and is
!       majority-owned by AT&T.  Novell has bought USL (early 93)?!
        Novell has given rights to the "UNIX" trademark to X/Open (late 93).
  
        But much happened to Unix outside AT&T, especially at Berkeley
--- 210,216 ----
        2nd edition of his book on C++), but we don't seem to hear much
        about this otherwise.  The company now responsible for Unix
        (System V) is called Unix System Laboratories (USL) and is
!       majority-owned by AT&T.  Novell has bought USL (early 93)!
        Novell has given rights to the "UNIX" trademark to X/Open (late 93).
  
        But much happened to Unix outside AT&T, especially at Berkeley
***************
*** 218,228 ****
  
  Subject: Main Unix flavors.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Mon May 30 15:44:28 EDT 1994
  X-Version: 2.7
  
  6.3)  Main Unix flavors.
  
        Until recently, there were basically two main flavors of Unix:
        System V (five) from AT&T, and the Berkeley Software Distribution
        (BSD).  SVR4 is essentially a merge of these two flavors.  End
--- 226,238 ----
  
  Subject: Main Unix flavors.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Mon Jan  9 16:59:14 EST 1995
  X-Version: 2.7
  
  6.3)  Main Unix flavors.
  
+       The following is very much an early '90s view.
+ 
        Until recently, there were basically two main flavors of Unix:
        System V (five) from AT&T, and the Berkeley Software Distribution
        (BSD).  SVR4 is essentially a merge of these two flavors.  End
***************
*** 383,389 ****
  
        Two very good books describe the internals of the two main flavors.
        These are:
!       - System V: "Design of the Unix Operating SYstem", M.J. Bach.
        - BSD: "Design and Implementation of the 4.3BSD Unix Operating System",
          Leffler, McKusick, Karels, Quaterman.
        For a good introduction to OSF/1 (not quite as technical as the
--- 393,399 ----
  
        Two very good books describe the internals of the two main flavors.
        These are:
!       - System V: "Design of the Unix Operating System", M.J. Bach.
        - BSD: "Design and Implementation of the 4.3BSD Unix Operating System",
          Leffler, McKusick, Karels, Quaterman.
        For a good introduction to OSF/1 (not quite as technical as the
***************
*** 399,412 ****
  
  ------------------------------
  
! Subject: Unix Standards.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Mon May 30 15:44:28 EDT 1994
! X-Version: 2.6
  
! 6.4)  Unix Standards.
  
!       This section briefly describes the more important standards
        relevant to Unix.
  
        - IEEE:
--- 409,434 ----
  
  ------------------------------
  
! Subject: Main Players and Unix Standards.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Mon Jan 21 16:59:14 EST 1995
! X-Version: 2.8
! 
! 6.4)  Main Players and Unix Standards.
  
!       The more important players in the Unix scene currently (early '95)
!       are (corrections most welcome, these are new bytes):
  
!       - Novell who bought USL (early 93) and now has the source code.
!       - X/Open who has the branding rights to "UNIX" trademark.
!       - OSF, both as developer of OSF/1 and Motif, and as organization
!         overseeing COSE (OSF's new working model). OSF was reorganized in
!         1994 (and Sun joined), relationship with X/Open has been formalized.
!       - IEEE with POSIX, LAN standards.
!       - PowerOpen [IBM, Apple, Motorola, Bull, others] promoting the PowerPC.
!         Do not confuse with graphical environment of same name.
! 
!       The following briefly describes the more important standards
        relevant to Unix.
  
        - IEEE:
***************
*** 456,466 ****
          - X/Open now has the rights to the "UNIX" trademark (late 93);
          - "Spec 1170"
            - This specification is being prepared describing a common API
!             which vendors wanting to use the name "UNIX" will have to comply
!             to (when test suites are available). Merge of SVID, OSF's AES
!             and other stuff.
  
        - AT&T
          - System V Interface Definition (SVID)
            - SVID1 (1985, SVR2)
              Vol 1:  system calls and libraries (similar to XPG2.1)
--- 478,490 ----
          - X/Open now has the rights to the "UNIX" trademark (late 93);
          - "Spec 1170"
            - This specification is being prepared describing a common API
!             to which vendors wanting to use the name "UNIX" will have to
!             comply (when test suites are available). Merge of SVID,
!             OSF's AES and other stuff.
  
        - AT&T
+         (is this still relevant in 1994? Who is now responsible for SVID,
+         TLI, APLI?)
          - System V Interface Definition (SVID)
            - SVID1 (1985, SVR2)
              Vol 1:  system calls and libraries (similar to XPG2.1)
***************
*** 475,480 ****
--- 499,537 ----
            - Transport Library Interface (TLI)
            - ACSE/Presentation Library Interface (APLI)
  
+       - COSE (COmmon Open Software Environment) [IBM, HP, SunSoft, others]:
+         objective is to bring different Unix platforms closer together.
+         Initiatives in the following areas:
+         - desktop environments
+         - application API (aka Spec 1170 -- a single programming i/f) --
+           probably the more important achievement at this point: eliminates
+           differences between SCO, AIX, Solaris, HP-UX, UnixWare.
+         - distributed computing services (OSF's DCE and SunSoft's ONC)
+         - object technologies (OMG's CORBA)
+         - graphics
+         - multimedia
+         - systems management
+ 
+       - PowerOpen Environment (POE) promoted by the PowerOpen association
+         (POA). A standard for Unix-like OSs running on PowerPC chip. Defines:
+         - an API (application programming i/f, derived from AIX, conforms to
+           POSIX, XPG4, Motif, &c) and
+         - an ABI (application binary i/f), a distinguishing factor from other
+           standards such as POSIX, XPG4, &c.. Any POE-compliant system will
+           be able to run all POE software.
+         Key features:
+         - based on the PowerPC architecture
+         - hardware bus independence
+         - system implementations can range from laptops to supercomputers
+         - requires a multi-user, multi-tasking operating system
+         - networking support
+         - X windows extension, Motif
+         - conformance tested and certified by an independent party (POA)
+         AIX 4.1.1 will be PowerOpen compliant. MacOS isn't and won't be.
+         [above adapted from the powerpc-faq from comp.sys.powerpc]
+ 
+         IBM is involved in both COSE and POE. How will the two interact?
+ 
  ------------------------------
  
  Subject: Identifying your Unix flavor.
***************
*** 523,534 ****
        string fcns       memset, memcpy          bzero, bcopy
        process mapping   /proc  (SVR4)
  
  ------------------------------
  
  Subject: Brief notes on some well-known (commercial/PD) Unices.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Mon May 30 15:44:28 EDT 1994
! X-Version: 2.6
  
  6.6)  Brief notes on some well-known (commercial/PD) Unices.
  
--- 580,593 ----
        string fcns       memset, memcpy          bzero, bcopy
        process mapping   /proc  (SVR4)
  
+       As we move to the late '90s, this is probably less and less relevant.
+ 
  ------------------------------
  
  Subject: Brief notes on some well-known (commercial/PD) Unices.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Tue Aug 15 15:14:00 EDT 1995
! X-Version: 2.9
  
  6.6)  Brief notes on some well-known (commercial/PD) Unices.
  
***************
*** 553,558 ****
--- 612,618 ----
           - 2.x (for PC RTs)
           - 3.x (for RS/6000), paging kernel, logical volume manager, i18n;
             3.2 adds TLI/STREAMS.  SV-based with many enhancements.
+            4.1 is latest (includes support for PowerPC?)
           - AIX/ESA, runs native on S/370 and S/390 mainframes, based on OSF/1.
           AIX was to have been base for OSF/1 until Mach was chosen instead.
           I hope this subsection is converging :-)
***************
*** 562,567 ****
--- 622,629 ----
  
        Arix:  SV
  
+       A3000UX (Commodore): 68030-based SVR4 Unix (?) for the Amiga.
+ 
        A/UX (Apple): SV with Berkeley enhancements, NFS, Mac GUI.  System 6
           (later System 7) runs as guest of A/UX (opposite of MachTen).
           Newsgroup: comp.unix.aux.
***************
*** 569,575 ****
           - 3.0 (1992): SVR2.2 with 4.3BSD and SVR3/4 extensions; X11R4,
             MacX, TCP/IP, NFS, NIS, RPC/XDR, various shells, UFS or S5FS.
             System 7 applications.
!          - 4.0 will have/be OSF/1.
  
        3B1 (680x0): SV-based, done by Convergent for AT&T.
           Newsgroup: comp.sys.3b1.
--- 631,639 ----
           - 3.0 (1992): SVR2.2 with 4.3BSD and SVR3/4 extensions; X11R4,
             MacX, TCP/IP, NFS, NIS, RPC/XDR, various shells, UFS or S5FS.
             System 7 applications.
!          - 4.0 will have/be OSF/1. But I hear Apple has decided to drop
!            A/UX (will go for AIX now that they're together with IBM on
!            the PPC)
  
        3B1 (680x0): SV-based, done by Convergent for AT&T.
           Newsgroup: comp.sys.3b1.
***************
*** 581,586 ****
--- 645,652 ----
             symmetric MP, X11R3
           - V2 (1991): adds job control, disk mirroring, C2 security,
             DCE extensions
+          - There's also BOS/X, and AIX-compatible Unix for Bull's PPC
+            workstations. How it relates to above two is unknown.
  
        386BSD: Jolitz's port of Net/2 software.  Posix, 32-bit, still in alpha
           (now version 0.1).
***************
*** 590,597 ****
  
        Chorus/MiXV:  Unix SVR3.2 (SVR4) over Chorus nucleus, ABI/BCS.
  
!       Coherent (80286):  Unix clone compatible with V7, some SVR2 (IPC).
!          V4.0 is 32-bit.  Newsgroup: comp.os.coherent
  
        Consensys: SVR4.2
  
--- 656,664 ----
  
        Chorus/MiXV:  Unix SVR3.2 (SVR4) over Chorus nucleus, ABI/BCS.
  
!       Coherent (Mark Williams Company): For 80286. Unix clone compatible with
!          V7, some SVR2 (IPC). V4.0 is 32-bit. Newsgroup: comp.os.coherent.
!          Mark Williams closed down early '95.
  
        Consensys: SVR4.2
  
***************
*** 599,605 ****
  
        D-NIX:  SV
  
!       DC/OSx (Pyramid):  SVR4.
  
        DELL UNIX [DELL Computer Corp.]: SVR4
  
--- 666,672 ----
  
        D-NIX:  SV
  
!       DC/OSx (Pyramid):  SVR4. Newsgroup: comp.sys.pyramid.
  
        DELL UNIX [DELL Computer Corp.]: SVR4
  
***************
*** 616,621 ****
--- 683,691 ----
  
        DYNIX/PTX: SVR3-based
  
+       EP/IX (Control Data Corp.): for MIPS 2000/3000/6000/4000; based on
+          RISC/OS 4 and 5, POSIX-ABI-compliant. SVR3, SVR4 and BSD modes.
+ 
        Esix (80386):  pure SVR4, X11, OpenLook (NeWS), Xview
  
        Eurix (80?86):  SVR3.2 (Germany)
***************
*** 631,636 ****
--- 701,709 ----
           Unix emulator over Mach 3.0 kernel.  Many GNU tools are very
           popular (emacs) and used in the PD Unices.
  
+       HELIOS (Perihelion Software): for INMOS transputer and many other
+          platforms.
+ 
        HP-UX (HP):  old from S III (SVRx), now SVR2 (4.2BSD?) with SV utilities
           (they have trouble making up their minds).
           - 6.5: SVR2
***************
*** 643,650 ****
        Interactive SVR3.2 (80x86): pure SVR3.  Interactive has been bought
           by Sun; will their system survive Solaris?
  
!       Idris:  first Unix clone by Whitesmith.
!          - 4D
  
        IRIX (SGI):  Version 4: SVR3.2, much BSD.  Version 5.x (current is 5.2)
           is based on SVR4.  Newsgroup: comp.sys.sgi.
--- 716,723 ----
        Interactive SVR3.2 (80x86): pure SVR3.  Interactive has been bought
           by Sun; will their system survive Solaris?
  
!       Idris: first Unix clone by Whitesmith. A small Unix? For INMOS
!          transputer and others?.
  
        IRIX (SGI):  Version 4: SVR3.2, much BSD.  Version 5.x (current is 5.2)
           is based on SVR4.  Newsgroup: comp.sys.sgi.
***************
*** 651,661 ****
  
        Linux (386/486/586): Unix under GPL (not from FSF, though).  Available
          with sources.  POSIX compliant w/ SysV and BSD extensions.  Being
!         ported to ALPHA and PowerPC (ports for 680x0 Amigas and Ataris
!         already exist). Newsgroup: comp.os.linux.
  
!       MachTen, Tenon Intersystems:  runs as a guest of System 6, no memory
!          protection, 4.3BSD environment with TCP, NFS.
  
        MacMach (Mac II): 4.3BSD over Mach 3.0 microkernel, X11, Motif, GNU
           software, sources, experimental System 7 as Mach task.  Complete
--- 724,737 ----
  
        Linux (386/486/586): Unix under GPL (not from FSF, though).  Available
          with sources.  POSIX compliant w/ SysV and BSD extensions.  Being
!         ported to Alpha/AXP and PowerPC (ports for 680x0 Amigas and Ataris
!         already exist; a port is also being done to the MIPS/4000).
!         Newsgroup: comp.os.linux.{admin,announce,development,help,misc}.
! 
!       MacBSD, ?: works on Mac II (directly on H/W).
  
!       MachTen, Tenon Intersystems:  runs as a guest under MacOS; 4.3BSD
!          environment with TCP, NFS. Scaled down version: MachTen Personal.
  
        MacMach (Mac II): 4.3BSD over Mach 3.0 microkernel, X11, Motif, GNU
           software, sources, experimental System 7 as Mach task.  Complete
***************
*** 667,678 ****
        Microport (80x86):  pure SVR4, X11, OpenLook GUI
  
        Minix (80x86, Atari, Amiga, Mac):  Unix clone compatible with V7.
!          Sold with sources.  Being POSIXified (sp?).  Newsgroup: comp.os.minix.
  
        MipsOS:  SVish (RISC/OS, now dropped, was BSDish)
  
        more/BSD (VAX, HP 9000/300):  Mt Xinu's Unix, based on 4.3BSD-Tahoe.
-          Newsgroup: comp.os.xinu?
  
        NCR UNIX: SVR4 (4.2?)
  
--- 743,754 ----
        Microport (80x86):  pure SVR4, X11, OpenLook GUI
  
        Minix (80x86, Atari, Amiga, Mac):  Unix clone compatible with V7.
!          Sold with sources.  Being POSIXified (sp?). For PCs, and surely
!          many others (eg. INMOS transputer). Newsgroup: comp.os.minix.
  
        MipsOS:  SVish (RISC/OS, now dropped, was BSDish)
  
        more/BSD (VAX, HP 9000/300):  Mt Xinu's Unix, based on 4.3BSD-Tahoe.
  
        NCR UNIX: SVR4 (4.2?)
  
***************
*** 682,696 ****
  
        NetBSD 0.8: is actually 386bsd in a new suit. Ported to [34]86, MIPS,
           Amiga, Sun, Mac. What is relation to Net/2?
  
!       NextStep (Next):  BSD4.3 over Mach kernel, own GUI.
!          - 1.x, 2.0, 2.1
!          - 2.2 (support for NeXT Turbo machines)
!          - 3.0 (optimized for 68040 machines), 3.1
!          - 3.2 (current; 3.3 summer 94, 3.4 rumored)
!          - NS/i (NeXTSTEP/Intel) for Intel platform
!          - other ports: one for HP workstations, and OpenStep (NeXT venture
!            with Sun attempting to create a cross-platform standard for objects)
  
        NEWS-OS (Sony)
           - 3.2
--- 758,776 ----
  
        NetBSD 0.8: is actually 386bsd in a new suit. Ported to [34]86, MIPS,
           Amiga, Sun, Mac. What is relation to Net/2?
+          - 1.0 came out in '94.
  
!       NEXTSTEP (Intel Pentium and 86486, Hewlett-Packard PA-RISC, NeXT 68040):
!          BSD4.3 over Mach kernel, own GUI.
!          - 1.x, 2.0, 2.1, 2.2, 3.0, 3.1 (old)
!          - 3.2 (current version,
!               Intel Pentium and 86486,
!               Hewlett-Packard PA-RISC,
!               NeXT 68040)
!          - 3.3 (shipping; SPARC-version available)
!          - 4.0 (to be announced, will include Sun SPARC version and
!            will be OpenStep compliant
!          - no NEXTSTEP for PowerPC or DEC Alpha yet announced (are there plans?
  
        NEWS-OS (Sony)
           - 3.2
***************
*** 698,704 ****
        OSF/1 (DEC): DEC's port of OSF/1.  I think this is now (4/93) available
           on DEC's latest Alpha AXP (64-bit machine).
  
!       OSx (Pyramid): Dualport of both SysV.3 and BSD4.3.
  
        PC-IX (IBM 8086):  SV
  
--- 778,785 ----
        OSF/1 (DEC): DEC's port of OSF/1.  I think this is now (4/93) available
           on DEC's latest Alpha AXP (64-bit machine).
  
!       OSx (Pyramid): Dualport of both SysV.3 and BSD4.3. Newsgroup:
!          comp.sys.pyramid.
  
        PC-IX (IBM 8086):  SV
  
***************
*** 708,724 ****
           rumors had it), new compiler, "8 1/2" window system (also very
           small), 16-bit Unicode, CPU/file servers over high speed nets.
  
-       PowerOpen: announced Unix which is to run on the PowerPC chip (from
-          IBM, Apple and Motorola).  Mac UI, compatibility to AIX.
- 
        SCO Xenix (80x86): Versions for XT (not robust!), 286, 386 (with demand
           paging).  Today bulk of code is from System V.  Stable product.
  
!       SCO Unix (80x86):  SVR3.2
  
        Sinix [Siemens]: System V base.
  
!       Solaris (Sparc, 80386):
           - 1.0:  essentially same as SunOS 4.1.1, with OpenWindows 2.0 and
             DeskSet utilities.
           - 1.0.1:  SunOS 4.1.2 with multiprocessing (kernel not multithreaded);
--- 789,802 ----
           rumors had it), new compiler, "8 1/2" window system (also very
           small), 16-bit Unicode, CPU/file servers over high speed nets.
  
        SCO Xenix (80x86): Versions for XT (not robust!), 286, 386 (with demand
           paging).  Today bulk of code is from System V.  Stable product.
  
!       SCO Unix (80x86):  SVR3.2 (stopped taking USL source at this point).
  
        Sinix [Siemens]: System V base.
  
!       Solaris (Sparc, x86):
           - 1.0:  essentially same as SunOS 4.1.1, with OpenWindows 2.0 and
             DeskSet utilities.
           - 1.0.1:  SunOS 4.1.2 with multiprocessing (kernel not multithreaded);
***************
*** 728,733 ****
--- 806,816 ----
             OpenWindows 3.0 (X11R4) and OpenLook, DeskSet, ONC, NIS.  Both
             a.out (BSD) and elf (SVR4) formats.  Kerberos support.  Compilers
             unbundled!
+          - Solaris is OpenStep compliant (non-NeXT, but with NEXTSTEP API)
+            with latest (1994?) version.
+          - Sun will ship its OpenStep-implementation with project DOE for
+            Solaris. First versions will be for SPARC-based Suns, but a
+            version for Solaris 2.4 for x86 and PowerPC will appear later.
  
        SunOS (680x0, Sparc, i386):  based on 4.3BSD, includes much from
           System V.  Main Sun achievements: NFS (1984), SunView (1985), NeWS
***************
*** 742,757 ****
  
        Ultrix (DEC):  based on 4.2BSD with much of 4.3.
           Newsgroup: comp.unix.ultrix.
!          - 3.1, 4.0
  
        UNICOS (Cray):  System V base.  Newsgroup: comp.unix.cray
           - 5.x, 6,x, 7.0
  
!       UnixWare Release 4.2 [Univel]: SVR4.2.
  
        UTEK (Tektronix)
           - 4.0
  
        Xenix (80x86):  1st Unix on Intel hardware, based on SVR2 (previously on
           S III and even V7).  Newsgroup: comp.unix.xenix.
  
--- 825,846 ----
  
        Ultrix (DEC):  based on 4.2BSD with much of 4.3.
           Newsgroup: comp.unix.ultrix.
!          - 4.4 is latest
  
        UNICOS (Cray):  System V base.  Newsgroup: comp.unix.cray
           - 5.x, 6,x, 7.0
  
!       UnixWare Release 4.2 [Univel]: SVR4.2; over NetWare. Univel no longer
!          exists.
  
        UTEK (Tektronix)
           - 4.0
  
+       VOLVIX (Archipel S.A.): UNIX-based OS built around a communication
+          based, distributed, real-time micro-kernel. SVR3.2 system calls,
+          BSD4.4 file/network system calls (VFS, FFS). Also NFS and X11.
+          Vanilla VOLVIX is for transputers.
+ 
        Xenix (80x86):  1st Unix on Intel hardware, based on SVR2 (previously on
           S III and even V7).  Newsgroup: comp.unix.xenix.
  
***************
*** 759,766 ****
  
  Subject: Real-time Unices.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Mon May 30 15:44:28 EDT 1994
! X-Version: 2.6
  
  6.7)  Real-time Unices.
  
--- 848,855 ----
  
  Subject: Real-time Unices.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Tue Aug 15 15:14:00 EDT 1995
! X-Version: 2.9
  
  6.7)  Real-time Unices.
  
***************
*** 772,777 ****
--- 861,868 ----
        suppose the latter really belong here, but having collected some notes,
        I'm hesitant to junk them. See also comp.realtime.
  
+       AIX: AIX/6000 has real-time support.
+ 
        Concurrent OS (Concurrent): real Unix, significantly modifed by
           Concurrent.
  
***************
*** 783,789 ****
  
        LynxOS (Lynx Real-Time Systems, Inc): Berkeley and SV compatibility,
           ground-up rewrite (proprietary), predates SVR4. Is not UNIX, but
!          supports much of the UNIX I/Fs. Fully preemptive, fixed priorities.
  
        MiX: microkernel implementation of SVR4 offered by Chorus.
  
--- 874,881 ----
  
        LynxOS (Lynx Real-Time Systems, Inc): Berkeley and SV compatibility,
           ground-up rewrite (proprietary), predates SVR4. Is not UNIX, but
!          supports much of the UNIX I/Fs (SV and BSD). POSIX compliant. Fully
!          preemptive, fixed priorities.
  
        MiX: microkernel implementation of SVR4 offered by Chorus.
  
***************
*** 791,796 ****
--- 883,897 ----
  
        QNX (Quantum Software): unix-compatible real real-time OS.
  
+       REAL/IX: based on System V 3.2 with RT features (fully premptive kernel,
+          fixed-priority scheduler, RT timer, &c.). For 68xxx and 88xxx based
+          systems. POSIX (1003.1 - 1988) compliant and in 88k form, it is
+          88open BCS compliant. Also available for x86/Pentium.
+ 
+       RTMX O/S [RTMX Incorporated]: elements of NET2, 4.4BSD-Lite and
+          proprietary code. Also includes FSF tools. Real-time (POSIX)
+          extensions.
+ 
        RTU (Concurrent), for 68K boxes
  
        Solaris 2 has real-time capabilities?
***************
*** 824,831 ****
  
  Subject: Unix glossary.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Mon May 30 15:44:28 EDT 1994
! X-Version: 2.6
  
  6.8)  Unix glossary.
  
--- 925,932 ----
  
  Subject: Unix glossary.
  From: "Pierre (P.) Lewis" <lew@bnr.ca>
! Date: Tue Aug 15 15:14:00 EDT 1995
! X-Version: 2.9
  
  6.8)  Unix glossary.
  
***************
*** 835,842 ****
        Chorus: message-passing microkernel, may form basis for a future release
           of SV.  Chorus already have SVR4 running on top (binary-compatible).
  
        COSE (Common Open Software Environment) [Sun, HP, IBM]: common look and
!          feel (Motif), common API.  Reaction against Windows NT.
  
        DCE (Distributed Computing Environment, from OSF): Includes RPC (Apollo's
           NCS), directory service (local based on DNS, global on X.500), time,
--- 936,946 ----
        Chorus: message-passing microkernel, may form basis for a future release
           of SV.  Chorus already have SVR4 running on top (binary-compatible).
  
+       CORBA (Common Object Request Broker Architecture).
+ 
        COSE (Common Open Software Environment) [Sun, HP, IBM]: common look and
!          feel (Motif -- Sun will let OpenLook fade away), common API.
!          Reaction against Windows NT. See section 6.4 above.
  
        DCE (Distributed Computing Environment, from OSF): Includes RPC (Apollo's
           NCS), directory service (local based on DNS, global on X.500), time,
***************
*** 845,853 ****
--- 949,961 ----
  
        DME (Distributed Management Environment, from OSF):  future.
  
+       DO (Distributed Objects [Enterprise]): ???.
+ 
        FFS (Fast File System): from Berkeley, 1983.  Equivalent (exact?) of
           UFS in SunOS.  Has notions such as cylinder groups, fragments.
  
+       FSF (Free Software Foundation)
+ 
        Mach: modern kernels from CMU (Carnegie Mellon University) on which many
           Unices and other OSs are based (e.g. OSF/1, MacMach, ...):
           - 2.5: monolithic kernel with 4.2BSD
***************
*** 865,870 ****
--- 973,985 ----
  
        ONC (Open Network Computing): from Sun(?), includes RPC, name service
           (NIS aka YP), NFS, ... (found in many Unices, other OSs).
+ 
+       OpenStep [NeXT, Sun]: ???
+ 
+       PowerOpen: both a standard, and an organization promoting PowerPC.
+          Involves IBM, Apple and Motorola; others? See section 6.4 above.
+ 
+       PowerPC (PPC): a RISC CPU chip [IBM, Motorola].
  
        RFS (Remote File System):  SV, stateful server, incompatible with NFS
  
*** 2.6.1994/10/18 15:48:33
--- part7.1995/10/09 20:25:45
***************
*** 6,12 ****
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part7
! Version: $Id: part7,v 2.6 1994/10/18 15:48:33 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.
--- 6,12 ----
  Approved: news-answers-request@MIT.Edu
  
  Archive-name: unix-faq/faq/part7
! Version: $Id: part7,v 2.8 1995/10/09 20:25:34 tmatimar Exp $
  
  These seven articles contain the answers to some Frequently Asked
  Questions often seen in comp.unix.questions and comp.unix.shell.

