[net.sources] Compare.A

jbc@ut-sally.UUCP (08/07/83)

                          UNIX* System V and 4.1C BSD

                                 John Chambers

                  Office of Academic Computing & Biostatistics
                 University of Texas Medical Branch, Galveston

                                John Quarterman

                               Computation Center
                         University of Texas at Austin



                {ihnp4,decvax!{eagle,allegra}}!ut-ngp!{jbc,jsq}
             {jbc,jsq}@{ut-sally.UUCP,{utexas-11,utexas-780}.ARPA}



            Presented at the July 1983 USENIX Conference in Toronto.
          cO Copyright 1983 by the Regents of the University of Texas.

                                    _A_B_S_T_R_A_C_T



               This paper compares System V  (the  UNIX  system  which
          Western Electric is currently licensing) and 4.1C BSD   (the
          final   precursor   to  4.2BSD,  the  research  UNIX  system
          developed for DARPA  by  the  University  of  California  at
          Berkeley),  based  on  experience with both systems on a DEC
          VAX-11/780.

               The  comparison  covers  several  areas  and   includes
          comments  organized  by  manual section on numerous specific
          features (languages, shells, text  editing  and  formatting,
          devices,  etc.),  plus more general and detailed discussions
          of such topics as: installation and  configuration;  sources
          and  documentation;  groups  and  identifiers; file systems;
          interprocess    communications;    networks;     performance
          (including some tentative benchmarks); and vendor support.

               Common features are mostly  left  to  the  manuals,  in
          order  to  better concentrate on differences.  This is meant
          to be a _q_u_a_l_i_t_a_t_i_v_e comparison, intended to serve only as  a
          guide for further study.

          ________

            * UNIX is a Trademark of Bell Telephone Laboratories, Inc.







          









                                    CONTENTS


           1.  Introduction.......................................   2
               1.1   Intent.......................................   2
               1.2   Format of the Paper..........................   2
               1.3   Disclaimers and Acknowledgments..............   3

           2.  Manual Sections....................................   3
               2.1   Commands.....................................   3
                     2.1.1   User convenience.....................   3
                     2.1.2   Programming support environments.....   4
                     2.1.3   Shells...............................   6
                     2.1.4   Formatting and typesetting...........   6
                     2.1.5   Graphics.............................   7
                     2.1.6   Ingres...............................   7
                     2.1.7   Text editors.........................   7
                     2.1.8   Electronic mail......................   8
                     2.1.9   Printing.............................   8
               2.2   System Calls.................................   9
                     2.2.1   Vfork and fork.......................   9
                     2.2.2   Reboot...............................   9
                     2.2.3   Setpgrp..............................  10
                     2.2.4   Group system calls...................  10
                     2.2.5   Ioctls...............................  10
                     2.2.6   Open and fcntl.......................  10
                     2.2.7   4.1C BSD file system calls...........  11
                     2.2.8   Timing...............................  12
                     2.2.9   IPC..................................  12
               2.3   Libraries and Subroutines....................  12
                     2.3.1   Common Object File Format
                             routines.............................  12
                     2.3.2   Utmp routines........................  12
                     2.3.3   F77 library..........................  12
                     2.3.4   Knuth algorithms.....................  12
                     2.3.5   Software signals and matherr.........  13
                     2.3.6   Stdio buffering......................  13
                     2.3.7   Printf...............................  13
                     2.3.8   String routines......................  14
                     2.3.9   Network library......................  14
               2.4   Devices......................................  14
                     2.4.1   Tty..................................  14
                     2.4.2   DH-11................................  14
                     2.4.3   KMC-11B..............................  15
                     2.4.4   VPM..................................  15
                     2.4.5   Synchronous terminal.................  15
                     2.4.6   BLIT.................................  15
                     2.4.7   Ptys.................................  15
                     2.4.8   Generalized disk driver..............  15
                     2.4.9   Generalized tape driver..............  16
               2.5   File Formats.................................  16



                                     - i -











                     2.5.1   A.out................................  16
                     2.5.2   Ar...................................  16
                     2.5.3   Fs...................................  17
                     2.5.4   Termcap and descendants..............  17
               2.6   Games........................................  17
                     2.6.1   System V games.......................  17
                     2.6.2   4.1C BSD ASCII graphics games........  17
                     2.6.3   PDP-11 compatibility.................  18
               2.7   Miscellany...................................  18
                     2.7.1   File system hierarchy................  18
               2.8   Maintenance..................................  18
                     2.8.1   Init, getty, and login...............  18
                     2.8.2   Shutdown, halt, and reboot...........  19
                     2.8.3   Backups..............................  19
                     2.8.4   Fsck, fsdb, etc......................  20
                     2.8.5   Monitoring and debugging.............  20
                     2.8.6   Accounting...........................  21

           3.  Installation and Configuration.....................  21
               3.1   Installation.................................  21
               3.2   Configuration................................  22
               3.3   Transition...................................  23

           4.  Sources and Documentation..........................  23
               4.1   Make.........................................  24
               4.2   SCCS.........................................  24
               4.3   Sources......................................  24
               4.4   Documentation................................  25

           5.  Groups and Identifiers.............................  25
               5.1   Groups.......................................  25
               5.2   Identifiers..................................  26

           6.  File Systems.......................................  26
               6.1   System V.....................................  27
                     6.1.1   New file system block size...........  27
                     6.1.2   Faster access........................  27
               6.2   4.1C BSD.....................................  27
                     6.2.1   Reimplementation for efficiency......  27
                     6.2.2   Other modifications..................  28
                     6.2.3   Extended (network) file system.......  28

           7.  Interprocess Communications (IPC)..................  29
               7.1   System V.....................................  29
               7.2   4.1C BSD.....................................  29

           8.  Networks...........................................  30
               8.1   System V.....................................  30
                     8.1.1   X.25.................................  30
                     8.1.2   PCL network..........................  30
                     8.1.3   NSC network..........................  30



                                     - ii -











                     8.1.4   RJE to IBM...........................  31
               8.2   4.1C BSD.....................................  31
                     8.2.1   General networking framework.........  31
                     8.2.2   Variety of hardware and protocols
                             supported............................  31
                     8.2.3   Internet (TCP/IP)....................  32
                     8.2.4   Berkeley protocols...................  32
               8.3   UUCP.........................................  32
               8.4   USENET.......................................  33

           9.  Performance........................................  33
               9.1   Some Qualitative Remarks.....................  33
                     9.1.1   Paging vs. swapping..................  33
                     9.1.2   Terminal I/O.........................  34
               9.2   Tentative Benchmarks.........................  34
                     9.2.1   Load simulation......................  35
                     9.2.2   File system throughput...............  36

          10.  Vendor Support.....................................  36
               10.1  Western Electric.............................  36
               10.2  U.C. Berkeley................................  36
               10.3  DEC..........................................  36
               10.4  Third Parties................................  37
                     10.4.1  OEMs.................................  37
                     10.4.2  Emulations...........................  37
                     10.4.3  Consultants..........................  37
                     10.4.4  Authors..............................  38

          11.  Conclusion.........................................  38
               11.1  Selection Criteria...........................  38
               11.2  Combinations.................................  38
               11.3  Future Directions............................  39
                     11.3.1  UNIX standards committee.............  39
                     11.3.2  Berkeley features and Bell...........  39
                     11.3.3  Bell licensing and Berkeley..........  39
               Appendix A:  Terminology...........................  39
               Appendix B:  Load Simulation Job...................  41

















                                    - iii -








                          UNIX* System V and 4.1C BSD

                                 John Chambers

                  Office of Academic Computing & Biostatistics
                 University of Texas Medical Branch, Galveston

                                John Quarterman

                               Computation Center
                         University of Texas at Austin



                {ihnp4,decvax!{eagle,allegra}}!ut-ngp!{jbc,jsq}
             {jbc,jsq}@{ut-sally.UUCP,{utexas-11,utexas-780}.ARPA}



            Presented at the July 1983 USENIX Conference in Toronto.
          cO Copyright 1983 by the Regents of the University of Texas.

                                    _A_B_S_T_R_A_C_T



               This paper compares System V1 (the  UNIX  system  which
          Western Electric is currently licensing) and 4.1C BSD2  (the
          final   precursor   to  4.2BSD,  the  research  UNIX  system
          developed for DARPA3 by  the  University  of  California  at
          Berkeley),  based  on  experience with both systems on a DEC
          VAX-11/7804.

               The  comparison  covers  several  areas  and   includes
          comments  organized  by  manual section on numerous specific
          features (languages, shells, text  editing  and  formatting,
          devices,  etc.),  plus more general and detailed discussions


          __________

            * UNIX is a Trademark of Bell Telephone Laboratories, Inc.

           1. See Appendix A for the official names of Bell UNIX
              Systems.

           2. See Appendix A for details about Berkeley Software
              Distributions (BSD).

           3. Defense Advanced Research Projects Agency (DARPA),
              formerly ARPA.

           4. VAX, PDP, UNIBUS, MASSBUS, and SBI are Trademarks of
              Digital Equipment Corporation (DEC).