OS

Alan Grimes alangrimes@starpower.net
Tue, 04 Jul 2000 21:48:20 -0400


Baph000@aol.com wrote:
> 
> I was browsing thru your website, and the OS section caught my eye.

=)  
Thanks for your feedback/response, I rarely get any and I value it when I
do. =) 

> In the news section, you mention completely rethinking your OS design 
>from the basic 386 pmode stuff to something more like that thing called 
>"tunes." What do you mean?

I'm not sure myself. I am only beginning my research on the new track,
which is so different from what I had been doing before. Lets see how I do
in explaining it. =P 

	Uh... I'm gonna assume that you are familiar with the concept of "Time
Sharing Machines". Okay you have a machine that can run several programs at
once, that is that the universal computer can magically morph itself into a
number of distinct and extremely complex machines simultainiously. The kind
of CPU in use at the time was this huge multi-chip module that cost
something on the order of $3,000. Around 1970 the video terminal became
practical so you would have like 30 of these hanging off of a machine that
had about the power of a TI-85. The problem is that when these people, who
were programming in BASIC, Fortran, and APL, and most notably assembly were
hacking on their programs on this machine, they would crash it mess up
everybody else's work. =P IBM then came up with a machine, I forget which
one, (too lazy to look it up), It was perfect. The hardware was such that a
simple program could command it to partition itself down into completely
independant "virtual machines" that could be created and deleted at will.
It was perfect! And that was also its greatest flaw. Each partitioned
program could not crash any other program, Infact no program in the system
could talk to any other program, or even the operating system!!! That is
the perfect "protected Mode" processor. Ofcourse as it was it was *useless*
because the "getty" process couldn't even talk to the "sh" process! All
good operating systems, such as linux, rely heavily on the communication of
many diverse programs and filters and pipes... The famous solution that IBM
processor employed was to *intentionally* "Crash and debug", by doing that
the processes communicated with the OS. So then many decades later we are
left with the 386 which has two generations of intentionally flawed
protection mechanismss tacked on top of each other... I mean the system is
flawed in that the partitioning is not perfect, Holes had to be cut in the
perfect protection so that the program could talk to the OS directly, and
to each other. All the security bugs in the linux kernel are places where
the OS doesn't perfectly plug the holes that have been designed into the
system. Or places where a server makes too many assumptions about the
client's behavior in a shared memory region... 

You can see why I don't want to use this system that is neccessarily flawed
by its very nature. =P Hardware would be cheaper and faster if it didn't
need to support p-mode. =P

This section is too large, let me continue below... =)


> How did you decide that tunes is the way to go?

Interesting that you asked, It is a rather convoluted story. =P

At first I looked at tunes and said "Say What???" =P Well then I started
actually getting down to nuts and bolts with my OS. I approached my OS in a
way that is different from the other "p-mode kernel" projects out on the
web, I recognised that my OS would be charactorized as a piece of software
first and be able to manipulate protected mode data structures as a
*TERTIARY* function. I could never fully grasp the ugly complexity of
P-mode kernel design (due to the reasons mentioned above). So what I did
was get around it by designing my software for realmode! Ofcourse everybody
and their friends laughed at me for being an idiotic moron and told me that
my project was a waste, I continued my designing anyway. I never
implemented it but it was a valuble learning experience. I found that the
goal of crash free operation could, it seems, be achieved by a "Safe
Compiler" that is a compiler that could not "Bring down the system" should
the program fall into an endless loop or produce an unexpected result. Such
compilers have been in use for years in AI research so that programs can be
manipulated by genetic algorithms without fear of crashing due to a pointer
bug (Get TCC 3.0 and play with a program that uses pointers in pure DOS. =P
).
	I am in the midst of figuring out how such a system would be constructed.
I intend to then implement the software that I had designed to run on
Realmode for it. 


> What is the concept of tunes and why is it better than what's around 
> right now?

The new concept is to attempt to implement a compiler that can support a
variety of programming environments and abstract the hardware to the point
its architecture becomes nothing more than a performance consideration
while providing the level of integration and functionality that one expects
from an "OS" such as windows and Linux.

The problem I face is that software is the most complex class of machines
ever concieved. 

All languages and software can be built uppon a system of symbol
manipulation. Lisp for example operates on lists of symbols. Uppon this
system you can implement any system you want. It is also hardware
independant because it has no way of accessing the bits and transistors
that make up today's hardware. What I am trying to figure out how to do is
develop a compiler/software environment that will consist of the constructs
of the language and arbitrary symbols that will be mapped to hardware. With
this I can implement the OS I designed previously and implement hardware
protection by simply witholding the name of hardware that I don't want the
user to be able to access. =) 

I'm not getting much work done on this because I am too facinated by the
science of cybernetics at the moment. =P But I really gots to gets this
projeckt done first though. Looking long-term I need the cybernetics
research done around or before 2018 and this system done before that... =\ 

> thanx - someone interested in OSes :-)

Great to hear from you! 

-- 
STOP THE CORRINATION!!!!
VOTE Harry Browne Libertarian for prez instead! :)
Sorry, folks, this sig is gonna stay till the election.. =P
http://users.erols.com/alangrimes/