[comp.sys.next] Op Environment vs Op System

schanck@saturn.cis.ohio-state.edu (Christopher Schanck) (11/03/88)

The discussion of UNIX as a good/bad arena for a windowing/graphical based
operating system put me in mind of a point made in a recent BYTE article:
people have a tendency to confuse the *environment* with the operating
system. Sure, the tradition UNIX envronments are command-line driven
ones. But as has been stated, nothing precludes UNIX from using anything
else, like windowing, icons, graphical display of sanscrit, etc. Whoever
made the point that the kernel doesn't have the environment coded into it
was right; this is a Good Thing.

Chris

-=-
"There is really no point in a .signature, is there?"
"I mean, all the good ones have been done, right?"
--- Christopher Schanck, mammal at large.
schanck@flounder.cis.ohio-state.edu

shap@polya.Stanford.EDU (Jonathan S. Shapiro) (11/03/88)

In article <26446@tut.cis.ohio-state.edu>
schanck@saturn.cis.ohio-state.edu (Christopher Schanck) writes
(quoting BYTE):
>... People have a tendency to confuse the *environment* with the operating
>system.

Some of the readers of this newsgroup are too young to remember *why*
this is so, and there is a simple reason.  Few popularly available
operating systems (I don't think multics counts - I am interested in
thousands of copies sold) before UNIX made a strong distinction
between the command processor and the operating system.
Traditionally, the command processor is considered part of the
operating system implementation.  Since the command processor is the
dominant interface to most users (EMACS users can hit N now), the
assertion that most *operating systems* are text-based is not so
unreasonable.

For examples, consider VMS, MVS, VM/CMS, DOS, OS/2, and on and on.
UNIX is the first operating system of commerical import to distinguish
between the operating system and the [user] environment.

Jon

scco@uhura.cc.rochester.edu (Sean Colbath) (11/04/88)

In article <4833@polya.Stanford.EDU> shap@polya.Stanford.EDU (Jonathan S. Shapiro) writes:
>In article <26446@tut.cis.ohio-state.edu>
>schanck@saturn.cis.ohio-state.edu (Christopher Schanck) writes
>(quoting BYTE):
>>... People have a tendency to confuse the *environment* with the operating
>>system.

True.

>Some of the readers of this newsgroup are too young to remember *why*
>this is so, and there is a simple reason.  Few popularly available
>operating systems (I don't think multics counts - I am interested in
>thousands of copies sold) before UNIX made a strong distinction
>between the command processor and the operating system.
>Traditionally, the command processor is considered part of the
>operating system implementation.  Since the command processor is the
>dominant interface to most users (EMACS users can hit N now), the
>assertion that most *operating systems* are text-based is not so
>unreasonable.

Agreed.  In this MS-DOS age of computing, people tend to believe that what
they type to is the actual OS.  In the case of MS-DOS, it is.

>For examples, consider VMS, MVS, VM/CMS, DOS, OS/2, and on and on.
>UNIX is the first operating system of commerical import to distinguish
>between the operating system and the [user] environment.

No, no, no - this is totally untrue.  True, in the case of Unix, you can
change your shell to whatever you want, but this doesn't mean that the
operating environment is distinguished from the OS its self.  Several of the
operating systems you mention allow you to do this also - VMS has a
Unix-type shell, and one or two others (although you have to pay extra for
them).  VM/CMS is actually two separate systems - *VM* is the operating
system, CMS is an operating system that runs under VM.  It's entirely
possible to bring up VM without ever running CMS or having a CMS source
tape.  You can run other operating systems under VM.  You can run Unix under
VM.

The point I'm trying to make is that it is no more apparent under Unix that
the "command-line interpreter" is a separate program than under other
systems.  In general, the people in the know will realize this, the less
experienced won't.

>Jon


Sean Colbath

Internet: scco@uhura.cc.rochester.edu
UUCP:	  ...{ames,cmcl2,decvax,rutgers,allegra}!rochester!ur-cc!scco
BITNET:   SCCOCCSS@UORVM
"...and now for something completely different..."

halldors@styx.rutgers.edu (Magnus M Halldorsson) (11/05/88)

In article <300@ur-cc.UUCP> scco@uhura.cc.rochester.edu (Sean Colbath) writes:

> Agreed.  In this MS-DOS age of computing, people tend to believe that what
> they type to is the actual OS.  In the case of MS-DOS, it is.

I don't agree. You can take out the command.com and put something else
instead, say unix-like shell, and you're still running ms-dos.

Magnus

childers@avsd.UUCP (Richard Childers) (11/10/88)

In article <4833@polya.Stanford.EDU> shap@polya.Stanford.EDU (Jonathan S. Shapiro) writes:

>UNIX is the first operating system of commerical import to distinguish
>between the operating system and the [user] environment.

I'm not sure that's precisely true. I've been aware of the difference between
the OS and the user interface ever since I first studied the internals of
CP/M, back in the late Seventies.

I would assume that this functional division between the two has been existent
ever since OSes were designed, rather than conglomerated.

Thus, it would seem that the criteria here is not age, so much as it is the
degree of attention with which a given individual studied the systems in use.

>Jon

-- richard

shap@polya.Stanford.EDU (Jonathan S. Shapiro) (11/10/88)

In article <145@avsd.UUCP> childers@avsd.UUCP (Richard Childers) writes:
>In article <4833@polya.Stanford.EDU> shap@polya.Stanford.EDU (Jonathan S. Shapiro) writes:
>
>>UNIX is the first operating system of commerical import to distinguish
>>between the operating system and the [user] environment.
>
>I'm not sure that's precisely true. I've been aware of the difference between
>the OS and the user interface ever since I first studied the internals of
>CP/M, back in the late Seventies.
>

CP/M does provide some distinction, but the command interpreter is
well-known to the system. I claim [though its a long and interesting
discussion] that so long as the command interpreter is deeply known to
the operating system the user environment and the operating system
aren't different.

Jon

bzs@encore.com (Barry Shein) (11/11/88)

From: childers@avsd.UUCP (Richard Childers)
>>UNIX is the first operating system of commerical import to distinguish
>>between the operating system and the [user] environment.
>
>I'm not sure that's precisely true. I've been aware of the difference between
>the OS and the user interface ever since I first studied the internals of
>CP/M, back in the late Seventies.

Unix pre-dates CP/M by several years, what's your point?

>I would assume that this functional division between the two has been existent
>ever since OSes were designed, rather than conglomerated.

This is not exactly a theoretical point one needs to make assumptions
about, show an operating system with this property before around 1970
when Unix began this sort of thing. There may be some definitional
problems, however, as to exactly what is meant by the first claim.

I suspect the point, in some modified form, will stand, plus or minus
some hair-splitting.

	-Barry Shein, ||Encore||

henry@utzoo.uucp (Henry Spencer) (11/12/88)

In article <145@avsd.UUCP> childers@avsd.UUCP (Richard Childers) writes:
>>UNIX is the first operating system of commerical import to distinguish
>>between the operating system and the [user] environment.
>
>I'm not sure that's precisely true. I've been aware of the difference between
>the OS and the user interface ever since I first studied the internals of
>CP/M, back in the late Seventies.

Don't forget that Unix dates to the early 70s, well before CP/M.
-- 
Sendmail is a bug,             |     Henry Spencer at U of Toronto Zoology
not a feature.                 | uunet!attcan!utzoo!henry henry@zoo.toronto.edu

jr@bbn.com (John Robinson) (11/15/88)

In article <4163@encore.UUCP>, bzs@encore (Barry Shein) writes:
>>I would assume that this functional division between the two [OS, "shell"]
>>has been existent
>>ever since OSes were designed, rather than conglomerated.
>
>This is not exactly a theoretical point one needs to make assumptions
>about, show an operating system with this property before around 1970
>when Unix began this sort of thing. There may be some definitional
>problems, however, as to exactly what is meant by the first claim.
The TENEX "exec" was a program that you could ask the system to run
for you, in an "inferior exec" if (for example) you wanted to suspend
the interactive things you were doing and go off to look at a file or
whatever.  This dates to about 1970.  Given the coincidence with Unix,
howver, I suspect the idea has a common ancestor in either Multics or
the SDS 940 operating system.  I'll try to dig up more on this since
it seems to be of interest.
--
/jr
jr@bbn.com or bbn!jr

lum@bat.cis.ohio-state.edu (Lum Johnson) (11/19/88)

In article <32289@bbn.COM> jr@bbn.com (John Robinson) writes:
>In article <4163@encore.UUCP>, bzs@encore (Barry Shein) writes:
>>>
>>>I would assume that this functional division between the two [OS, "shell"]
>>>has been existent ever since OSes were designed, rather than conglomerated.
>>
>>[Please] show an operating system with this property before around 1970 when
>>Unix began this sort of thing.
>
>The TENEX "exec" was a program that you could ask the system to run for you,
>in an "inferior exec" if (for example) you wanted to suspend the interactive
>things you were doing and go off to look at a file or whatever.  This dates
>to about 1970.  Given the coincidence with Unix, howver, I suspect the idea
>has a common ancestor in either Multics or the SDS 940 operating system.
>I'll try to dig up more on this since it seems to be of interest.

The 'exec' was the program given to you on login, and you could "push" to
another invocation from the original or most other programs.  The analogy to
the 'shell' is very close indeed.

Both BBN TENEX and ATT UNIX were written in reaction to defects in the model
of time sharing accepted by Project MAC and exemplified by CTSS, MULTICS, and
TOPS-10.  TENEX, modeled mostly on DEC TOPS-10, was implemented on a Honeywell
machine, ported to Digital's pdp-10 when that was discontinued, and used by
Digital as the basis of TOPS-20.

The 'exec'/'shell' approach eased the burden of system debugging, maintenance,
and security, and made user control of different programs simultaneously
running in separate forks feasible.  It was a huge success.  I believe both
BBN and ATT made the same (or a very similar) discovery independently, almost
simultaneously.  BBN may have been earlier by a year.
-=-
-- 
Lum Johnson    lum@osu-20.ircc.ohio-state.edu    lum@tut.cis.ohio-state.edu
"You got it kid -- the large print giveth and the small print taketh away."
-------

jr@bbn.com (John Robinson) (11/24/88)

In article <27921@tut.cis.ohio-state.edu>, lum@bat (Lum Johnson) writes:
>Both BBN TENEX and ATT UNIX were written in reaction to defects in the model
>of time sharing accepted by Project MAC and exemplified by CTSS, MULTICS, and
>TOPS-10.  TENEX, modeled mostly on DEC TOPS-10, 

I think this is a bit too strong.  TENEX kept parts of TOPS-10 it
could use, and had a "compatibility mode" for running TOPS-10
programs, but a lot of the ideas were fundamentally different.  TENEX
provided paged address space; PDP-10 was segmented [i.e., BBN added a
pager to the PDP-10 to get to TENEX].

>						 was implemented on a Honeywell
>machine, ported to Digital's pdp-10 when that was discontinued, 

huh?  TENEX started out on and stayed with the PDP-10.  The name
should say it.  Maybe you are confused with the Arpanet IMP, which
started on Honeywell 516 minis, then went to H-316s, before jumping to
a microcoded BBN-built machine in the early 1980's.  Also, MULTICS was
built on a GE 645 (I think that's the right number), which went to
Honeywell when GE left the computer biz.
								 and used by
>Digital as the basis of TOPS-20.

yup.
--
/jr
jr@bbn.com or bbn!jr

lum@bat.cis.ohio-state.edu (Lum Johnson) (11/29/88)

In article <32711@bbn.COM> jr@bbn.com (John Robinson) writes:
>In article <27921@tut.cis.ohio-state.edu>, lum@bat (Lum Johnson) writes:
>>TENEX, modeled mostly on DEC TOPS-10, 
>
>I think this is a bit too strong.  TENEX kept parts of TOPS-10 it could use,
>and had a "compatibility mode" for running TOPS-10 programs, but a lot of the
>ideas were fundamentally different.  TENEX provided paged address space;
>PDP-10 was segmented [i.e., BBN added a pager to the PDP-10 to get to TENEX].

I did not mean to imply that any actual TOPS-10 code was borrowed for TENEX.
I was under the impression that it was a case mainly of reverse-engineering.
TOPS-10 was the cleanest and tightest implementation of Project MAC's ideas,
so it was used as the original reference model in developing TENEX.

>>... implemented on a Honeywell machine, ported to Digital's pdp-10 ...
>
>huh?  TENEX started out on and stayed with the PDP-10.  ...  Maybe you are
>confused with the Arpanet IMP, which started on Honeywell 516 minis, then
>went to H-316s, before jumping to a microcoded BBN-built machine in the early
>1980's.

Oh!  (How do I draw a red face in ASCII?)  This could well be.

I was thinking of the Honeywell 6000 series, also 36-bit machines, if my
memory has not failed me entirely.  Undoubtedly that and the IMP history,
taken together with apparently mis-recalled edit history comments, caused
me to confuse myself.  Whoops.  Thanks for the reboot.  :-)
-=-
-- 
Lum Johnson    lum@osu-20.ircc.ohio-state.edu    lum@tut.cis.ohio-state.edu
"You got it kid -- the large print giveth and the small print taketh away."
-------

pd@sics.se (Per Danielsson) (12/01/88)

In article <28510@tut.cis.ohio-state.edu>, lum@bat (Lum Johnson) writes:
>In article <32711@bbn.COM> jr@bbn.com (John Robinson) writes:

>I did not mean to imply that any actual TOPS-10 code was borrowed for TENEX.
>I was under the impression that it was a case mainly of reverse-engineering.
>TOPS-10 was the cleanest and tightest implementation of Project MAC's ideas,
>so it was used as the original reference model in developing TENEX.

Nope. Tops-10 (also known as Bottoms-10) and TENEX (later TOPS-20
(also known as Twenex)) did not have much in common apart from running
on the same hardware (DEC pdp-10). The underlying philosophy of how an
operating system should work was *very* different.

It is amusing to note that some of the (for the day) advanced ideas
(this was late '60:s to early '70:s) are beginning to show up in MACH...

(What is this doing is comp.sys.next anyway?)
-- 

alien@cpoint.UUCP (Alien Wells) (12/01/88)

>						Also, MULTICS was
>built on a GE 645 (I think that's the right number), which went to
>Honeywell when GE left the computer biz.

Please ... let's not forget that Xerox tried to be a computer company way
back when.  GE sold the system to Xerox, who then sold it to Honeywell ...

jr@bbn.com (John Robinson) (12/01/88)

In article <1409@cpoint.UUCP>, alien@cpoint (Alien Wells) writes:
>>[me:]						Also, MULTICS was
>>built on a GE 645 (I think that's the right number), which went to
>>Honeywell when GE left the computer biz.
>
>Please ... let's not forget that Xerox tried to be a computer company way
>back when.  GE sold the system to Xerox, who then sold it to Honeywell ...
I thought there was another company in there, but I thought it was
RCA.  I know RCA's other computers (Spectra-70, RCA-2, -3, -6, -7)
went to Honeywell.  Xerox purchased the SDS (Scientific Data Systems)
computer line (became XDS), including the 940, which was one of the
inspirations for TENEX as I said before.  I believe Butler Lampson was
an architect of the SDS line before joining Xerox Parc.

Computer History is fun.  Anyone think this is getting too far off the
NeXT topic though?
--
/jr
jr@bbn.com or bbn!jr