[net.unix] Unix on the PC

lauren@vortex.UUCP (Lauren Weinstein) (01/16/84)

I have a bit more information about this.  What IBM is actually selling
is a port of Interactive's IS3 for the PC, which is a System III
derived product.  Now, whether or not you get excited about this
depends on how you like products from Interactive Systems Corporation
and whether or not you like IS3, which in many ways is not "standard"
System III.  They are apparently providing their INed editor as the
only standard display editor [this is their product based on the "Rand
Editor" family (various versions known as "re", "ned", "e", etc...)]
Some people like this style of editor, though personally I much prefer
"emacs"-style or "vi"; the latter two are certainly more generally usable
on many machines, especially "emacs" with its support on many non-Unix
systems and full termcap capabilities in most cases.

Performance is something of a question mark.  Since I'm told it is a
pretty straightforward port of VAX IS3, with the necessary changes
for the PC architecture, one can probably assume that it may thrash
around quite a bit on the PC/XT's single disk, and also that the
basic set of program objects probably doesn't leave one hell of a lot 
of free space on that disk.  The kernel will probably be pretty
hefty in size as well.

Clearly, for persons who prefer V7-type systems over System III
(especially on small machines with fairly limited environments)
the Interactive system will probably not be terribly desirable,
even if all else were equal.  There are, of course, numerous other
choices of Unix and Unix-like systems for the PC, some of which 
are presumably faster and smaller than a System III-type port
would probably be.  (As you can probably tell from this message,
I've never been a big fan of System III, but that's a personal
opinion and a whole different topic...)  Of course, it is pretty clear
that porting of V7-oriented applications will generally be easier
to V7-like systems than to System III variants.

Oh yes, while pricing isn't completely firm, it appears likely 
that the single unit price for the Interactive PC/Unix will be
about $900.  This is fairly expensive -- almost twice as much
as some of its competitors currently on the market.  This may
well be another significant factor in the long run.

--Lauren--

guy@rlgvax.UUCP (Guy Harris) (01/17/84)

<fixed this yet?>

	Clearly, for persons who prefer V7-type systems over System III
	(especially on small machines with fairly limited environments)
	the Interactive system will probably not be terribly desirable,
	even if all else were equal.  There are, of course, numerous other
	choices of Unix and Unix-like systems for the PC, some of which
	are presumably faster and smaller than a System III-type port
	would probably be.  (As you can probably tell from this message,
	I've never been a big fan of System III, but that's a personal
	opinion and a whole different topic...) Of course, it is pretty clear
	that porting of V7-oriented applications will generally be easier
	to V7-like systems than to System III variants.

Well, what do you mean by "V7-type" vs. "System III"?  The main real
differences are:

1) S3 has a *lot* more programs than V7, which will be a problem on
machines with limited environments.  Of course, you don't have to provide
all of S3, but the announcement I saw mentioned SCCS, so I'll bet they may
be loading it up.  However, I remember the announcement saying that one of
the video boards would only be supported in text mode, so maybe they
won't bother porting PWB/Graph, which is *g*i*g*a*n*t*i*c*.

2) There are a couple of syscalls in V7 not in S3 (which are frequently not
put in V7 ports; calls like the multiplexed file stuff, "phys", and "lock"),
and there are a couple of syscalls in S3 not in V7.  All in all, fairly
trivial differences.

3) V7 hashes the sleep events but not the buffer cache, while S3 hashes the
buffer cache but not the sleep events.  Of course, you can cache both of
them if you want.  Other than that, the kernels are *extremely* similar
inside; maybe a cycle is wasted here or there by S3 having the end of
various tables in the "var" structure rather than being compiled in, but
I wouldn't expect much performance differences between a vanilla V7 and
a vanilla S3 compiled with the same table sizes.

4) "index" was renamed "strchr" and "rindex" was renamed "strrchr".  This
causes about 15 minutes work at the worst for moving an application from
a Research-based system to a USG-based system; less, if you just set CFLAGS
in the makefile to include "-Dindex=strchr -Drindex=strrchr".

5) The TTY driver is different.  Most programs which do funny things with
the TTY modes are screen-oriented programs which go into CBREAK mode with
echo turned off; they usually have one place where they do this and one place
where they restore the modes.  Just stick in an #ifdef, and go out of ICANON
mode with echo turned off on USG systems.

6) The way you get local timezone information changed.

7) Some command syntaxes have changed.

8) "dbm" doesn't come with S3, but would port with zero work.

So I don't think that a properly-written program would have much trouble
at all moving from V7 to S3.  We've moved several large programs of that
sort with no trouble at all, including a *lot* of screen-editor like programs
(and if you use a screen package like "curses", just change "curses" and
most of the programs will require no change).  I generally think of V7
and S3, for a lot of purposes, as variants of one system; the differences
between them - or, at least, between a "core subset" of V7 and of S3, excluding
all the stuff added to S3 and the stuff like "dbm" and "learn" that never
went from Research to USG - are a lot less than those between V6 and V7.

I also don't think that any performance differences between V7 and S3
implementations are likely to be due to intrinsic characteristics of V7 and S3;
they're more likely to be due to differences in what the implementor did with
V7 and/or S3.  If PC/IX is a fairly vanilla port of a VAX OS to a PC, I could
easily see it being slow; Venix, I think, actually uses a V6 file system rather
than the file system used by V7 and S3 for performance reasons.

Overall, I don't see the fact that PC-IX was based on S3 as being a deficiency;
S3 does several things more nicely than V7 (for instance, vanilla V7 doesn't
have "CRT rubout", while vanilla S3 does), and the only problem with porting
S3 to a small micro is that it's even huger than V7, so you may want to be
*very* selective about what you port.

	Guy Harris
	{seismo,ihnp4,allegra}!rlgvax!guy

johnl@haddock.UUCP (01/20/84)

#R:vortex:-22700:haddock:16700003:000:949
haddock!johnl    Jan 17 17:48:00 1984

Really, now, Lauren.  Grind your axe more quietly.  PC/IX is indeed a
full port of System III.  Accept no substitutes.

We've been using it here for a while (net sites "chub" and "alewife" are
PCs running PC/IX) and the performance is not bad.  The kernel is
functionally equivalent to the Vax's, i.e. it supports the same system
calls, but the details are quite different to make it work well on the
PC.  For example, it includes the contiguous read improvements that Steve
Zucker talked about at last year's Uniforum.

In case there is any doubt, it supports uucp and mail.  As distributed,
it supports Ven-Tel and Hayes autodialer modems, and it is easy to add
support for new dialers without source code, since it calls external
dialer-specific programs to dial.  The "connect" program (like "cu" but a
lot more convenient, and provided instead of cu) calls the same dialer
programs, so it also supports various dialers.

John Levine, ima!johnl