System Oriented design and the Squeak OS problem.

Alan Grimes squeak-dev at lists.squeakfoundation.org
Sat Oct 5 04:18:12 UTC 2002


om

Before I switched my attention to AI, I was an OS devel who struggled to
figure out how to implement his ideas with free compilers just as I'm
struggeling with the gorry details of Morphic now. (don't worry, the
help I have recived from this list with morphic is already 1,000,000
times more than I ever got with ld.) 

Basic problems between squeak and oshood are these:

-- managing raw hardware.
-- implementing security and resource protection.
-- seperating namespaces? (has this been solved and nobody told me)?

My solution to these is to implement a concept that I call the "sphere"
but that I must acknowlege has its roots sometime in the early 80's
known as a "System Sriented Operating System"

A system is like a heavy-weight dynamic class. I have an unrevised
version of my paper on my website. (the revised version got hosed with
my HD, and I cancled the project), I started to throw togeather a
"sphere" class this afternoon as a demo.

The sphere abstraction is the beginning of the system. I don't know
enough squeak to really discuss it in terms of squeak but I'll try
anyway. The basic idea is to make a squeak that can instantiate itself
within itself. 

To begin, a sphere abstraction is applied to the entire VM. Then a
second abstraction is created that is logically "within" this outer
abstraction, 
This second sphere is a protected sphere that is totally accessable by
the outer sphere but absolutly inaccessable to its peers. -- this is the
primary protection mechanism. 

It communicates with its peers by publishing an interface to some
standard that are collected by the parent and offered on a market of
sorts, allowing spheres to find each other and make connections. It may
not be the most convienient way to operate but then the entire world
can't be squeak, all developed by the same family, this method of
negotiating interfaces is intended to make things run smoothly even when
they shouldn't. ;)

The operating system is implemented _AS_ a sphere. The most imortant
resources are the CPU and memory. The drivers for these contain whatever
is needed to controll the hardware.

I don't know wheather there are any commands for explicitly killing an
instance in squeak... 

The primary motovation of sphere is managability, or example, I have no
idea why the "nobody" user on my leenooks system starts doing some mondo
expensive "find" task at midnight just about every night.... I only
nocied it because the system becomes badly bogged at that hour. In
sphere, it should be very easy to find out exactly what is happening
because all the connections can be tracked, and hopefully nothing will
be so poorly designed as to make the user feel as helpless as I do
around leenooks. =(

/me needs to go console himself by playing some DragonQuest 6 (snes ROM)
on his 486 with ZSNES under DOS.... =\

-- 
Sometime in 1996 God reached down from the heavens and created a game
called "Terranigma". ;)
http://users.rcn.com/alangrimes/



More information about the Squeak-dev mailing list