Hacker Timesnew | past | comments | ask | show | jobs | submitlogin
OS/Forth (1998) (forth.org)
16 points by fogus on Oct 16, 2009 | hide | past | favorite | 11 comments


The triad diagram with the OS between the user, the hardware, and the software is especially informative.

      H    S
       \  /
        OS
        |
        U
Why is OS there in the diagram? The OS is just software! Make a compiler target and programming environment the OS!

This has been done before. Symbolics Lisp machines demonstrate many of the technical advantages of this level of integration. Unfortunately, they also show the disadvantageous economics of special-purpose hardware. Most Smalltalk environments have a very good abstraction of the underlying hardware, which is the way one can have this level of integration without the special hardware trap. In fact, you can mostly just treat the VM like it's the CPU. That triad diagram should really be:

    Hardware
       |
    Software
       |
      User


What it really should, and does, look like is:

    Hardware
       |
      OS
       |
    Software
       |
      User
Your OS is there to provide protection between programs and provide an interface to system resources. The OS is "software", I suppose, but it /is/ fundamentally different than, say, your web browser, in that OS code runs in kernel mode and your web browser runs in user mode. That's a huge difference in access to system resources, etc.


Your OS is there to provide protection between programs and provide an interface to system resources.

Why can't the language provide those?

fundamentally different than, say, your web browser, in that OS code runs in kernel mode and your web browser runs in user mode

Having Kernel/User modes is just one way of providing security. There is nothing really fundamental about it. It just so happens that machines are mostly organized this way. One could do away with the kernel mode distinction with a mechanism like capabilities and arguably wind up with better security.


> Why can't the language provide those?

It can. But when it does, it stops getting called a language, and starts getting called an OS that only supports one language.

Or it gets called programming the bare metal.


It can. But when it does, it stops getting called a language, and starts getting called an OS that only supports one language.

You're either not familiar with some of the technologies I'm discussing, or you're not getting the point I'm trying to make.

Smalltalk started out as an OS, and even back then, it was fully capable of supporting any number of languages running on top of it.

Or it gets called programming the bare metal.

My point is that this is just a fixed idea without a fundamental basis. That's just how it has been as opposed to how it has to be. Basically, it's that way because the field settled in on a particular way of doing things that fit the limited hardware of the time.

Also, there's no reason why a VM, JIT or otherwise even has to be involved. Haiku/BeOS is another such creature. It's highly responsive, even on ancient hardware, and it's highly compact. (Entire OS + apps in well under 200M.)

The OS is a set of abstractions. A High Level Language is another. There's no universal reason why the latter can't subsume the former.


> The OS is a set of abstractions. A High Level Language is another. There's no universal reason why the latter can't subsume the former.

And it has. When this happened, the result was dubbed an OS.


The article never proposes specialized hardware at any point - indeed, a central idea is that a Forth-based OS would port well to a multitude of architectures.


The article never proposes specialized hardware at any point

I never said the article proposes that. But some may be under the mistaken impression that a Lisp Machine-like environment would require it.


Interesting that Bill Gates said, "Microsoft is rewriting all its' application offerings to use an advanced HTML interface and no longer the current windows based system," in 1998.

Why are we still not there, 11 years later? Coincidentally, I just wrote a blog post about this last night:

http://shoptalkapp.com/blog/2009/10/15/the-real-web-os


Article from 1998. (I hate it when a post doesn't show date/time at top of article).


So what ever happened to these ideas and Forth?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: