I was reading one of the many arguments between Windows, OS X, and Linux fans online the other day and came to the realization that all of the current crop of desktop operating systems basically suck in one way or another. None of them are truly secure. None of them have file systems which are bullet proof. None of them can recover gracefully from power loss, hard drive failure, or other modern calamities. All of them suffer from hardware compatibility issues. None of them support multiple processor cores or even multiple threads of execution in any really meaningful way. They are all based on ideas, technologies, and even code bases that are literally decades old now.

Sure, most modern desktop operating systems have been updated regularly. Most have been patched up to support modern hardware as it appears. Most allow drivers to be created which give new hardware access to the system. Most have added on support for modern communication protocols and modern storage systems. But all of the current operating systems have had to add this functionality by tacking new code onto old sub-systems in ever more creative ways.

Perhaps it’s time to cut our software links to the 70′s and 80′s and truly start over. Maybe it’s time for a clean slate approach to a modern operating system. In a nutshell, we’re still using 20th century desktop operating systems and it’s time for a drastic change. Somebody needs to develop a completely new desktop operating system to take us well into the 21st century. It’s time for a 21st century OS.

How would one start this process? What should it include?

I say, start with a clean slate. Cast a tiny kernel in stone. Make it read-only to everything. Hell, go one step further and put it in a quick-boot ROM. Boot speeds should never exceed 15 seconds. It’s ridiculous to have 8 core processors running at 3+ GHz in modern computers and yet they take 2 full minutes to start up.

Next, virtualize and sandbox every non-kernel process in the entire system. Don’t let ANYTHING at any level make changes to the core operating system. Ever. Also, don’t let any process change the code or data of any other process. Both should just plain be forbidden and prevented. It should be impossible for little Bobby to do something to the computer that would require reinstalling or reconfiguring anything.

Weave in a secured version of a self-healing file system like ZFS from Sun. Build-in IPv6 with DES-level security from the ground up. Make file, hardware, system, and communications security a required part of the operating system rather than an optional add on. The only way somebody should be able to gain access to the computer is by having the security key in advance. In fact, maybe it’s time to put our security keys into hardware, just like our house keys or car keys. Having your key should grant you secured access to your own system whether you are sitting in front of it or sitting at a public computer on the other side of the world.

Next, define a few very strict hardware device protocols, build in support for those few, and frankly don’t allow any hardware which does not conform to the specification fully. The era of adding registry keys, installing drivers, and trying to get your devices to work is OVER. Develop one way to talk to devices and if a device doesn’t follow the rules, just don’t support it period. No drivers. No hacks. No way.

Make the OS both massively parallel and multi-threaded. Create tools which embrace and incorporate both ideas so our future generation 10,000 core CPUs just work from the start. Treat both, GPUs and CPUs as computing resources with a generic way of describing their capabilities to the operating system so that it can route tasks to whatever processor is available which can do the work. The kernel should simply use processors as processors. If you add another one, it should just use it.

Make the OS lean and fast. Make it boot in under 10 seconds, 15 maximum. Give the OS a hardware accelerated GUI and hardware accelerated media capabilities from the start. All media encoding and decoding should be open source and specified in hardware. Keep the GUI SIMPLE and intuitive. It shouldn’t require tweaking to make things work. There should be no command line. There shouldn’t NEED to be.

Make the OS dirt cheap or free by selling vendors a secure key, development kit, or license for developing compatible hardware. Maybe charge for software development kits. Either way, it needs to be free to end users and perhaps even free to computer makers for it to get adopted or offered as an option as quickly as possible. To ensure that the OS can be given away for free, avoid licensing old crap from the current crop of patent trolls who now sell 20th century OSes. There are great alternatives for everything, even media formats, from open, license-free sources.

Basically, write us a brand-new 21st century OS so we can all stop using the wide variety of crappy, antique, hacked-together, 20th century OSes we are currently stuck with. There really isn’t a great OS to be found right now. They all have security issues. They all have hardware problems. They all have kernel panics, system crashes, malware, viruses, and more. A lot of people like me are ready for something totally different and brand new. It’s time for a change.

Maybe there needs to be a 21sth Century OS X-Prize! Offer a million dollars to the first person, university, or company to develop an OS and C/C++ compiler which meets all the criteria I listed above. We badly need to find the Linus Torvalds, Bill Gates, Steve Jobs, and Steve Wozniak of THIS generation. We’re in a new century. We need the OS of the future and we need it now.

Category: Uncategorized

About the Author

Comments are closed.