[unios] Re: Priorities

Pat Wendorf beholder@ican.net
Sat, 05 Dec 1998 12:28:46 -0500


From: Pat Wendorf <beholder@ican.net>

> > One processes faster by using a different method... that IS the difference...  With a scalable OS, you can take advantage of that fact.
>
> And what exactly is a scalable OS ?

Scaleablity, by my definition is an OS where all the system components (kernel, scheduler, cache, memory manager), are completely plugable, and the programs designed
for this system are totally cross-platform.  For example, if you are a small company that has one computer, and you didn't have a lot of money to begin with, so you
bought a typical PC clone.  This clone PC runs the office utilities, some specialized applications for that profession (financial calculators, inventory trackers,
etc.).  The company has started out with two employee's sharing the same system, however this became a burden, and they bought a second PC.  They are now sharing,
maybe the inventory database.  The initial machine had no networking capability, minus, maybe internet stuff.  Now the two machines have peer-to-peer networking.  The
system scaled because of a plugable component OS (not very impressive though, simply because almost all OS's nowadays can do this, and it did not require any changes
in kernel or scheduling).  However the business grows, and they now have one hundred employee's.... this poor database server/office app  machine has been ground to a
halt, almost, simply because of the database requests.  So, the company gets a new machine just for this database server, and because they know that the database is
all that will be run on it, they use a small database server system runtime module.  This module adds in chaching and scheduling, and networking features that are
optimized for database usage.  The database machine is also a dual processor x86 compatible.  A recompile on the database sever process was necessary, to take
advantage of this new hardware enhancement, however the program itself never had to be changed (code wise).  The system scaled to the next level.  A little while later
the company has 10,000 employee's (they are doing well :), and the database sever is again, quite lagged.  So they get a quad processor Sparc server.  The program,
again needs a recompile, but not to be rewritten...  All that's happening, is changes in the type of OS system components that are used.  Any type of system could be
written within the framework of the OS specifications.  You recompile the database server whenever you have a major hardware change.  This type of system would allow
for a very wide range of salability... from single user to large corporation, without using different, incompatible OS's, or having to re-write the program...

> >
> > > Do you think the Algorithm required to schedule different tasks on these
> > > two machines will be the same .. in effect will the Kernel be same for
> > > both these machines ?
> >
> > Nope, and I did not expect them to be... UniOS does not mean One-Kernel-Fits-All... What I mean is one base system can encompass all computers.  It may not be
> > perfect, or the fastest solution possible, but I don't believe it would be that far off.
>
> If the kernel(s) is/are going to do all the checks  what happens to its size ?

Checks?  Such as?

> >
> > If we create a system that takes advantage of ONE type of computer on ONE type of architecture, for ONE type of processing we could have a very very fast, very
> > stable system... but what the hell would be the point?  We are here to find something better, something new... not re-create what we already have.  If I wanted
>
> As far as code perspective is concerned .. I don't think that all generic
> code can be written without making it so bulky that its useless.
> Remeber Heseinberg's principle.

We don't want that kind of system to be thrust on a programmer...  The programmer would program for the essential effect he/she wanted, and the hardware abstracts and
the OS would determine how exactly it is implemented at run time...  For example if you were writing a database server, you would write only the code you need to
access your database.  That code interfaces with the OS system components, which will handle all the specifics of the scheduling and memory management required to
handle the situation.

> Well, making a generic frame work for every thing is altogether a different
> matter. An outer layout ..... a structural design which is generic  can be
> possibly written (developed). Later on individual components can be coded
> (Following the Ladder Development model)  which are put on a machine according
> to the requirements.

I'm not too sure, but I think that sounds like what we want.

> This is the difference ... the resulting system becomes :
> 'A jack of all trades but master of NONE'

Only because the system processing all things in the exact same way... A system that can change it's own processing methods, would be able to master any one of
these... but not all running at the same time (I don't think we can expect that)...

> My question is how good is such a system ?

A jack of all trades is a crappy system... because it only has one way of handling programs/processes... Windows 95/NT are like that... and even Unix to a degree.
We want to avoid having a single way to handle things.


> We can't write a universal generic OS.....
> But may be we can design the basic frame work ...
> This frame work can be rather a Very High Level Design. (VHLD)
> This is the phase where we define the policies.
> We can determine on generic/universal policies but as we go to details
> jump on to specifics... may be ... we can develop a large number of
> components which can be integrated without any fuss .. later on
> depending on the requirements fix only the necessary things together.

Like Pieter mentioned... a plugable component "no-kernel" OS.  I like the idea.  It has infinite scalablity, and an infinite number of ways to handle it's processes,
but a singular way of programming (not a singular language, all languages would compile down to the generic API, I guess), and a singular basic interface (which is
totally configurable).  However like you said, for release we would have to have a nice packaged version of it, with a pretty generic set of objects, at least enough
to handle the home/corporate/industrial users basic needs, then expand on from there, possibly even three different packaged versions?.  This also gives the project no
definable end, and lots of ways to make money off specific system integration methods... The OS would be free, but when a company asks for a specific
implementation/customization... that would be a good place to charge.  This is just a thought...  what does everyone else think?

> is in need of that module.  Who says the kernel can not be divided into
> modules ?

No one... that is a good idea.

> You are wrong here...   What common ground is there between a game player and
> a data analyst ?  (considering GUI ?)  a game players primary concern would
> be good display and not huge number crunching floating point operation.
> The data analyst would be less interested in GUI than the analysis.

True, I did not say they need the same things, but rather, they can use the same OS.

> please define scalability AS YOU SEE IT ?
> (this is an honest question)

Did so above...

> > we are trying to find out... With ideas, from some very smart and experienced  people.  I don't claim that it will can be perfect, because its not an embedded
> > system...  I'd bet you could get double the speed out of that program you are writing if it were embedded also :)  But you also have an OS layer to contend with.
> >
> > Do you want to create something for something, or something for everything?  We already have tons of OS that fit specific need.  We don't need another... unless
> > we come up with a NEW specific need.
>
> I think that in this mail at some places I am very blunt  but that was
> all with good intention only and I did not mean to offend any one.
> Also please let me kno if I am not clear at any point

NP, that's what we are here for.  We can't make anything real good without discussing what we all want/know....  :)

--
-----------------------------
Pat Wendorf
UniOS Group
http://members.xoom.com/unios
beholder@ican.net
ICQ: 1503733
-----------------------------



------------------------------------------------------------------------
Help support ONElist, while generating interest in your product or
service. ONElist has a variety of advertising packages. Visit
http://www.onelist.com/advert.html for more information.
------------------------------------------------------------------------
UniOS Group
http://members.xoom.com/unios