Path: sparky!uunet!cis.ohio-state.edu!ucbvax!VANGOGH.CS.BERKELEY.EDU!
bostic
From: bos...@VANGOGH.CS.BERKELEY.EDU (Keith Bostic)
Newsgroups: comp.bugs.4bsd.ucb-fixes
Subject: V1.97 (4.4BSD-Alpha Release)
Message-ID: <9209032321.AA17257@vangogh.CS.Berkeley.EDU>
Date: 3 Sep 92 23:21:46 GMT
Sender: dae...@ucbvax.BERKELEY.EDU
Distribution: world
Organization: University of California at Berkeley
Lines: 572
Approved: ucb-fi...@okeeffe.berkeley.edu

Subject: 4.4BSD-Alpha Release

We would like to announce the availability of the 4.4BSD-Alpha
distribution.  The attached is the cover letter from the
information packet which has been sent to 4BSD licensees.  To
request an order form, please contact our distribution office
by phone at 415-642-7780, by email at bsd-d...@cs.berkeley.edu,
or by U.S. Mail at:

	CSRG
	Department of EECS
	University of California
	Berkeley, CA  94720

Kirk McKusick
Keith Bostic


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

                                                July 7, 1992

Dear Colleague:


     We are happy to send you  information  about  our  June
1992  release  of 4.4BSD-alpha.  This release represents our
expectations for the final interfaces that will  be  present
in  4.4BSD.  Our goal in making this release available is to
get feedback on any problems in the design or implementation
of  the  new  facilities,  and to allow adventurous sites to
gain experience with the new interfaces in 4.4BSD.

     This distribution is NOT intended to be used on produc-
tion  systems;  nor  is it intended for sites without enough
local expertise to  find  and  fix  any  problems  that  are
encountered.   It  is  intended  to  be  used  to provide an
advance look at some of the facilities and  interfaces  that
we  will  be  distributing  in 4.4BSD.  We are interested in
getting feedback on the problems that you find and also  any
compatibility problems that you encounter in converting your
applications to run on this release.  While we hope that the
interfaces  in this release will not change before the final
release of 4.4BSD, we will make changes  that  we  feel  are
necessary  to  fix  problems  that  arise  during  the alpha
release period (at least in part based on feedback from this
test  group).  Where possible, we will minimize changes that
will break applications ported to this release.  The code in
this  distribution may be redistributed and used in released
products.  However, you are strongly encouraged  to  upgrade
any  code  that  you  use  from  this  distribution  to  the
similarly-licensed distribution of the  4.4BSD  code  within
one year of its release.

     Only limited support can  be  provided  by  our  group.
Specifically,  we  cannot  provide help with installation of
this software on other systems, although we are, of  course,
interested in hearing of problems that you encounter.

     We are  planning  on  releasing  two  versions  of  the
software,  4.4BSD-Encumbered  and  4.4BSD-Lite.  The 4.4BSD-
Encumbered distribution is  available  only  to  sites  with
UNIX/32V,  System III, or  System  V  source  licenses  with
USL/AT&T.   The 4.4BSD-Encumbered distribution is a complete
distribution in the style of 4.3BSD and  contains  the  com-
plete source for the Berkeley Distribution.

     The 4.4BSD-Lite distribution  will  be  a  distribution
that is copyrighted by the University of California and oth-
ers, but may be freely redistributed.  It will be  available
to  anyone  and  requires  no  previous license, either from
USL/AT&T or The Regents of  the  University  of  California.
Its license agreement and content will be similar to that of
the two BSD Networking Releases.  The 4.4BSD-Lite  distribu-
tion  will  contain  only  a  few additional programs and no
additional kernel files from the Second  Networking  release
done  in  June  1991.   However, it will contain support for
additional architectures and will have many  bug  fixes  and
performance  enhancements.   The  distribution  will include
both  software  developed  at  Berkeley  and  also  much  of
software contributed by authors outside Berkeley.

     Only the 4.4BSD-Encumbered distribution is available at
this time.  The 4.4BSD-Lite distribution is not available at
this time; we will send out a mailing to notify you when  it
is available.

     The enclosed information is designed to serve two  pur-
poses.   The  first  purpose  is  to  acquaint  you with the
details of our distribution so you can  decide  whether  you
would like to receive it.  The second purpose is to tell you
how to obtain our distribution.

What is 4.4BSD?

     This software distribution is provided on  one  6250bpi
1/2''  9-track  tape  or one 8mm Exabyte cassette only.  The
4.4BSD-Encumbered distribution contains complete  source  as
well  as binaries for the HP9000/300 series of workstations.
The 4.4BSD-Lite distribution will contain only freely redis-
tributable  sources.   As the sources do not comprise a com-
plete system, no binaries will be included.

     The architectures that are supported include:

+    HP 9000/300 68000-based workstations

+    Intel 386/486-based machines (ISA/AT or EISA bus only)

+    Sony News MIPS-based workstations

+    Omron Luna 68000-based workstations

+    DECstation 3100 and 5000 MIPS-based workstations

+    Sparcstation I & II SPARC-based workstations

The distribution does not include the  machine  support  for
the  Tahoe  and VAX architectures found in previous BSD dis-
tributions.  Our primary development is  on  the  HP9000/300
series   machines.    The   other  architectures  are  being
developed and supported by people  outside  the  university.
Consequently,  we  are not able to directly test or maintain
these  other  architectures,  so  cannot  comment  on  their
robustness, reliability, or completeness.

     The  major  new  facilities  available  in  the  4.4BSD
release  are  a  new virtual memory system, a log-structured
filesystem, enhancement of the local filesystems to  support
files and filesystems that are up to 2^63 bytes in size, the
addition of ISO/OSI networking support, a  freely  redistri-
butable  implementation  of  NFS,  and the conversion to and
addition of the IEEE Std1003.1  (``POSIX'')  facilities  and
many  of  the  IEEE Std1003.2 facilities.  In addition, many
new utilities and additions to the C library are present  as
well.   The  kernel sources have been reorganized to collect
all machine-dependent files for each architecture under  one
directory,  and  most of the machine-independent code is now
free of code conditional on  specific  machines.   The  user
structure  and  process  structure  have been reorganized to
eliminate the statically-mapped user structure and  to  make
most   of   the  process  resources  shareable  by  multiple
processes.  The system and include files have been converted
to  be compatible with ANSI C, including function prototypes
for most of the  exported  functions.   There  are  numerous
other changes throughout the system.

     The new virtual memory implementation is  derived  from
the  MACH operating system developed at Carnegie-Mellon, and
was ported to the BSD kernel at the University of Utah.  The
MACH  virtual memory system call interface has been replaced
with the ``mmap''-based interface described in the  ``Berke-
ley  Software  Architecture  Manual'' (see UNIX Programmer's
Manual, Supplementary Documents, PS1:6).  The  interface  is
similar to the interfaces shipped by several commercial ven-
dors such as Sun, Convex Computer Corp.  and USL/AT&T.   The
integration  of  the new virtual memory is functionally com-
plete, but still  has  serious  performance  problems  under
heavy  memory load.  The internal kernel interfaces have not
yet been completed and the memory pool and buffer cache have
not  yet  been  merged.   Some of these changes are expected
before the release of 4.4BSD.

     The ISO/OSI Networking consists of a kernel implementa-
tion  of transport class 4 (TP-4), connectionless networking
protocol  (CLNP),   and   802.3-based   link-level   support
(hardware-compatible with Ethernet*).  We also include  sup-
port  for ISO Connection-Oriented Network Service, X.25, TP-
0.  The session and presentation layers are provided outside
the  kernel  by  the  ISO  development  environment (ISODE).
Included in this development environment are  file  transfer
and  management  (FTAM), virtual terminals (VT), a directory
services implementation  (X.500),  and  miscellaneous  other
utilities.

     A new virtual filesystem interface has  been  added  to
the  kernel  to support multiple filesystems.  In comparison
with other  interfaces,  the  Berkeley  interface  has  been
structured  for  more  efficient support of filesystems that
maintain state (such as the local filesystem).   The  inter-
face  has  been extended with support for stackable filesys-
tems done at UCLA.  These extensions allow  for  filesystems
to  be  layered  on  top  of  each other and allow new vnode
operations to be added without requiring changes to existing
filesystem implementations.

     In addition to the local ``fast filesystem'',  we  have
added an implementation of the network filesystem (NFS) that
fully interoperates with the NFS  shipped  by  Sun  and  its
licensees.   Because  our NFS implementation was implemented
using only the publicly available NFS specification, it does
not  require  a  license from Sun to use in source or binary
form.  By default it runs over UDP  to  be  compatible  with
Sun's  implementation.   However,  it can be configured on a
per-mount basis to run over TCP.  Using TCP allows it to  be
used  quickly  and  efficiently  through  gateways  and over
long-haul networks.  Using an extended protocol, it supports
Leases  to  allow  a limited callback mechanism that greatly
reduces the network traffic necessary to maintain cache con-
sistency between the server and its clients.

     A new log-structured filesystem  has  been  added  that
provides near disk-speed output and fast crash recovery.  It
is still experimental in the alpha release, though  we  hope
to  have  enough experience with it to recommend it for pro-
duction use by the time of the  final  4.4BSD  release.   We
have also added a memory-based filesystem that runs in page-
able memory, allowing large  temporary  filesystems  without
requiring dedicated physical memory.

     The quota system has been  rewritten  to  support  both
user  and  group  quotas (simultaneously if desired).  Quota
expiration is based on time rather than the previous  metric
of  number  of  logins over quota.  This change makes quotas
more useful on fileservers onto which users seldom login.

     The 4.4BSD distribution contains most of the interfaces
specified  in  the IEEE Std1003.1 system interface standard.
The biggest area of change is a new  terminal  driver.   The
terminal  driver  is similar to the System V terminal driver
with the addition of the necessary  extensions  to  get  the
functionality  previously  available  in the 4.3BSD terminal
driver.  4.4BSD also adds the  IEEE  Std1003.1  job  control
interface, which is similar to the 4.3BSD job control inter-
face, but adds a security model  that  was  missing  in  the
4.3BSD  job control implementation.  Other additions include
IEEE Std1003.1 signals, FIFOs, byte-range file locking,  and
saved user and group identifiers.

     There are several new tools and utilities  included  in
this  release.  A new version of make allows much-simplified
makefiles for the system software and allows compilation for
multiple  architectures from the same source tree (which may
be mounted read-only).  Notable additions to  the  libraries
include  functions to traverse a filesystem hierarchy, data-
base interfaces to btree and hashing functions, a new,  fast
implementation  of  stdio  and  a  radix sort function.  The
additions to the utility suite include greatly enhanced ver-
sions  of  programs  that display system status information,
implementations of various traditional  tools  described  in
the IEEE Std1003.2 standard, and many others.

     We have been tracking  the  IEEE  Std1003.2  shell  and
utility  work  and  have  included prototypes of many of the
proposed utilities.  Because most of the traditional  utili-
ties  have  been replaced with implementations conformant to
the POSIX standards, you should  realize  that  the  utility
software  may  not be as stable, reliable or well documented
as in traditional Berkeley releases.  In particular,  almost
the  entire  manual  suite  has  been rewritten to be freely
redistributable  and,  in  many  instances,  it   does   not
correctly  reflect the current state of the software.  It is
also worth noting that, in rewriting this software, we  have
generally   been   rewarded   with  significant  performance
improvements.  Most of the libraries and header  files  have
been  converted  to  be  compliant with ANSI C.  The default
compiler (gcc) is a superset of ANSI C, but supports  tradi-
tional C as a command-line option.  The system libraries and
utilities all compile with either ANSI or traditional C.

     Work  has  also  progressed  in  several  other  areas.
Several important enhancements have been added to the TCP/IP
protocols including TCP header prediction and serial line IP
(SLIP)  with header compression.  The routing implementation
has been completely rewritten to use a hierarchical  routing
tree  with  a mask per route to support the arbitrary levels
of routing found in the ISO protocols.   The  routing  table
also  stores  and  caches route characteristics to speed the
adaptation of the throughput and congestion avoidance  algo-
rithms.

     The Kerberos (version 4)  authentication  software  has
been  integrated  into much of the system (including NFS) to
provide the first real network authentication on BSD.

     This release includes several important structural ker-
nel  changes.   The  kernel  uses a new internal system call
convention; the use  of  global  (``u-dot'')  variables  for
parameters and error returns has been eliminated, and inter-
rupted system calls no longer abort using  non-local  goto's
(longjmp's).   A  new  sleep interface separates signal han-
dling from  scheduling  priority,  returning  characteristic
errors  to  abort  or restart the current system call.  This
sleep call also  passes  a  string  describing  the  process
state,  which  is  used by the ps(1) program.  The old sleep
interface can be used  only  for  non-interruptible  sleeps.
The  sleep  interface  (tsleep) can be used at any priority,
but is only interruptible if the PCATCH flag is  set.   When
interrupted, tsleep returns EINTR or ERESTART.

     Many data structures that  were  previously  statically
allocated  are  now allocated dynamically.  These structures
include mount entries, file entries, user open file descrip-
tors,  the process entries, the vnode table, the name cache,
and the quota structures.

The End of BSD from Berkeley

     As you may already have heard, the CSRG is going to  go
away  after  the final release of 4.4BSD.  For the following
reasons, clearly the CSRG cannot  continue  in  its  present
form.

     Funding has become increasingly time-consuming and dif-
ficult.  We are spending more and more of our time obtaining
funding, time that we would prefer to spend working on  BSD.
As  many  of you are intimately aware, computer corporations
are actively seeking ways to reduce  discretionary  outlays.
Also,  as  UNIX  vendors  have  developed their own research
groups, the work of the CSRG has become  less  necessary  to
them.    Finally,  making  BSD  freely  redistributable  has
resulted in fewer distributions sold, as other organizations
sell our releases for less money.

     Support  within  the  University  of   California   has
declined  as  BSD  has  become  less widely used internally.
Victims of our own success, many of the features once  found
only in BSD are now available from every vendor.

     The system has become too large and complex for a group
of  four  to  architect and maintain.  In particular, losing
Mike Karels has made it obvious to  us  that  the  group  is
below  critical  mass for developing and distributing a com-
plete UNIX system.

     We are making the 4.4BSD-alpha  distribution  available
now.   We  will  spend  the summer and some part of the fall
cleaning up the release and make the  final  4.4BSD  release
available  in  the  fall.  When the final release happens is
mostly dependent on when our current funding runs  out.   At
that  time  we  will  close down the group.  We would really
like to have six months to finish up 4.4BSD.  The amount  of
time  that  we  get is largely a function of how many of you
purchase the alpha distribution.  So, if you are planning to
get  4.4BSD  when  it  comes  out, please consider buying an
alpha distribution with an upgrade option instead.  That way
your money will go to support the final 4.4BSD release.

     BSD has always been a community effort, and, as a  com-
munity  effort,  does not rely on a small group of people in
Berkeley to keep it going.  BSD will not go away,  but  will
live  on through the free software and commercial efforts of
many people.  We thank you for your support over the  years,
your  funding,  and,  of course, the software you've contri-
buted to make the BSD system what it is today!

How to obtain 4.4BSD-Encumbered

     To obtain 4.4BSD-Encumbered we require execution of the
Berkeley  License  Agreement  (6/92).   In addition, foreign
licensees must  execute  Addendum  Number  One  for  Foreign
Licensees   in   ordering  4.4BSD-Encumbered.   The  fee  is
$2000.00 for 4.4BSD-Encumbered.

     Because we are a research and development  organization
and  not  a  commercial  organization,  we make our research
results available for a small license  fee.   We  distribute
only  the  whole system ``As Is'' and cannot send individual
pieces of the system.  We are required by the University  of
California  to  have  a formal license arrangement with each
organization to which we distribute. All  material  is  con-
sidered  licensed  material  regardless  of its availability
from other sources that make such material  publicly  avail-
able.   In  addition, for 4.4BSD-Encumbered, we are required
to secure a copy of the AT&T Software  Agreement  with  your
organization  and  confirm  it with AT&T before the software
can be shipped.

     Specifically, for 4.4BSD-Encumbered,  we  must  receive
from  your  organization  the  following material before the
distribution can be sent:

+    Two copies of the current  Software  Agreement  between
     your company or institution and AT&T (Western Electric)
     that authorize you as a source licensee  for  UNIX/32V,
     System  III, or System V.  Note that a complete copy of
     the agreement up to the Schedule is required, not  just
     the  cover  and/or signature page.  Letters authorizing
     additional CPUs are  not  necessary  in  this  process;
     however,  it  is your legal responsibility to obtain an
     additional CPU authorization from AT&T.

+    Two original signed and executed copies of the Berkeley
     License Agreement (6/92) between your company or insti-
     tution and The Regents of the University of  California
     along  with Exhibit A properly filled out.  For Foreign
     licensees, there is an Addendum to the  License  Agree-
     ment  that  must  also  be  executed.   The name of the
     organization on the Berkeley License Agreement must  be
     the  same  as that which appears on the Software Agree-
     ment with AT&T (or  Western  Electric).   The  Berkeley
     License  Agreement  (6/92)  must  be  signed  by a duly
     authorized person who holds a position that is  at  the
     same level or a higher level of authority as that which
     appears on the AT&T  Software  Agreement.  Please  have
     this  person's  name  and  title typed in the available
     space in  addition  to  the  signature.   This  license
     agreement  applies  to  all  the  CPUs  covered  by the
     Software Agreement with AT&T (or Western Electric) that
     you  have  provided.   One  signed copy of the Berkeley
     License Agreement will be returned to you after it  has
     been executed by The Regents of the University of Cali-
     fornia.

+    A check from a U.S. bank for $2000.00 must be  received
     before  the distribution can be sent.  Checks should be
     made payable to ``The Regents of the University of Cal-
     ifornia, Computer Systems Research Group.'' If you must
     issue a Purchase Order, together with your  prepayment,
     please  issue one that is blank-backed.  If this is not
     possible, insert and initial in the body  of  the  Pur-
     chase  Order the following clause: ``The terms and con-
     ditions of this Purchase Order are not accepted by  The
     Regents  of  the University of California.  The revised
     Berkeley  License  Agreement  (6/92)  prevails.''  Wire
     transfers are strongly discouraged.

+    The attached Site Information  Form  completely  filled
     out.  Your copy of the signed 4.4BSD-Encumbered License
     Agreement will be sent to  the  person  listed  as  the
     administrative  contact.   The distribution itself will
     be sent to the technical contact.  All  information  is
     kept  confidential;  it is for our use in notifying you
     of important bug fixes and the availability  of  future
     BSD  distributions.  Please note that we cannot ship to
     post office boxes; therefore, please have the technical
     contact's address supplied without use of a post office
     box.

     A checklist is included to aid you in  assembling  this
material.  All the above material must be sent to:

        Pauline Schwartz, Distribution Coordinator
        Computer Systems Research Group
        Computer Science Division, EECS
        University of California
        Berkeley, California 94720

Once all these items have been received and  are  in  proper
order,  the  distribution  will  be  sent  to  the technical
address listed on the Site Information Form.  We cannot pro-
vide  delivery  dates.   Once  the material is assembled and
packaged, the distribution is shipped by commercial carrier.
Order  of  shipment  will be based on time of arrival of the
properly completed paperwork and confirmation with  AT&T  if
necessary.  Because of the differential in costs of shipping
outside the United States, we ask that organizations  beyond
the  North  American  continent  pay  the  collect  shipping
charges.  If the destination is one where  collect  shipment
cannot  be  made by the carrier, then advance payment of the
shipping charges will be required.

     The most expedient way to ensure that your full distri-
bution  is  sent  as  quickly as possible is to include in a
single package two original copies of the appropriate Berke-
ley License Agreement completed and properly signed (without
modification), two complete copies  of  your  AT&T  Software
Agreement  the  appropriate check properly made out to ``The
Regents of the University of  California,  Computer  Systems
Research  Group''  and a completely filled out Site Informa-
tion Form and to send this single  package  to  the  address
noted above.

     Please note that if you modify  the   Berkeley  License
Agreement,  you  may  experience  a delay of three months or
more  before  receiving  an  acceptance  or  denial  of  the
changes.  We reserve the right to cancel your application if
we have not received the requested paperwork within 60  days
from the date it was sent to us.

Ordering the Upgrade to 4.4BSD

     For those who would like to order the  upgrade  to  the
present alpha release of 4.4BSD, we offer the opportunity to
prepay a fee of $400.00 for such upgrade,  scheduled  to  be
released at year's end or soon thereafter.  The advantage in
ordering the upgrade at  the  time  of  ordering  the  alpha
release  is  that  there  will  not  be additional licensing
costs.

     If  one  wishes  to  order  the  4.4BSD-Encumbered  and
upgrade,  the  total  fee  will be $2,400.00.  For those who
choose not to order the upgrade now, we will notify you when
it  is  available  so that you may order it for whatever fee
will be set at that time.

Special Cases

     University of California Sites.  If you are a  part  of
the  University  of  California,  the following requirements
apply: To run 4.4BSD-Encumbered on any CPU, you must have  a
CPU  authorization  under  The  Regents of the University of
California  Software  Agreement  with  AT&T.   This  can  be
obtained  by contacting Pam True at (510) 642-6348 in Berke-
ley Campus Materiel Management for an application. A copy of
this should be sent to us.  In addition, the following items
must be sent to the Computer Systems Research  Group:  1)  a
letter  of  authorization  signed by the Director or Head of
Department requesting 4.4BSD-Encumbered,  stating  that  you
have  read  and  understood  the  Berkeley License Agreement
(6/92) and that your organization will abide by  it;  2)  an
IOC for $2,000.00; and 3) a Site Information Form.

     Government Agencies and Government Contractors.

+    The U.S. Government has a UNIX Source  Software  Agree-
     ment  with  AT&T  dated  Sept.  1,  1975.  If you are a
     government agency operating  under  the  1975  Software
     Agreement, you do not need a copy of the aforementioned
     Software Agreement; instead you must  send  a  copy  of
     your  additional  CPU  authorization  from  AT&T.   The
     Berkeley License Agreement for 4.4BSD-Encumbered (6/92)
     should  be  signed  by the appropriate Contracting Off-
     icer.

+    Several government agencies  have  acquired  their  own
     AT&T  UNIX Software Agreement.  Here, we need a copy of
     this  Software  Agreement  with  AT&T.   The   Berkeley
     License  Agreement  (6/92)  must  be signed by the same
     officeholder (or replacement) whose  signature  appears
     on  the  Software  Agreement with AT&T.  The government
     agency shall be  identified  as  the  Licensee  in  the
     Berkeley License Agreement (6/92).

+    If you are a contractor  of  the  Government  and  have
     obtained  an additional CPU authorization from AT&T for
     your contract  work,  the  Berkeley  License  Agreement
     (6/92)  must  be  signed by the appropriate Contracting
     Officer  for  the  contract.   The  contractor   should
     address  a  letter  to  the Contracting Officer stating
     that the contractor agrees to abide by  the  terms  and
     conditions of the Berkeley License Agreement (6/92) for
     4.4BSD and ask that the Contracting  Officer  sign  the
     Berkeley License Agreement (6/92) for 4.4BSD.  The Con-
     tracting Officer should then return the signed Berkeley
     License  Agreement (6/92) directly to the Computer Sys-
     tems Research Group with a cover  letter  stating  that
     the  contractor  is hereby authorized to receive a copy
     of 4.4BSD-Encumbered.

A Special Note

     The procedures and rules set out in this  document  are
University  and  AT&T  constraints that must be followed for
the distribution of software to be possible.   The  Computer
Systems Research Group has no control over these constraints
and must reject your application if  material  submitted  is
not in order.

If You Have Read Everything and Still Need Help

     If you have questions about the licensing process after
reading  this letter, you may call Pauline Schwartz at (510)
642-7780, write to her, or contact her via  electronic  mail
at paul...@cs.berkeley.edu.


                         Sincerely yours,



                         Marshall Kirk McKusick
                         Research Computer Scientist
                         Computer Systems Research Group

_________________________
UNIX, UNIX/32V, UNIX  System III, and UNIX System V are
registered  trademarks of USL/AT&T in the USA and other
countries.

Ethernet is a trademark of the Xerox Corporation.