In today's world, to choose a computer is to choose an operating system. The average user buys a PC with Windows on it, or maybe Linux, or buys a Mac with the latest flavor of OS X. The choice for the user typically starts with the OS. But with the rise of the Internet, we are nearing a new phase of application delivery and execution that begs the question: are we nearing the end of the personal computer operating system as we know it?
For the average user, the operating system is nothing more than a way to get to one's applications. The typical computer user doesn't care about OS intricacies like driver communication or internal file management. For the typical user, the operating system is simply a platform for executing applications and manipulating information through those applications. It is the application that is important, and the OS choice is made largely based on the applications the user wishes to run.
Over time, new kinds of application platforms have emerged. The concept of the virtual machine is one example of an application platform that, from an end user's perspective marginalizes the operating system. Virtual machine environments like Java, and more recently .NET/Mono, focus on a "write once, run everywhere" promise with clear benefits for developers. End users see benefits as well, getting to run desired applications without having to fore-go their choice of operating system. That's the promise, anyway; actual implementation proves more complicated, but virtual machine environments have succeeded enough for their evolution to continue on a large scale.
One way or another, there is tremendous momentum to replace the Operating System as the dominant personal computing application platform. As Internet computing continues to grow, personal computing as we know it today will soon be considered quaint. As new application platforms emerge and provide useful experiences for average users, the Operating System as the focus of user choice will soon fade into obsolescence.