November 1999 Column

November 1999 Column


[ Site Index] [ Linux Index] [ Feedback ]


Embrace the Penguin: SGI gets religion

The big news over the past month has undoubtedly been the Red Hat IPO. Red Hat floated on the NASDAQ stock exchange on August the 10th, with shares priced as US $12; two days later their share price was hovering around $75 a pop, despite NASDAQ being a bad place to be for high-tech and internet stocks in general (which were falling). Within a week, their shares had exceeded those of Microsoft in value -- although Red Hat still has a way to go to hit the $300Bn mark.

This is pretty much unprecedented; a software company that doesn't actually own anything -- one that gives its products away for free -- is now valued at more than five billion dollars. But it's not the most remarkable market-related news of the month; that honour goes to SGI, whose share price paradoxically dipped following the announcement of a major restructuring. What makes this announcement important isn't that SGI is restructuring (which goes with the computer industry the way fleas go with cats), but how. SGI is the first workstation vendor to get religioun about Linux -- not merely muttering about supporting it, but embracing it without reservations and, in effect, betting their future on the penguin.

SGI (or Silicon Graphics as they used to be called) are an odd case in the UNIX world; they and Sun are really the last survivors of the old high-performance workstation market, and Sun are sufficiently large and diverse that they more resemble one of the old-time Seven Dwaves -- the large (but still small, compared to IBM) companies that offered business solutions for every level during the 1960s and 1970's. Sun doesn't really have a single core market; they'll try and sell you anything, as long as it runs UNIX (or Java). SGI, in contrast, is at heart a visualisation company; they make a core product -- desktop UNIX workstations with outrageously high-performance hardware graphics accelerators -- and everything else is fundamentally secondary. (Hence the name.)

SGI ran into difficulties a year or three ago, and are trying to dig themselves out creatively. First, they'd diversified into other markets; buying Cray Computers, for example. Cray seemed to make sense at the time; high-end 3D visualisation workstations like SGI's are often used for visualising the results of huge numerical simulation jobs run on supercomputers, and Cray gave SGI a first-rank presence in the supercomputing field. But sales of supercomputers aren't that great: in recent years advances in compiler design and language theory have moved a lot of the high-performance action into parallel computation, and you can do that with chain-gans of relatively cheap microprocessors instead of fiendishly expensive dedicated supercomputers.

SGI also laid siege to the high end of the graphic design market, trying to push down into territory virtually owned by Apple. This, too, wasn't entirely successful; while an SGI Indy or Oxygen workstation was a desktop machine to die for, it was never really cost-competitive with Apple's offerings, much less the cut-throat world of the PC industry. In 1997-98 SGI ran into really serious problems. The performance gap between SGI's MIPS-based RISC workstations and high-end PC's had narrowed until SGI was forced to bring out a range of PC's running Windows NT (then touted as The Future of Workstations by everyone who'd seen one Microsoft marketing presentation too many). The Wintel boxes didn't sell well, despite being nice kit, and the exigencies of building supercomputers and MIPS-based workstations and PCs waas cutting into SGI's viability as a corporation. Which brings us to their religious conversion.

SGI can't reasonably maintain three operating systems, but it's saddled with the need to support IRIX (it's own long-standing flavour of commercial UNIX), Windows NT (a checklist item for some corporate buyers, who simply won't even listen to alternatives), and lately Linux (which is actually selling Intel-based SGI hardware into places they hadn't reached before -- the cheap end of the workstation market). SGI's adoption of Linux is relatively recent -- they only began hiring hackers in bulk about six months ago -- but it has far-reaching consequences.

SGI being a workstation vendor, during the late eighties and early nineties they staked out their microprocessor turf by buying up MIPS. MIPS were one of the five real competitors in the RISC stakes (the others being Sun, ARM, HP, and DEC); but since the purchase, MIPS has pretty much faded out; the only other kit based on a MIPS core these days is a games console. Nevertheless, SGI is saddled with the huge costs of developing the MIPS architecture -- unless they can somehow switch horses in mid-stream and jump into the saddle of one of the other processor families.

Linux can cope with MIPS hardware. It can also cope with Alpha, Sparc, ARM and Intel hardware. The source to the kernel is available and can be hacked to support massively parallel systems -- the current paradigm of choice in the supercomputer market (which is not entirely peripheral to SGI's interests). Indeed, Linux offers a fascinating opportunity to bridge the gap between the expensive MIPS-based IRIX lineage and the new, cheaper, more flexibly Intel-based machines SGI tried producing in order to get a toe on the desktop after it's assault on Mac land failed. This is the sort of miracle SGI must pull out of its hat if it is to survive. Most importantly, unlike some other large vendors (Compaq, IBM, Sun and HP spring to mind) SGI has little to lose by consolidating on Linux; there's only the IRIX development group, and they can cross-train in Linux pretty fast (Linux being a first cousin to IRIX, with it's UNIX heritage). The IRIX/MIPS user base can be offered the same upgrade path as the supercomputer customers and PC buyers.

This promise of convergence is heady stuff in an industry where the one true faith is cutting expenses that impact the bottom line; it promises being able to merge three incompatible product lines into one, and one that costs a whole lot less to produce at that.

Anyway. prognostication about motives aside, SGI has embraced linux most thoroughly. Starting with XFS -- a fast, journalling 64-bit filesystem which is being ported to linux and released under the GPL -- SGI has committed to porting their entire IRIX software base to linux, and releasing it to the linux community as open source. Drivers for their hardware are also showing up, and intel-based servers (starting with the 1400L) are being released in both NT and Linux versions (with the Windows NT version costing considerably more). The flip side of the coin is corporate restructuring -- the euphemism du jour for downsizing and layoffs in other departments.

SGI is basically betting the long-term corporate future on Linux's success; in a couple of years IRIX will effectively be dead, leaving the UNIX field to Linux, Solaris, and the Monterey-64 collaborative venture between IBM, SCO and Sequent. I'm placing a bet here and now that Compaq will follow SGI's example and quietly migrates from Tru64 UNIX -- or whatever Digital UNIX is called today -- to Linux some time in the next twelve months.) What we're seeing is nothing less than the surface ripples produced by an underground earthquake taking place deep in the guts of the UNIX business. The preliminary shocks are nothing much ... but when the big one is over, the landscape will be unrecognizable.

The collapse of the commercial UNIX market, and consequent migration of vendors to Linux, is now under way. It's been gathering pace quietly behind the scenes for a couple of years now, but is only just rising to the level of public visibility. The first casualty was Mark Williams Compaany, who went out of business in 1995. MWC sold a commercial UNIX clone called Coherent; it ran on PC hardware and was very cheap, but not cheap enough to hold onto its market once Linux achieved equivalent functionality. We're now well into the second phase of the game, where OEMs with sizeable investments in other operating systems are forced to pay attention. UNIX vendors who keep their eyes on the ball right now are well positioned to profit from the shift. For example SCO just woke up smelt the coffee, announcing that their comercial services division will be providing commercial support for Linux. SCO would superficially appear to have more to lose from Linux's popularity than just about anyone else, Microsoft included: But Linux is now too big to ignore. Microsoft are getting jittery and defensive, and as for SCO, Red Hat can now afford to buy them out of the petty cash. If SCO shift bases fast enough they stand a good chance of becoming a Linux vendor or OEM -- although I have a feeling they've left it very late indeed.

But ultimately, UNIX is now doomed. Linux is going to be the five hundred pound gorilla in the UNIX industry. Sheer sales volume means that Linux now outstrips the rest of the UNIX field put together; in a couple of years the market will be Linux and a couple of compatible relatives. Don't be surprised to see Sun selling Linux hardware within the next two years; if SGI can reinvent themselves, others won't be far behind.

In the meantime, though, it's probably fair to say that Red Hat isn't the highest-valued Linux company out there. That honour goes to SGI -- although probably not for much longer.

DOSing around

Quick, your question for three points: what operating system will run all of the following: MacWrite Pro, Microsoft Word 6 for Windows, WordStar 3.4 for CP/M, Word Perfect 5.1 for SCO UNIX, and anything you care to edit text with on a Sinclair Spectrum?

This being the Linux column, you probably already know the answer. I mean, it's pretty obvious, right? I wouldn't be asking if the answer didn't begin with an L and end with an X, would I? In fact, it's so bloody obvious I don't see why I should give you any points at all. Linux is about the best emulation platform out there! In fact, um --

(Enter men in white coats, stage left, brandishing syringe and long- sleeved jacket while yr. hmbl. crspndnt. throws a full-blown slashdot style groupie-fit.)

Excuse me; ah, that's better. Yes, well. In general, the sad fact is that, with two exceptions, Linux has emulators for just about every operating system under the sun. The job of a software emulator is to provide an environment in which programs written for another system can run. Computers, being general purpose information processors, are all functionally equivalent at a very deep level, first discussed by Alan Turing; they're all finite-state automata, and as he demonstrated, any FSA with sufficient storage capacity should be able to emulate the workings of any other FSA. You might think that an emulator will almost always run much more slowly than the original hardware, and you'd be right; but given that Moore's law dictates a doubling of performance every eighteen months or so, it should also come as no surprise to learn that a modern PC or Mac running an emulator will blow the Monica Lewinski's off any fat, balding POTUS -- or emulated machine -- that's more than about five years old.

First stop on our tour is that old standby, the DOS emulator. Despite everything Bill Gates would like us to belive, DOS is not dead. Linux has a jolly good DOS emulator -- shared with the BSD UNIXen -- that allows an Intel-based computer to spawn a virtual-8086 (or virtual 386) environment in which you can boot a copy of DOS. The main emulation tool, DOSEMU, has been around for yonks and will run most DOS applications -- if you have a copy of DOS to run under it. Microsoft want to sell you Windows 2000 instead? Not to worry; you can download a copy of Novel DOS 7.0 (originally DR-DOS) from Caldera (who now own it), or grab a copy of the open source DOS clone FreeDOS.

If you're running Linux on a Mac or SPARC or Alpha box instead of a PC, don't worry; there's an alternative in the form of BOCHS. BOCHS doesn't relly on forcing your PC to spawn a virtual 86 session; instead it provides a complete emulation of an intel 80386 CPU in software -- slow, but good enough to boot DOS (or Windows NT, for that matter). (Bochs is commercial software, but with full source code available for 30-day evaluation.)

There's a third PC-emulation environment you may need to know about; VMware. VMWare is to Linux on PC's as SoftWindows is to Macs; it enables you to run Windows 98 or Windows NT as an application under Linux (or vice versa) by handling context switching between OS's. Unlike the other emulators mentioned so far, VMWare is commercial and pricey -- but you can find a one-month time limited demo at www.vmware.com or in a copy of the SuSE 6.2 distribution. Windows not included, of course.

VMWare isn't the only way to run Windows applications, of course. One other commercial, and two freeware projects, exist to fill the same need. First, there's Wabi. Wabi (Wiindows Application Binary Interface) was developed by Sun a few years back and licensed to Caldera, who sell it for a not very huge amount of money. Wabi provides services that allow you to install a copy of Windows 3.11 on Linux or UNIX and use it as an application under X. There's no Win32 edition under development, though, so it's basically a dead end; I mention it only because it's cheaper than VMware, if you want to run a specific Windows 3.1 application.

Much more interesting is the open source WINE project. WINE is one of those self-referential acronyms, short for "WINE Is Not an Emulator". (Cute, huh? Huh? Huh? Gimme cute acronym! Gimme cute acronym NOW!) It's been going for some years and is still semi- officially pre-alpha, because it's tracking a moving target; when it started Widows 3.1 ws the goal, but although Win16 PI support is pretty complete, the team is now working on providing full support for Windows 95 and NT 4.0 -- and presumably Windows 2000 in due course. (They haven't been aided by the need to reverse- engineer all Microsoft's secret internal API's along the way.)

The goal of the WINE project is to allow any Windows application to run transparently on Linux, by providing a full array of services that replicate the Windows environment -- at least as far as an application sees it. With WINE support, Linux on Intel-based hardware can load and directly execute Windows applications. Most Windows 3.1 programs that don't directly mess with the underlying hardware run fine on WINE; simpler Windows 95 apps also run, although support for the Win32 API's is partial at present. One major advantage over WABI or VMWare is that WINE doesn't require you to actually boot Windows itself and consequently only grabs as much memory as is needed to run an application and load any libraries it needs; it's therefore considerably more economical when it comes to consuming system resources. And unlike WABI or VMWare, WINE is free.

There's a second freeware Windows emulation project on Linux; TWIN. Originally a commercial project by Willows Software. TWIN is now open source and work is underwy to merge relevent parts of the TWIN source code base with WINE (the TWINE project).

Now to other operting systems ...

Next on the list is the Macintosh. For some time now, a small company called ARDI have been selling a cute piece of software called Executor. Executor emulates a 68040- powered Macintosh running something not unlike MacOS 6.0.8, and has been portedd to Linux (among other target operaating systems). It's not really a general-purpose emulator insofar as it doesn't let you run MacOS itself on a virtual machine -- instead, like WINE, it emulates the environment in which a Mac aplication must run. A bit more of a disadvantage arises from the fact that there's no PowerPC emulation yet; most new Mac software comes without MC68000 binary support, so Executor is mostly useful for running older Mac software.

There are other Mac emulators, of course. Virtual Mac provides an open source emulation of an (elderly) Mac Plus or Mac Classic. You need to find such a mac and obtain a snapshot of its ROMs, plus a copy of MacOS, to get VMac to run; but unlike Executor vMac is apparently capable of booting and running System 7.5.5.

Most of the above emulators are specifically targeted on intel hardware. However, there's one item that may be of great use to people running LinuxPPC (Linux on Macintosh hardware): Sheepshaver is currently in beta test on LinuxPPC. Sheepshaver is one of the coolest looking emulators: it executes MacOS as an application on a Mac that is running BeOS or LinuxPPC, running it at full speed with full OS support, like the MacOS X "Blue Box" environment -- and we're not talking an ancient 680x0 vintage of MacOS: MacOS 8.6 support is due in a couple of months, with MacOS 8.1 now.

Getting away from MacOS, there's support for other flavours of Intel- based UNIX. During the late 1980's/early 1990's Intel promoted a standard binary format for UNIX executables, known as iBCS2 (Intel Binary Compatability Standard 2). Linux has a kernel module available which provides support for all the various derivatives of iBCS2, so that binaries compiled for a whole range of older UNIXes can run: these include i386 BSD (386BSD, FreeBSD, NetBSD, BSDI/386), SVR4 (Interactive, Unixware, USL, Dell.), generic SVR3, SCO 3.2.x (COFF), SCO OpenServer 5 COFF and ELF binaries, Wyse V/386 (SVR3 with extensions), Xenix V/386, and Xenix V/286. This means that the odds are if you have an existing PC-based UNIX system running some important software (say, an arcane stock management system that isn't supported any more) you may well be able to get it to run under Linux. You can find a good introduction to the iBCS2 module here.

And now for fun and games.

For starters, if you ever wanted an Amiga you can have one now: the UAE (Ultimate Amiga Emulator) is here. While it probably isn't as cool as the new Amigas we keep being promised by Amiga Corporation (quad- processor PowerPC 750's? gigabytes of RAM? Real Soon Now?) it may well give you a better Amiga than you ever had before -- emulating an A2000 with up to 64Mb of RAM. You will need a Kickstart ROM image, but you can get that either by buying a second-hand A500 (about twenty quid at your nearest car boot sale -- sob) or by buying a licensed copy (available from Cloanto Software, on their Amiga Forever CDROM).

It's probably impossible to keep up with the 8-bit emulators and games console emulators that are available for Linux. I know of the existence of emulators for the Atari 2600, Sinclair Spectrum, ZX-81, Apple-II, Commodore-64, and various arcade games. If you are really searching for one particular platform you may want to start by looking at www.emunews.net -- a web site specifically for emulator fans. And there's one emulator worth noting the existence of: Linux emulators. Yes, there are people out there who have to run other operating systems, and feel so deprived that they need to emulate Linux -- at least, well enough to run Linux applications on their operating system! The main ones at present are FreeBSD and SCO OpenServer, but there will probably be more in future ...

Finally, I mentioned WordStar, didn't I? WordStar runs under CP/M, the venerable granddaddy of MS-DOS (written by Gary Kildall of Digital Research in the early to mid seventies). CP/M is actually available in source code form from Caldera; and there's even a Z80 emulator that will run CP/M.

Ah, the nostalgia!


[ Site Index] [ Linux Index] [ Feedback ]