[cap-talk] NLTSS

Jed Donnelley jed at nersc.gov
Wed Jul 11 19:52:53 EDT 2007


Charles Landau wrote:
> At 5:52 PM -0400 7/11/07, Jonathan S. Shapiro wrote:
>   
>> I'ld be interested to know more about what happened with RATS and NTLSS.
>> I speculate that they were initially built for larger or non-commodity
>> machines and never transitioned to the 386. Was there ever an effort
>> made to mainstream these operating systems?
>>     
>
> Regarding RATS:
> It was built for the DEC PDP 11/45, which was about as small and 
> commodity as machines got in 1974. There was never the slightest 
> thought to sharing, let alone commercialization, and it was forgotten 
> before the x86 came along. There simply wasn't enough development 
> effort put into RATS to consider it a serious system.
>
>   
NLTSS:

http://en.wikipedia.org/wiki/NLTSS

on the other hand was developed primarily for larger (as you say, 
non-commodity)
machines, it ran only on CDC and Cray machines.  Smaller personal 
systems (e.g.
workstations like Suns, Macs, and PCs started showing up in the early 
1980s, but I
don't think you could consider such systems "commodity" systems until 
the early 1990s
when the combination of the rapidly dropping costs for such systems and 
the beginnings
of the Internet started the explosion of such personal systems into homes.

Unlike RATS, which was basically a one man operation (Go Charlie!) with
a little help from his friends, NLTSS was a huge effort.  I had an 
average of
some 6-9 people working on just the operating system itself over perhaps
an 8-10 year period (though this was almost entirely work on the emulation
of the legacy "LTSS" API), and there were perhaps twice that many people 
working
on applications and libraries for perhaps 5-6 years and many hundreds of
users programming for it - though mostly for it's LTSS compatibility
API.

There was some serious consideration given to putting together a Unix 
compatible
API for NLTSS in about 1987.  Since NLTSS was already a microkernel
architecture (with only a single system call - see the above document) 
and it
was already running almost entirely in what amounted to an emulation mode
for the older "LTSS" system, it wouldn't have been particularly 
difficult for
it to equivalently emulate Unix - though others may dispute that view.  The
issues I believe were similar to those for putting PLASH on Unix or I
guess perhaps like those for putting a POSIX API into EROS.

The costs of doing so would have been much smaller than the investment
in NLTSS up to that time (above), but the user community at LLNL at
that point was ready to join the wider Unix community and transition
to a position of being able to share code more easily with a much wider
community.  If NLTSS was going to simply emulate Unix as it did LTSS,
what was the point in continuing to support a distinct local infrastructure?

This viewpoint made perfect sense, so NLTSS development was phased
out over about a 6 year period as the main production applications at
LLNL were transitioned from the LTSS API to the Unix API.  There
would have been absolutely no traction at the time for an argument that
a system like NLTSS was more secure, that it could more easily exploit
networked resources (it was also a network operating system) or really
for any of it's other putative advantages.

Interestingly there was a small amount of concern at the time about
preserving the mandatory access controls that NLTSS supported
(read classification levels).  As I've mentioned elsewhere on this
list NLTSS did provide support in it's base message passing kernel
for classification labels and provided what one might consider
"mandatory" policies (MLS policies) for such communication.

However, at the time vendors were working hard on supporting
MLS policies and it was widely believed that support for such
facilities would be available in those commercially available systems
(e.g. Unicos from Cray).  As it turned out such MLS facilities
were gradually abandoned (though there are still some remnants)
and places like LLNL went to essentially running "system high"
in an air gap environment.

NLTSS had some other issues such as being written almost
entirely in a version of Pascal with object-oriented (abstract
object) extensions that was developed at Los Alamos and
adopted for the NLTSS programming at LLNL, and it's
use of the older LTSS device drivers and dependence on
the rather simple Cray architecture.  However, I believe these
were really minor issues relative to those of the API
and fundamental features that the system made available.

The last NLTSS system was turned off in 1995 - when
unfortunately I was on sabbatical in Germany.  The last
RATS system was turned off I guess in about 1975.

--Jed   http://www.webstart.com/jed/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eros-os.org/pipermail/cap-talk/attachments/20070711/21641ce0/attachment.html 


More information about the cap-talk mailing list