*BSD News Article 17836


Return to BSD News archive

Xref: sserve comp.os.386bsd.development:904 comp.os.386bsd.development:905
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!olivea!grapevine.lcs.mit.edu!ai-lab!calvin
From: calvin@gnu.ai.mit.edu (Calvin)
Newsgroups: comp.os.386bsd.development,comp.os.386bsd.development
Subject: Re: 386bsd mach server?
Followup-To: comp.os.386bsd.development,comp.os.386bsd.misc
Date: 1 Jul 1993 22:31:19 GMT
Organization: Free Software Foundation, Wayne State University C&IT/UTO
Lines: 153
Sender: calvin@gnu.ai.mit.edu
Distribution: world
Message-ID: <20vojnINN30o@life.ai.mit.edu>
References: <20toq3$3mv@calvin.NYU.EDU>
NNTP-Posting-Host: spiff.gnu.ai.mit.edu
Summary: Status of the Mach Port
Keywords: Mach

Like BSD4.4, the CMU-Mach Team has voluntarily decided not to 
release their code unitl the USL v. BSDI/UCB lawsuit is resolved.
While this has disappointed many of us who have waited for a 
freely available port of the CMU/Berkeley code, it is in their
best interests. 

From Ernst.Mach.CS.CMU.EDU:/FAQ/distributioins.info :
---
CMU is now distributing a research distribution of Mach 3.0.
The Mach 3.0 micro-kernel sources for the i386 and DecStation 3100
do not require any licenses. In order to get Unix kernel functionality,
the Unix-server is needed and it requires a BSD 4.3 license.
---

From Ernst.Mach.CS.CMU.EDU:/doc/notes/bnr2ss :
---

Date:		June 8, 1993
Subject:	BSDSS Server
Author:		Mary Thompson
------------------------------

Announcing BSDSS8, the Mach single server for 386bsd.  BSDSS8 is an
implementation of UNIX that derives from Berkeley's Networking Release
2 (BNR2) as redistributed by William Jolitz.

CMU's Mach group is making this release available on an "as-is" basis.
It is our hope that members of the systems community will help to
ensure BSDSS's continued vitality. The CMU Mach group will be able to
devote very limited effort to this project. System support is
complicated by the existence of several different kernels derived from
BNR2. Thus it is not clear which we should be trying to maintain
compatibilty with. However, we do think that this release will at
least be of instructional value in letting a wider audience see the
structure of a microkernel/server based Unix emulation.

About a year a go, Randy Dean took the then existing 386BSD 0.0 kernel
and made a server of it that would use the facilities of the Mach3.0
micro kernel.  In the intervening time, features from 0.1 and the
0.2.3 patch level (of 0.1) have been added to this base.  We have also
done some performance tuning.  Using the ODE compilation tools, the
Mach3.0 kernel and the BSDSS8 server can be built on a native CMU 386
system. These tools are very close to also working on the native
386BSD platform.  Additionally, an alternative simpler compilation
process is available for the native 386BSD system.


Performance:
------------
At present, the BSDSS server is slower than the native kernel.  For
example, a compilation run (of the kernel and server) that takes 41
minutes on a 50Mhz EISA 486 (256K cache 16Meg memory) running the
native 386BSD kernel, takes 50 minutes when running the BSDSS8 system.
There are several areas that could be attacked to try to improve BSDSS
performance and there is a feature that lets you to profile the server
as it runs that will help locate performance bottlenecks.

Missing Features:
-----------------
The present server does not have an inode pager.  This means that
every time a program is executed the entire executable file must be
read into memory.  It is not mapped.

Also, as does the 386BSD system, the server also lacks the ability to
run multi-threaded applications. This should be much easier to
implement in the context of BNR2 than the old 4.3BSD system where we
originally did it.  (The system calls do not refer to global state
anymore.)

The cordrv device was not available when this project started and has
not been implemented, yet.  Thus X11R5 access is not currently
available.

Bugs:
-----
At present, the only perverse and disabling bug is an intermittent one
that we have not isolated yet.  Sometime, when the server is
terminating a process, the server loops waiting for the PTY to close
down.  Typically, this happens early after boot, if it happens at all.

The current microkernel/server does not boot on a native 386BSD
system.  Locally we use the Mach 386 boot program and setup the disk
and filesystems with the Mach 386 tools.  Our kernel can not read yet
read 386BSD disk labels; further the native 386bsd boot program can
not boot the Mach 3.0 kernel.  (It is loaded to physical memory
address 1Meg and takes a certain configuration of arguments from the
boot.)  It is my intent to try to remedy this problem by fixing the
Mach3.0 disk routines and the 386BSD loader.

Obtaining the code:
-------------------
All machines that are registered to sup Mach 3.0 BSD licensed code 
from CMU, can sup 386BSD. Sup instructions for the Mach/BSDSS sources
appear below.

The supfiles for the kernel sources and the Mach 3.0 release are the same
as for any i386 release. mach3.release now contains binaries of the BSD server
named vmunix.BSDSS8.STD+WS and emulator.BSDSS8

mach3.kernel release=default host=x29.mach.cs.cmu.edu hostbase=/usr2 base=/usr/mach3/src/mk use-rel-suffix crypt=<crypt>
mach3.kernel release=i386 host=x29.mach.cs.cmu.edu hostbase=/usr2 base=/usr/mach3/src/mk use-rel-suffix crypt=<crypt>

mach3.buildtools release=ode host=x29.mach.cs.cmu.edu hostbase=/usr2 base=usr/mach3/src/buildtools crypt=<crypt> use-rel-suffix

mach3.release release=i386 host=x29.mach.cs.cmu.edu hostbase=/usr2 base=/usr/mach3/release use-rel-suffix crypt=<crypt>

The line to get the BSDSS sources is:

mach3.bsdss release=default host=x29.mach.cs.cmu.edu hostbase=/usr2 base=/usr/mach3/src/bsdss use-rel-suffix crypt=<crypt>

If you need more explanation than this FTP the complete sup
instructions from mach.cs.cmu.edu, as user anonymous,
doc/notes/mach3_sup.

If you have an empty Mach partition on a 386/486 platform, you can
populate the Mach partition, with the 386BSD system from one of the
archive sites and then just add the BSDSS server, emulator and kernel
to this partition. The installation of the BDSSS server is identical
to that of the UX server. FTP doc/notes/mach3_setup.doc if you need
more explanation. If there is enough interest, we will setup a sup
collection for the 386BSD binaries.


Support and more information
----------------------------

ALL SUBSEQUENT DISCUSSION should be directed to the bnr2ss@cs.cmu.edu
mailing list. 

---
(End included file.)

For more information, please subscribe to the bnr2ss mailing list
via bnr2ss-request@cs.cmu.edu .

calvin@axe.cit.wayne.edu
calvin@gnu.ai.mit.edu


*****************************************************************************
*						*  Eric Vette (Calvin)      *
*	The views expressed here are not 	*  Computational Biochemist *
*	those of the FSF, my employer(s),	*  calvin@gnu.ai.mit.edu    *	
*	myself, or anyone else!			*  calvin@axe.cit.wayne.edu *
*						*  evette@cms.cc.wayne.edu  *
*						*  evette@waynest1	    *
***********************************************************.sig*virus********
!! 	Science is the search for more things to search for...		   !!
-- 
*****************************************************************************
*						*  Eric Vette (Calvin)      *
*	The views expressed here are not 	*  Computational Biochemist *
*	those of the FSF, my employer(s),	*  calvin@gnu.ai.mit.edu    *