A Paper on IRIX Binary Compatibility in NetBSD
jschauma writes "'IRIX Binary
Compatibility', the first paper of a series on IRIX binary compatibility
on NetBSD by Emmanuel Dreyfus has been published by ONLamp.com. The paper goes into the details
of the implementation in the NetBSD kernel. As it explains how things are
implemented, the paper documents various kernel susbsystems and reverse
engineering techniques."
Sure this is really cool, but does anyone actually need it?
;)
I still occassionally have to use SGI hardware, but that's only to run legacy software. Okay, so at first glance this might be useful. Unfotunately (to the best of my knowledge) you can't get the hardware without IRIX. So why not just stick with that?
I won't believe for a second that NetBSD performs as well on that hardware as IRIX does (assuming that NetBSD is compiled with gcc, and with the performance difference I see between the MIPSPro compiler vs. gcc on MIPS CPUs with my code).
Please tell me I'm completely wrong.
This does look really cool though -- maybe the basis of an IRIX emulator? I'd love to ditch those ugly SGI boxes
But seriously, you're confusing Cost of Software with Cost of Ownership. An OS can be free to download, or free with the hardware, but that doesn't mean it's free period. If that were so, companies like Red Hat and SuSE would not exist, and the customer service arm of SGI wouldn't be the only part of the company that turns a profit. If you're going to run platform X, you're going to need access to somebody with expertise in platform X, be they an internal admin, an outside contractor, or the X-corp customer service organization. Few of these work for free.
For example, suppose your company has a bunch of x86s running NetBSD. You'd have to have access to some kind of NetBSD expertise, if only one particular employee who shares his knowledge with the rest of the NetBSD user community and gets help in return. But that doesn't mean you're equipped to run IRIX, at least for anything non-trivial. So if you have some SGI hardware you just can't do without, and nobody in house can make sense of XVM commands, or cluster nodes, or any of those other IRIX-specific thingees, you have a couple choices. One is to spend the bucks necessary to get the necessary IRIX expertise. The other is to find a way to run IRIX apps under an OS you're already expert on.
Yes, it's needed. And it's OK if the reason isn't blatantly clear. The NetBSD crowd is very much anti-hype. So a lot of its features aren't done to be cool, impress OSS mavens, make any headlines, or even to allow stingy people to avoid paying for commercial software.
NetBSD is a research OS. See:
http://www.netbsd.org/gallery/research.html
NetBSD itself isn't a research project per se, but a baseline OS for conducting generic computer science research, whatever kind of research that may be. So, if you want to do your Comp Sci PhD on a revolutionary new implentation of virtual memory, use NetBSD. You don't have to waste any time writing your own OS, and NetBSD will run on almost any 16+ bit computer you can find. That old Sun, DEC, SGI, PowerMac, or wierd PC clone can become your test bed or workstation, and it just might support more hardware than the original OS. (Nowadays, you'd probably do better to buy/get a slightly obsolete PC, but for some projects old gear has advantages, like SCSI, RISC CPU(s), good SMP, a quality real-time clock, better hardware security, etc.)
For example, if you find bought/found/stole a Sun Ultra, Dec Alpha, or a PowerPPC box with PCI slots, you will have a much easier time getting almost any PCI card to work with NetBSD than with Solaris, VMS, Tru64, AIX, or MacOS X/Darwin. You will have to learn to like those two little words: No drivers. Or learn to write/port your own. Hey, it beats getting any real work done on your thesis, right?
Not to mention, you may not have those OSes laying around, or the cash to buy them, or the time to wait for the vendor to mail it to you (ahem, Sun?). Or the patience to put up with the BS required to qualify for a "hobby" version (ahem, HPaq?) that only allows you to use OS in what is essentially single user mode and has a license key that will expire annually, and will need a new key (annually) that will require you to reregister with company, even after the company ceases to exist.
<SARCASM>What a great deal!? Now I can fire up that microVAX in the garage and type my letters in EVE! At long last!!! Honey, shut down the NT box for good, cause we've found the way out!</SARCASM>
And they wonder why the hobbyiest version of VMS hasn't taken the world by storm... Sheesh.
This doesn't have anything to do with whether Linux makes a good research platform. Lots of good, pure research is being done with Linux too. But Linux requires a little up-front work on your part before you can work on your original project (especially bootstrap or installation issues on non-x86 platforms). I've found installing NetBSD to be an almost trivial undertaking compared to Linux or even Windows NT. It's so distubingly straightforward, it should say so on a bumper sticker.
There's a lot of cool features in NetBSD that just came about because of basic computer science research. Binary compatability is one of them. It's just an experiment into finding ways to make the OS more useful. If it would be more useful than less for NetBSD to be able to run binaries from a platform's vendor OS, then that's exactly the sort of thing NetBSD should be able to do.
That's why.
Democracy. Whiskey. Sexy. Pick any two.