Chipmakers Angling For Support
defence budget writes "According to this article at CNet, what once happened with Intel and Microsoft might be happening with Linux, AMD and Intel. Apparently "In a sign of how strategic Linux has become, AMD and Intel are angling to lure open-source programmers to their future chip designs". I cannot see how the low end market will react to this, but surely the high end market should see the potential advantages in migrating to systems running on hardware custom built for Linux?"
Although certainly having a specially-designed chip for Linux systems would be nice, Linux will forever be fragmented in the nature of its architecture simply because of its open-source design. So I think the primary source of reliability will come from the kernel and entire system itself, not so much from the chip on which it runs. And clearly, one of Linux's strongpoints has been its portability across chip designs. I can run Linux on my G4.. but also on a P3 system, if I were so inclined. There are so many Linux-based OSes out there these days.
Also, are the chip companies even targeting Linux? It seems to me that they're interested in open-source. But open-source does not mean Linux. Open-source is much larger as a concept than Linux is. And of course, I imagine that the future will be this: open-source programmers will be lured away by dollar signs (not in a bad way -- but hey, everyone's gotta eat). The companies will have a vested interest in making sure that these programmers are not working on things outside of the company itself, and in fact will also require that parts of the systems they develop will be proprietary. Just like Apple does. Darwin is open-source, but Aqua, Quartz, etc., are proprietary systems. And Apple nabbed the top guy for BSD, did they not?
I'm rambling now. But what I'm saying, basically, is that although i think this is primarily a good thing, the waters are still very muddy and the trail itself extends very far out.
The next comment I write will be ready soon, but subscribers can beat the rush and see it early!
I don't know. I have a Matrox Millenium II that only just started working reliably as of Solaris 8 (or Solaris 7 with patches). It seems that when you do a certain thing to the card, the card stands about a 50% chance of getting confused and hanging the entire PCI bus.
Also inside the same case, I have two Western Digital IDE hard drives that won't both talk on the same bus if you set one of them to master and one to slave. It seems to only work if exactly *one* of them is set to cable select.
I also have an Intel motherboard (which is sitting in a drawer right now) that only allows me to use 64 MB of RAM. I bought that system in 1997. Sun's very first desktop SPARC system (the SPARCstation 1) could expand to 64 MB of RAM, and that was in 1990.
Also in the drawer, I have a Diamond Viper V770 Ultra whose fan has decided to make loud scraping noises. Diamond refused to sell me a replacement part, so I have an approximate match replacement part that I will install when I feel like getting out the soldering iron.
The system that had the Intel motherboard originally came with a Toshiba XM-6102B CD-ROM drive. When I first installed Solaris on that thing, I was afraid the driver was confused, because it was reporting all kinds of errors even though Windows didn't seem to have a problem with the drive at all. As time went on, the drive got worse and worse and eventually reached the point where it took 3 or 4 tries for it to recognize a CD.
All of these experiences with dodgy PC hardware are with *name* *brand* PC hardware that I've taken good care of. And, it's not like I've run through hundreds of systems, either. The amount of PC hardware I have ever owned in my life is not enough to build two working systems.
Basically, my experience with PC hardware is that it's cheaply made, and any given piece of hardware will probably be somewhere between limping along and working almost right but not quite. (Some hardware will just outright break, and some of it will be trouble-free for years and years, too.) Overall, I think this is a symptom of the fact that most PC consumers don't know to expect better, and also the pressure to make things as cheap as possible.
There is a lot of stuff out there that is just crap, and there is a lot of stuff out that there sort of works and sort of doesn't. Yes, you can get high quality PC parts, but the fact is that you have to be pretty choosy about it. Which brings me to my next point...
And let's not forget that practically everything in a Blade 100 is off-the-shelf PC parts, so that theory goes out the window.
I tend to think that the Blade 100 is going to be better built than a system you'd buy from some PC vendor, because Sun's attitude is different. Few manufacturers of any complex product like a computer actually make most of the stuff themselves. The reason Sun systems are reliable is that they select good parts, and test the system together as a whole. They have never controlled the whole process, but they do control more of the process for their machines than PC manufacturers do. I think this is what's going to lead to better quality.
(Part of the reason I think that is that it's my belief that one of the reasons PC hardware and software is so unreliable is the size of the market. It's prohibitively expensive to test everything with everything, and not only that, but it's also just very chaotic. It's difficult to make a system work well under those conditions. Sun doesn't suffer from that problem as much because their market is smaller and not only that but simpler.)
The feature in question is better support for virtualisation. I'm led to understand that half the reason projects like Plex86 and proprietary products like VMWare are so clever is that the x86 doesn't lend itself to virtualisation. You can't necessarily retrofit virtualisation, but I suspect you could wrap it around the existing architecture.
What I imagine this to look like in actual practice is a CPU that boots up in a mode where it's just a typical x86, but has a set of extra commands for creating and managing virtual x86en. A virtualisation-aware OS could then use these (privileged, I suppose) commands to initialise and execute virtual machines. Certain exceptions (configured at VM initialisation) would cause the virtual machine to break right back out to the real machine, dumping the virtual machine status in an appropriate location for later restoration.
Clearly there's a largish book worth of details I've left out, but this is just meant to be a seminal idea. I don't even pretend to have any real knowledge of the x86 architecture, specifically.
How would this help Linux? Well hey -- with a little bit of added tweaking, Linux could have 90% of the functionality of VMWare built into it. There are many other applications of virtualisation, and its addition to the core of Linux could make for some interesting possibilities. One application that springs to mind is the idea of having "multi-root" systems, where users can have their own root access to their own virtual system. If the virtualisation commands were also available in the virtual x86, then "virtual" would be a relative concept, and the root user of a virtual system could create more virtual systems of his own.
I think it's a good idea. Now bring on the applause and the clue-sticks.
AirSupply: go ahead, cut me off.