The OS is dead.
The operating system is dead. That's right, Linux, FreeBSD, Solaris, even Windows. They just don't matter anymore. XBox 360, Nintendo, PS 3, none of them matter anymore. Desktop and Server, they are all the same. The web is the great equalizer.
You think I'm crazy? Where do your applications run? Facebook? MySpace, Email? amazon.com? Do you even know? Most of the readers here probably do, but the point is you just don't care. Fallout 3 (bad ass!) came out recently... I couldn't decide which platform to get it on. The deciding factor was that my XBox was dead, and off to MS for repair. So I got it on PS3.
My point is that I only want to play my game. Under the covers, the PS3 and XBox 360 and WII are phenomenally different. But they all take 110V AC and spit out HDMI. They all seem to use the new Havok engine. I don't know who makes Havok, but I can see their sales pitch right now... "User our platform, and you can compile one time and run it anywhere". That sounds a lot like Java.
So did Java deliver? I think it did. I think sometimes that it delivered too well, lowering the bar for hundreds of thousands of programmers to get into industry. Most of these developers can't grok a serious C++ program or even a C program.. Pointer math just obliterates them. But then I'm not sure that the guys who wrote Java could interface with the business types enough to make it happen.
So Java is the new OS? Maybe. Can you run it on bare metal? No, not yet. But maybe you should be able too. Maybe all of the different operating systems are just a mechanism to run Java or Ruby or Python or even .NET. Look at Google Apps. Upload your Python, and viola, you're running in the cloud.
What's the difference between FreeBSD, Linux, and Open Solaris. I mean, what is REALLY the difference. I'm not talking about the location of httpd.conf or if you use ports or pkgs. I really want someone to explain to me the fundamental difference. They all run Java, Python, Ruby, Erlang, Scheme, language of tomorrow!
So what does the operating system actually do? The operating system takes the bare metal and gives you a place to run your applications. It interacts with cpus memory and disks to provide you with a variety of services. I'm not saying that there is no advantage to different operating systems, I personally love using Mac OS X as a desktop/laptop platform. I loathe windows in all formats, server, desktop, laptop. Personally I just don't have a use for it. But my point is it just doesn't matter when i want to run my ruby on rails application.
ZFS? Sure, sounds great. Is that what is in my drobo? I don't know... Hypervisor? Sure, give me one. Actually I would like to see Sun's xVM they promised to open source 2 months ago.. where's it at guys? But once there is a standard for the different hypervisor clients, what's stopping you from coming up with a Java/Ruby/etc that runs on virtual metal.
It used to be hard to write cross-platform software, there used to be a bit of a niche around each platform. Now there is KDE. KDE even runs on windows now. Can you believe it? Windows! (why won't someone write a really good OSS SMTP/IMAP/etc. project that runs under windows)
Virtualization is exacerbating the situation. It's homogenizing the platform, lowering the common denominator. Whether it's Xen or VMWare, they are all coming up with a common set of base devices that they all can interact with. They are factoring out the "goodies" provided by the operating system. The OS is becoming the hypervisor.. it's the micro-kernel all over again.
How about the client.. the desktop... Does the OS matter there? Not so much. Firefox runs on plenty of platforms. I've heard of hypervisors that can run Firefox. Can you imagine that? Boot in 15 seconds and be reading your email. It'd be like one of those electric cars that shuts off at stop signs. Can you imagine the battery life?
So is there virtualization for the desktop? Absolutely. Citrix has a great new offering based on Xen. Giving a set of options for the client. You can work all day at the office with a thin client, then go home... in the event of emergency you connect via thick client back to your OS instance that was running faithfully for you the entire time. Of course that thick client runs on every platform under the sun, even Java!
What does the future bring? I think you'll find more specialization in the hardware. What's the coolest thing I've seen in the last 3 years? Coolthreads from Sun. A single CPU, 32 threads... That's 4 cores with 8 hyper-threads per core. And the power utilization is no where near the power of an intel chip. Combine that with software that is evolving to handle the massively multi-threaded cpus (the new Niagara chipset is 128 threads, not 32).
What software is ready for that? I dunno. I'll get back to you on that one. Drizzle (the mysql variant) can't be the only thing in the pipeline.
- jasonmcmunn's blog
- Login or register to post comments
