What happened to OS research?
Think about this for a moment: The operating systems we all use on a daily basis, regardless of the particular flavor we prefer, are based on the same exact core principles and ideas that have been around for over twenty years.
Of course, we do see many high level innovations in consumer operating systems like Windows, OSX and Linux. New technologies like the CLR (it's what enables everything .NET), for example, represent significant innovation in the areas of virtual machines and software development in general. Systems are becoming more stable and reliable due to innovations at the kernel level. Computers themsleves, however, are not becoming smarter. They continue to be input-driven machines. There is little innovation happening at the OS level from a cybernetic point of view (adaptive regulatory feedback). It's as if operating system research, for all intents and purposes, has died.
I am not criticizing what we have today. My PC, for example, hasn't crashed in ages and does pretty much what I expect it to do. I am primarily concerned with the problem of what we will have tomorrow. How homeostatic and adaptive will operating systems of the future be if we, as a community, invest so little in the science of operating systems? Without significant basic research, what will drive OS evolution?
Ironically, the application of machine learning research to consumer operating systems is almost exclusively targeted at solving problems like automatic email prioritization, automated content management, automated software analysis, and other really nifty user features, which is great, but what about a machine capable of learning about itself and using this knowledge to better deal with perturbations and to further develop the ability to anticipate potential problems?
Addendum:
I am well aware that Intelligent machines have already beaten the world's best chess players, discovered abstruse mathematical theorem proofs, etc. Artificial Intelligence is primarily applied to robots not personal computers. I'm talking about the evolution of operating systems that run our PCs, not the software that drives the complex machinery of intelligent robots capable of thinking and reasoning. While the latter technology is on pace to usher in truly smart machines within the next 40 to 50 years, the former is frozen in a state of scientific stasis.
nice to have you with us carmine ;)
Posted by: lenn | February 12, 2005 at 11:20 PM
Back in the precambrian days, there were lots of body plans: two vs. four vs. twelve legs, two vs. four vs. five eyes, mouths vs. feeding appendages, soft vs. hard bodies, etc. Look up "Anomalocaris" and "Opabinia" for some examples. But after Nature tried out lots of different body plans, she picked just a few, including the very popular two eyes, two ears, four limbs with elbows, knees, five fingers, etc. The next generation of animals was built on that pattern -- bird wings are basically arms; fish fins are basically arms and legs; horses walk on their extended toes. They didn't all need five fingers and four limbs; they adapted the basic pattern to suit their own needs.
There's a pattern there. You try out lots of things, settle on a handful, and then build whatever you need on top of that. It's not optimal, but it's practical.
In the computer market, we had lots of PCs, from Commodore, Apple, TI, Atari, Timex, IBM, etc., and we've settled on just the IBM PC and the Apple Macintosh. The next generation of innovation occurred on top of that, with bus types (ISA, EISA, VLB, PCI), hard drive types (MCM, RLL, ATA, SCSI), video cards, etc. And now we've mostly settled on PCI variants, ATA variants, NVIDIA+ATI+integrated video.
For the core OS, we've basically settled on Windows NT and Unix (Linux, MacOS). The innovation occurs on top of that, in GUIs, integration of peripherals, information browsing/searching, and so on. My prediction: new cool hardware will come on top of USB and a stable device driver model and won't be integrated into the GUI. It will instead be a layer on top of everything else, simulating mouse and keyboard and other events. Systems that monitor PC health, user frustration, or the external environment will also be layers on top of the existing ones, and will not be part of the core.
Posted by: Amit Patel | February 14, 2005 at 08:36 AM
Amit, that's a very good perspective. I like the evolutionary biology analogy. However, I disagree that the core technology that drives our PCs does not need to evolve and that real innovations will necessarily come only in the form of upper layers of software abstraction and new hardware (though intelligent hardware is certainly on the horizon...). Of course, if we don't spend enough time innovating the core, then you are probably correct.
Posted by: Carmine | February 14, 2005 at 11:46 AM
There's a pattern there. You try out lots of things, settle on a handful, and then build whatever you need on top of that. It's not optimal, but it's practical.
-----------------
http://perso.wanadoo.es/bajarmx
http://perso.wanadoo.es/pandagratis
http://perso.wanadoo.es/permx
http://perso.wanadoo.es/mxonline
http://perso.wanadoo.es/descargarmx
http://perso.wanadoo.es/descargamx
http://perso.wanadoo.es/freemx
Posted by: comukni | May 03, 2005 at 03:11 AM