home .. forth .. colorforth mail list archive ..

[ColorForth] OS is Not a Dirty Word


Apple started it and Microsoft made it an art form for marketing and legal
(i.e. fight antitrust) reasons: "The OS is everything running when the system
finishes booting." This concept has spread to the point where even a geek can
say to me, "Well, I wouldn't want an operating system without a browser." So
now an "OS" is a bloated hairball with a bazillion services: web browsers,
audiovisual capability, editors, GUI desktops and file managers, wallpaper,
icons, ad naseum. 

The traditional definition of an OS is an entity which manages processes and
access to the physical resources of the system. If you haven't got many
resources, and/or you don't use processes, then the OS can be tiny. 

But over the years knowledgeable people have recognized the need for uniform
access to resources.

Let's say Chuck implements TCP/IP. I surely would expect others to use this
code to access the net, and not to reimplement it in every application. In this
way the core colorForth is providing net access as a _service_ to the rest of
the software.

If resource access code is duplicated all over the system, it is unlikely to be
stable, and a maintenance nightmare. ("@$%@ Who screwed up the removable
storage?")

In addition, if the system is multiprogrammed (e.g. The user has a mailer and a
browser running at the same time) there will be resource conflicts unless there
is a locking strategy, possibly enforced by hardware.

There are a number of RTOSs which are very small, tight, and thoroughly tested.
One of the ways of judging quality in an RTOS is to investigate how many
changes were made to the code over the past few years. You want to see very
few. Windows, including CE, is obviously not in this category! Nor is Linux.

The colorForth core, with services like TCP/IP, USB, and keyboard/screen
access, is a (simple) OS, IMHO. 

Of course you could have the policy that the video buffer was not controlled by
the OS, and anybody could write to it at any time. 

Or you could have multiple, stacked video buffers ("switcher"), or multiple,
tiled video buffers ("windows"). These would be created by the OS on the video
buffer resource and assigned to threads/processes which request them. 

Slide down this slope for twenty years in an evolutionary way with an intent to
please everyone and you have the current bloatware. 

Solution? Start over again with hindsight.

Regards, KBK
-- 
   K u r t    B.   K a i s e r
   k b k @@ s h o r e .. n e t
------------------------------
------------------------

To Unsubscribe from this list, send mail to Mdaemon@xxxxxxxxxxxxxxxxxx with:
unsubscribe ColorForth
as the first and only line within the message body
Problems   -   List-Admin@xxxxxxxxxxxxxxxxxx
Main ColorForth site   -   http://www.colorforth.com