[comp.sys.mac.misc] MachTen for Macintosh

jude@nas.nasa.gov (Jude A. George) (10/17/90)

I've had several requests to post whatever info I've gathered about Tenon's
MachTen at Interop, so here goes.

MachTen is is a different approach to Mach on the Macintosh.  Whereas
CMU's MacMach is a native-mode port of the BSD4.3 Mach kernal to the
Mac, MachTen is actually an application that runs on top of the MacOS.
But don't hit 'n' just yet.  This allows it use of the functions provided
by the Mac system software, such as the serial drivers, Appletalk, Mac
fonts, etc.  I believe these capabilities had to be reimplemented from
scratch in CMU's MacMach.  Mach tasks (processes) run within the MachTen
environment, and preemptive multi-tasking is supported.  This makes sense,
since applications under MacOS run under the 68000's supervisor mode;
the MachTen kernal likewise runs in supervisor mode (since it's a Mac
application), but forces its tasks to run in user mode.  Well, this is
only an assumption, but it's the only way they can accomplish what they're
doing, right?  You can run Mac applications on top of the MachTen
environment, each one being a Mach task -- MachTen probably just traps their
system calls and passes them down to the MacOS.  What application did they
use to demonstrate this?  TeachText.

I saw MachTen running on an SE as well as a II-series machine.  The Macs
without PMMUs or 68030s simply don't provide full memory management.
Well, they must provide some sort of memory management, since Mach needs it
for message passing.  Perhaps everything but the physical act of paging?
IP is supported over LocalTalk, Ethernet, and serial lines (with SL/IP).
To demonstrate the latter, they had a terminal directly connected to an
SE's modem port.  So what happens when you run NCSA Telnet over this puppy
and fire up the ftp server?  Who gets the port, NCSA Telnet or /etc/ftpd?
I forgot to ask.  Call them.

They also claim to have an NFS client and server.  BTW, they use the standard
Mac HFS filesystem... no separate partition is necessary.  The same files
are accessible from the MacOS and Mach.

So what's the bad news?  It's still buggy.  The screen doesn't update
properly when you run a Mac application out of MachTen.  Even in something
as simple as TeachText.  Not all of the UNIX utilities have been ported.
I have a feeling that porting standard BSD4.3 compliant software is a lot
more difficult under MachTen than under CMU's MacMach.  CMU also handles
running Mac software under Mach in a cleaner way (IMHO) by running the
entire MacOS as a Mach process, although not everything in their
implementation is working, either.  Of course, Mac programs can't make use
of preemptive multitasking in such a design, but who cares.  The MacOS
doesn't support IPC.

MachTen is slated for Q1 1991 release, $495.  That's next year, folks.

Selections from their show handout:

"MachTen supports true UNIX miltitasking.  With MachTen, slots of processor
time are given to each program, creating the illusion of several programs
running simultaneously.  This allows multiple windows on the screen to
execute Macintosh and UNIX programs at the same time.  For example, a user
can edit a document with WriteNow or vi while a C program is compiling
and a MacDraw II graphic is printing."

[ Well, I never saw *multiple* Mac programs running side by side, although
they claim they will support this in their release.  Keep an eye on this. ]

"MachTen provides a user friendly, software development and UNIX execution
environment for the entire Macintosh family.  The MachTen Development
System supports a complete software development environment that includes
Source Code Control System (SCCS), 'C' compiler, loader, assembler,
debugger, and automated source dependency management via the Make program.
A complete set of libraries is included to allow 'C' programs to access to
the Macintosh Toolbox.  This enables programmers to create UNIX applications
that have the "look and feel" of the Macintosh."

"Macintosh applications run exactly as they would in native mode.  MachTen
has no "32-bit clean" constraint on Macintosh applications."

"On-line HyperCard documentation is available along with standard manuals.
Technical support is available via 1-800-6-MACH-10."

"A two-user binary licence is included in the standard system price.
Unlimited binary licenses are also available."

Supported hardware: Classic, LC, SE, SE/30, II, IIcx, IIfx.  2MB RAM, 4MB
recommended for Development System users.

Their address:

Tenon Intersystems              TEL 805-963-6983
1123 Chapala Street             FAX 805-962-8202
Santa Barbara, CA 93101         1-800-6-MACH-10


Neither I nor NASA nor CSC have any affiliation with Tenon.  Yow.

:::::::::::::::::::::::::::::::/::::::::::::::::::::::::::::/:::::::::::::::
::::::::Jude:Anand:George:::::%\/:::::jude@nas.nasa.gov::::%\/::::::::::::::
::::::::reagan:denude:jog:::::\/\::::::/\:/\::::::/\:::::::\/\::::::::::::::
:::::::::::::::::::::::::::::::\::::::/  /  \/\::/  \:/\::::\:::::::::::::::

wilkins@jarthur.Claremont.EDU (Mark Wilkins) (10/17/90)

In article <1990Oct16.220350.24085@nas.nasa.gov> jude@nas.nasa.gov (Jude A. George) writes:
>This makes sense,
>since applications under MacOS run under the 68000's supervisor mode;
>the MachTen kernal likewise runs in supervisor mode (since it's a Mac
>application), but forces its tasks to run in user mode.


[ stuff deleted ]

>Supported hardware: Classic, LC, SE, SE/30, II, IIcx, IIfx.  2MB RAM, 4MB
>recommended for Development System users.


  Note that the IIsi and IIci are not on the list?  That's because on those
machines applications DON'T run in supervisor mode.

  I'd stay clear of this product myself, mainly because it seems to be on
shaky ground in this respect.


  Does anyone know how well the CMU product works?


-- Mark Wilkins
-- 
*******     "Freedom is a road seldom traveled by the multitude!"    **********
*-----------------------------------------------------------------------------*
*  Mark R. Wilkins   wilkins@jarthur.claremont.edu   {uunet}!jarthur!wilkins  *
******  MARK.WILKINS on AppleLink  ******   MWilkins on America Online   ******

ml27192@uxa.cso.uiuc.edu (10/17/90)

>  Note that the IIsi and IIci are not on the list?  That's because on those
>machines applications DON'T run in supervisor mode.

Where do you get this information? I thought the toolbox ran in supervisor
mode, and that this also is related to programs being able to get system
resources.

wilkins@jarthur.Claremont.EDU (Mark Wilkins) (10/17/90)

In article <143400029@uxa.cso.uiuc.edu> ml27192@uxa.cso.uiuc.edu writes:
>
>>  Note that the IIsi and IIci are not on the list?  That's because on those
>>machines applications DON'T run in supervisor mode.
>
>Where do you get this information? I thought the toolbox ran in supervisor
>mode, and that this also is related to programs being able to get system
>resources.


  Simple.  Whenever I break into MacsBug on my IIci the supervisor mode bit
is turned off unless I do it within a system call.

  The IIci was the first machine to have the MMU activated by default rather
than running in a mode which just passes address bits through.

  Anyway, there is a set of Mac IIci programming notes available from APDA
which confirm this.  Also, Apple has long been warning application
developers not to assume supervisor mode, and this is what caused some of
the IIci incompatibilities to start with.

-- Mark Wilkins
-- 
*******     "Freedom is a road seldom traveled by the multitude!"    **********
*-----------------------------------------------------------------------------*
*  Mark R. Wilkins   wilkins@jarthur.claremont.edu   {uunet}!jarthur!wilkins  *
******  MARK.WILKINS on AppleLink  ******   MWilkins on America Online   ******

russotto@eng.umd.edu (Matthew T. Russotto) (10/18/90)

In article <9162@jarthur.Claremont.EDU> wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
>
>>Supported hardware: Classic, LC, SE, SE/30, II, IIcx, IIfx.  2MB RAM, 4MB
>>recommended for Development System users.
>
>
>  Note that the IIsi and IIci are not on the list?  That's because on those
>machines applications DON'T run in supervisor mode.
>
>  I'd stay clear of this product myself, mainly because it seems to be on
>shaky ground in this respect.
>

Huh?  The IIx is missing from the list too, and its applications certainly
run in supervisor mode.  Besides, even if the si and ci don't run applications
in the supervisor mode, (and I thought the 'ci' did run in supervisor mode--
if the 'ci' doesn't, why does the 'fx'?) there are some fairly simple ways
of changing that (i.e. SetTrapAddress, and muck with the stack)
--
Matthew T. Russotto	russotto@eng.umd.edu	russotto@wam.umd.edu
      .sig under construction, like the rest of this campus.

aksguest@engrhub (10/19/90)

<9162@jarthur.Claremont.EDU>
Sender: 
Reply-To: aksguest@engrhub (Milt Roselinsky		mail address aksguest@engrhub.uscb.edu)
Followup-To: comp.sys.mac.misc
Distribution: world
Organization: University of California, Santa Barbara
Keywords: mach, MachTen, Tenon Intersystems


With all of the news on the net, I guess it's time to answer some of the 
questions that have been circulating about MachTen.  I was hoping that Tenon
would have a direct connection to the Internet (still about 2 weeks away), but
until then, I can be reached as aksguest@engrhub.ucsb.edu.  If anyone has any
detailed questions, feel free to call Tenon, or send me mail.  We will soon post
a formal product announcement to comp.sys.mac.announce.

The MachTen demonstration at Interop was demonstrating an early version, and
was basically a demonstration of MachTen's ability to run the Mach kernel and
43BSD UNIX applications on a variety of Macs.  Final release will support the
ability to run Mac applications as multitasking Mach processes.

I'll now try to respond to some of the messages I found.

In article <1990Oct16.220350.24085@nas.nasa.gov> jude@nas.nasa.gov (Jude A. George) writes:
>They also claim to have an NFS client and server.  BTW, they use the standard
>Mac HFS filesystem... no separate partition is necessary.  The same files
>are accessible from the MacOS and Mach.
>IP is supported over LocalTalk, Ethernet, and serial lines (with SL/IP).
>To demonstrate the latter, they had a terminal directly connected to an
>SE's modem port.  So what happens when you run NCSA Telnet over this puppy
>and fire up the ftp server?  Who gets the port, NCSA Telnet or /etc/ftpd?
>I forgot to ask.  Call them.
There is no reason to run NCSA Telnet with MachTen.
MachTen comes with all of the standard 4.3BSD applications including user/server
telnet, rlogin, rsh, ftp.....  Both 
client and server NFS are also included.  In fact, at Tenon we have an 
interesting configuration where we're running a diskless Mac Plus that boots 
and mounts NFS filesystems on an SE.

One other minor point.  At Interop we had SL/IP connecting two Mac SE's modem
ports, and we were demonstrating connecting a terminal on another Mac's modem
port to act like a standard user's terminal (with a getty/login process running 
on it).

In article <9162@jarthur.Claremont.EDU> wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
>In article <1990Oct16.220350.24085@nas.nasa.gov> jude@nas.nasa.gov (Jude A. George) writes:
>>This makes sense,
>>since applications under MacOS run under the 68000's supervisor mode;
>>the MachTen kernal likewise runs in supervisor mode (since it's a Mac
>>application), but forces its tasks to run in user mode.
>>...
>>Supported hardware: Classic, LC, SE, SE/30, II, IIcx, IIfx.  2MB RAM, 4MB
>>recommended for Development System users.
>  Note that the IIsi and IIci are not on the list?  That's because on those
>machines applications DON'T run in supervisor mode.
That the IIsi and IIci, and for that matter the Mac Plus and IIx were left 
off of the list was an oversight.  MachTen runs on all of these platforms.  
The contents of the 680X0 status register (where the supervisor/user mode bit
lives) at the time a program is launched really has no bearing on MachTen's 
portability.


Milt Roselinsky, Senior Technical Associate
Tenon Intersystems
1123 Chapala St.
Santa Barbara, Ca. 93101
Phone: (800) 6-mach-10, or (805) 963-6983
Current Internet Access: aksguest@engrhub.ucsb.edu
Soon to be: info@Tenon.com