Children's Operating System (original) (raw)

| OSdata.com: holistic issues | | OSdata.com | | ------------------------------------------------------------------------------------- | | ---------- |

Children’s Operating Systems

This is an ambitious project. I am asking those who are interested in operating systems and willing to donate some programming, artwork, or other support to assist in building an operating system for children.

While there are many excellent (and not so excellent) programs for children, currently, there are no operating systems designed for children. Children can and do adapt to use adult operating systems, but they would far better be served by an operating system designed to meet their unique needs and abilities.

I have watched several nieces and nephews struggle with adult operating systems, often becoming very frustrated. And a friend had the particularly unfortunate experience of his child accidently erasing the hard drive. The child had become accustomed to simply clicking on the “OK” button (identified by position, as the child couldn’t read yet) and clicked “OK” to “Are you certain you want to erase the hard drive?”

There are obvious advantages to creating a protected environment particularly designed to meet the needs of the child (especially pre-literate and partially literate children), where the child is unaffected by and unable to affect the adult operating system.

Now, if you think about it, all of the challenges of an adult operating system still exist, with the added challenges of meeting the needs and abilities of children. This is actually the most difficult programming challenge around (how’s that for encouraging you to believe we can do this?).

key criteria

I’ve given the problem a lot of thought, and identified some of the key criteria:

When we look closely at the problem, we see that most of what is unique to children is in the interface. This means that we don’t have to reinvent the wheel. We can use any highly reliable operating system for the majority of the services and concentrate our efforts on providing a quality interface that buffers the child from the underlying adult operating system.

As mentioned above, one of the problems is that there will be a variety of hardware, mostly outdated hardware. So, we need to build an operating system that is fast and platform independent.

threaded interpretative engine

An obvious solution is to create the environment with a threaded interpretative language. Because a threaded interpretative language is interpretted, it is platform independent, meaning that any software written for the TIL will run on any future or past hardware that has a working TIL engine.

If you are accustomed to such things as BASIC interpretters or software emulations, your impression is that these are very slow.

When properly designed, an threaded interpretative language can run faster than most compiled code and almost as fast as hand optimized assembly code. A classic example is the many specialty embedded systems built using Forth.

If we take the ideas from Forth and LISP and SmallTalk, we can create a large set of primatives designed to meet the general purpose computing needs of children, and have a reasonably fast system even on very old hardware.

A well designed inner interpretter can run almost as fast as assembly code, and is comparable in speed to a very efficient object oriented run time environment. The outer interpretter is not time critical and rarely is a bottleneck producing a noticeable impact on computing speed. Usually the number of primatives is kept small so as to cut development time for a new system, but in this case we want to have a large number of primatives. Primatives run several orders of magnitude faster than secondaries because they run directly on the underlying hardware rather than on the software interpretter. Additionally, a large set of primatives will provide a uniformity of interface for application programs.

basic system

This leads to three levels of work needed:

  1. CHOS: Children’s Operating System. This is a completely self-contained operating system.
  2. CHOSE: Children’s Operating System Environment. This is the interpretter and the environment it creates for children. I am suggesting that the CHOSE initially be built to run on top of LINUX, FreeBSD, Macintosh, and Amiga. I have access to the development software and test hardware to build an example version of the CHOSE in 68000 assembly language for the Macintosh (recent PowerPC machines will run 68000 software on a software emulator that is actually significantly faster than any real 680x0 hardware ever manufactured). Because of the shared hardware, it should be relatively easy for AmigaOS fans to make the modifications to run the CHOSE on the Amiga. It will be more difficult to port the 68000 example to 80x86/Pentium or PowerPC systems running LINUX or FreeBSD, but because of the nature of TILs, it shouldn’t be particularly difficult, and there are a lot of LINUX hobbyists out there. If someone can provide me with the programmer’s reference manuals for the PowerPC and Pentium processors, I will also write assembly language code for those processors.
  3. CHOSEL: Children’s Operating System Environment Language. This is the programming language that runs on the interpretter. This is the real “meat” of the project and the part that I personally find most interesting.

So, now you have a general idea of what I have in mind.


or the mouse dies!!!

OSdata.com is a visitor supported educational web site

For more details, click here.

$10 donation $25 donation

A web site on dozens of operating systems simply can’t be maintained by one person. This is a cooperative effort. If you spot an error in fact, grammar, syntax, or spelling, or a broken link, or have additional information, commentary, or constructive criticism, please e-mail Milo. If you have any extra copies of docs, manuals, or other materials that can assist in accuracy and completeness, please send them to Milo, PO Box 1361, Tustin, CA, USA, 92781.

http://www.operatingsystems.net/children.htm is moving to http://www.osdata.com/children.htm. Please update your bookmarks and links accordingly.

Click here for our privacy policy.


home page



Made with Macintosh

This web site handcrafted on Macintosh computers using Tom Bender’s Tex-Edit Plus and served using FreeBSD .

Viewable With Any Browser


Names and logos of various OSs are trademarks of their respective owners.

Copyright © 2000 Milo

Last Updated: Sept 26, 2000

Created: Sept 24, 2000