Object-oriented OS [was: Re: Microsoft-Paul Allen]

Tomasz Rola rtomek at ceti.pl
Mon Oct 29 23:40:54 CDT 2018


On Mon, Oct 29, 2018 at 05:53:30PM -0400, Sean Conner via cctalk wrote:
> It was thus said that the Great Tomasz Rola via cctalk once stated:
> > Ok guys, just to make things clearer, here are two pages from wiki:
> > 
> > https://en.wikipedia.org/wiki/Object-oriented_operating_system
> > 
> > https://en.wikipedia.org/wiki/Object-oriented_programming
[...]
> 
> > Examples:
> > 
> >   - an object pretends to be a disk object, but is double-disk
[...]
>   You can do this now on Linux using the FUSE driver---this allows a user
[...]
> >   - an object says it is a printer but is a proxy, connected via
[...]
> 
>   Under QNX, this was a trivial operation.  It was probably pretty trivial
> under Plan-9 (depending upon how they handled printer queues).  Unix
> (including Linux) has something like this, but the name escapes me since I
> do almost no printing what-so-ever.  
> 
>   I do know that of the last N printers I've had [2] (actually, my
> girlfriend has---she's the one who prints more than I do) were all "plug on,
> turn on, oh look!  The computer found it on the network---print!"

Ok, but twenty years ago if one wanted to find something on the
network, one had to build the network first. And sometimes the thing
to be found, too.

I realize a lot of stuff I gave as examples can be done nowadays
without all that OO-thinglets. We should not mix past with today,
those are/were different situations.

> >   - object with execution thread, aka active object (in 199x
[...]
> major problem though is dealing with resources other than the CPU.  For
> instance, a process has an open file its working with when it's migrated. 
[...]
> You can't reliably provide this functionality invisibly---you have to pretty
> much involve the process in question in the process.

There was a rather huge area of research, which was concerned with
such issues. Maybe still is, I am not current. See below.

> > Plus, some kind of system programming language - I had no idea what
> > Smalltalk was and I still have no idea but I might have swallowed
> > that.
> 
>   An object-oriented image based programming language.  Except for some
> critical routines written in assembler, the entire system (operating system,
> compiler, GUI, utilities, etc.) were all written in Smalltalk and every
> "object" could be inspected and modified at runtime (including the operating
> system, compiler, GUI, utilties, etc.).  

Nice idea.

> 
> > I think it was possible to have this. But, not from MS. And as time
> > shows, not from anybody.
> 
>   Citation needed.  

Oh.. ok. I would rather go to bed than down this memory lane, but we
will see if I can do this quickly.

Some of the things that were available in mid-1990-ties:

 - Amoeba - distributed, object (based? oriented?) OS

https://en.wikipedia.org/wiki/Amoeba_(operating_system)

https://www.cs.vu.nl/pub/amoeba/

intro:

http://www.cs.vu.nl/pub/amoeba/Intro.pdf

First version: 1.0 from 1983
Last version: 5.3 from 1996

http://fsd-amoeba.sourceforge.net/amoeba.html

Among other things, they claim to have an OS over a network of
computers, while X with terminal emulators served GUI to users.

 - HT Condor - started as Condor in 1988, job/workload manager for
   grid / distributed computer / network of computers

https://en.wikipedia.org/wiki/HTCondor

http://research.cs.wisc.edu/htcondor/

 - Sprite - research OS, supported process migration, discontinued
   after 1994

https://en.wikipedia.org/wiki/Sprite_(operating_system)

 - Emerald, from 1984 onward, language for object oriented distributed
   programming, supports object migration

https://en.wikipedia.org/wiki/Emerald_(programming_language)

http://www.emeraldprogramminglanguage.org/

Since we are at it, I cowrote object migration service for ANSA
(Advanced Networked Systems Architecture)

https://en.wikipedia.org/wiki/Andrew_Herbert#Advanced_Networked_Systems_Architecture

and used it to build load balancer for distributed computation
(objects migrating alone or together because they are tighly coupled
etc etc), which as my master thesis (1996) earned me third prize in
national contest here in Poland. Compared to the rest of the stuff
ANSA was a bit primitive and at that time it was on its way out (while
CORBA was on its way in). Glory days. Lots of steam through the window
and out into blue skies. BTW, the wikipage claims A.Herbert is
involved with EDSAC restoration, so he went retro.

Anyway, I think it is obvious that doing mere OO system was not really
big deal. Some of those projects were dying of old age by then. Some
frameworks, like PVN, are nearly 30 years old today.

So, I suppose if someone really wanted to do their commercial OS in OO
way, they could have.

> > On Mon, Oct 22, 2018 at 07:34:32PM -0700, Chris Hanson wrote:
> >          
> > > A lot of Windows 95 is implemented using COM, which is probably
> > > where the description of it as “object-oriented” comes from.
> > 
> > Well, I am not going to bet my money on this. What you wrote might be true
> > but I would like something, say a blog or article, in which author shows
> > how I can count those COM objects.
> 
>   How many threads are running?  There's your count.

That easy.

> > I tried to verify your statement and the earliest Windows which could be
> > claimed to be built from many COMs was Windows 8. But the truth is, I have
> > departed from Win-Win land long ago, and only use Windows when someone
> > wants me to unscrew a Windows laptop.
> 
>   Well, COM (Component Object Model) was first developed by Microsoft in
> 1993, but was based off an earlier technology Microsoft developed call OLE,
> which in turn came from DDE in 1987.  

I have read about it, too. My doubt was about "a lot of Windows 95 is
implemented using COM". I can be ok if "a lot" == 10%, but if it is
75% then I am doubtful, just because I do not buy it (at least not
from MS, they are known for making extravagant claims, see "UNIX
killer").

> > > And while I have never been a Windows user, to denigrate it as some
> > > sort of non-achievement given the constraints under which it was
> > > developed, both in terms of target systems and backwards
> > > compatibility, is myopic at best.
> > 
> > C'mon, we are not talking about windows on 8-bit computer. I think
> > they had loads of cash even back then and could pick from heaps of
> > CVs. According to ReactOS wikipage:
> 
>   He's talking about Windows on a 16-bit computer with a limit of 1M of
> memory (but really 640K due to the architecture of the IBM PC [3]).

Too bad, the thread is about Windows 95 - a 32-bit OS, where 640K is
just a bad dream. Even if in fact Win95 was (AFAICT) a 16/32 bit
mixture.

I actually appreciate Windows 3.x (this, the 16-bit OS) because MS
managed to squeeze it into such a limited hardware. It was pitiful and
rather useless for running multiple computations at once but it was
also significant.

> > https://en.wikipedia.org/wiki/Reactos
> > 
[...]
> > 
> > With this funding and so few people those noble folks achieved quite a
> > lot. Do you think MS limitations were bigger?
> 
>   Reactos is a team building something which already exists---they're
> keeping up with Microsoft.  It's Microsoft that spends the money to extend
> and enhance the features of their operating system in reponse to customer
> demand.
> 
>   For a more apples-to-pears type of comparison, the number of active Linux
> developers in 2013 was nearly 1,400 [4], which compares nicely to Windows
> for active, new development.

Fair point.

-- 
Regards,
Tomasz Rola

--
** A C programmer asked whether computer had Buddha's nature.      **
** As the answer, master did "rm -rif" on the programmer's home    **
** directory. And then the C programmer became enlightened...      **
**                                                                 **
** Tomasz Rola          mailto:tomasz_rola at bigfoot.com             **


More information about the cctalk mailing list