OSdata.com |
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 couldnt 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 (hows that for encouraging you to believe we can do this?).
Ive 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 dont 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.
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.
This leads to three levels of work needed:
So, now you have a general idea of what I have in mind.
For more details, click here.
A web site on dozens of operating systems simply cant 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.
previous page | next page |
This web site handcrafted on Macintosh computers using Tom Benders Tex-Edit Plus and served using FreeBSD .
Names and logos of various OSs are trademarks of their respective owners.
Copyright © 2000 Milo
Last Updated: Sept 26, 2000
Created: Sept 24, 2000
previous page | next page |