[comp.os.mach] Mach on Sparcs...important questions...

patiath@umn-cs.cs.umn.edu (Pradip Patiath) (03/13/91)

We are considering using Mach for a major project. However, there
are some questions that somebody who reads this newsgroup may
be able to help me with. Please reply or make any suggestions
on the following questions by email at the following address:
 patiath@cs.umn.edu

-Is there a supported version of Mach for the SparcStations?
-Is there a C++ compiler that works on Mach?
-Does Xwindopws and Motif run on Mach?Has anyone tried it?
-How does Mach deal with non-reentrant libraries (eg: C libraries)?
I know that the sun lightweight process library causes problems
with reentrancy when used with preemptive scheduling. How does
Mach prevent such problems? Specifically, if there are 2 threads
that use a library function, and there is time sliced preemptive 
scheduling, how does Mach guarantee that globals etc. are saved between 
thread context switches?  Or does it give no such guarantee?

I need to make a decision on Mach soon, so any (comments || suggestions
|| responses) would be very welcome. Once again, please send email to:
 patiath@cs.umn.edu

Thanks
-Pradip
-- 
=====================================================================

Pradip Patiath
Sensor & System Development Center                 patiath@cs.umn.edu

ed@mtxinu.COM (Ed Gould) (03/15/91)

>-Is there a supported version of Mach for the SparcStations?

Not so far as I know.  It's running at CMU, but I don't know of
any support.  I'm not even sure if they're distributing it yet.

>-Is there a C++ compiler that works on Mach?

Gcc is the C compiler used for Mach on 386s.  If there's a SPARC
gcc, I would expect it to work fine with Mach.  The same should
apply to g++ (even though it's not quite C++).

>-Does Xwindopws and Motif run on Mach?Has anyone tried it?

X certainly does.  I don't personally know of Motif running on Mach
outside OSF, but I wouldn't expect any problems.

>-How does Mach deal with non-reentrant libraries (eg: C libraries)?

There is a parallelized version of the C library for use with the
cthreads package (the only high-level interface available for the
thread stuff).  It's linked in with -lc_par; there are also tests in
the standard .h files for the symbol _PARALLEL_LIBRARIES.  If it's
defined, then the headers are compiled for parallel execution.

Many of the other libraries have not been parallelized.  For example,
I recently wrote a multi-threaded application using curses.  I
wrote wrappers for all of the curses routines, using cthreads
locks to serialize calls to curses.  It's crude, but it's easy and
it works.
-- 
Ed Gould                    mt Xinu, 2560 Ninth St., Berkeley, CA  94710  USA
ed@mtxinu.COM		    +1 415 644 0146

"I'll fight them as a woman, not a lady.  I'll fight them as an engineer."