Ars Technica: BeOS versus QNX RTOS

来源:百度文库 编辑:神马文学网 时间:2024/04/29 21:36:15
BeOS versus QNX RTOS
byIconoplast
I like to think of operating systems as the ultimate personality test. If you think heavily about the way your OS functions, you'll be surprised to find out how much you'll actually learn about yourself. Everyone works and operates a different way, and there's an OS that'll fit just about anyone. In the beginning of computing, there weren't even operating systems; it was just what kind of computer you were programming for. Then things got more interesting. Granted they were all CLI-based back then (but who doesn't like it that way?), but each system had its own intricacies that allowed a digital Darwinism to occur. History took its course, and for the past few years, most people either used Windows, MacOS, or a *nix.
Things aren't so stagnant any more. A couple of new players have come to fight for their niches recently, namely BeOS PE 5 and the QNX RTOS (before Patch A it was known as QNX RTP). They both focus on pretty similar things, but on the other hand, they also do a lot of things quite differently. So, is Windoze slowing you down? Is MacOS making you feel dumber each time you read "Welcome to Macintosh"? Do you feel old simply watching Linux startup? If so, you might be in store for a platform switch. Or, you might just be interested in playing with new things.
Be and QNX have interesting histories. In fact, they've carried out just about opposite actions so far. Be began as the "Media OS". It was supposed to toss away all of the problems of supporting legacy systems and code, so everything would be lightning-fast. It began as an alternative for Mac users, then became an alternative for PC users, and now is trying to be the OS of choice for Internet appliances.
QNX has always been used for embedded systems. According to QNX, you're probably in contact with their product everyday, whether you realize it or not. It's used to run power plants, factories, warehouses, and tons of other things you probably wouldn't even think of. Now QNX is making the jump to the desktop with the QNX RTOS (real-time operating system, whatever they think that means).
So, how does one decide which of these OSes they'd prefer? Their intentions are similar, but they really diverge when you get down and dirty with them. As such, I put Be and QNX into the Ars OS Cage o' Death. Since they're only software they didn't duke it out as I hoped they would. However, I did take a look at some important parts of each OS and decided which OS did a better job in my categories of analysis. Enjoy!
Hardware Support
http://qdn.qnx.com/support/hardware/platform/index.html
http://www.be.com/support/guides/beosreadylist_intel.html
OSes are cool. Especially OSes like Be and QNX. However, they're not cool when you're running the OS in grayscale-mode because your video card isn't supported, or if you can't connect to the net because it doesn't know your NIC. Driver support is something both companies try to get the best they can.
As far as CPU and mobo chipset support goes, either OS will support just about anything you'll throw at it. If it's a solid brand name, it's almost assuredly usable (although perhaps not optimal). The driver support only gets thin when you come to peripherals.
With something essential like your video card, QNX wins easily. Its support for 45 varieties of chipsets versus Be's meager 28 is unquestionably superior. Most of the support is for cards of an older vintage, so be sure to check the list before you get started. The fanciest card both OSes have support for is the GeForce 2. A Radeon driver is due out for Be with the new OpenGL revision. Don't expect to do much amazing stuff with 3D, though. QNX's support for 3D is only for 3dfx boards. Perhaps a bad investment in time? Be's hardware-accelerated OpenGL system is disabled while they're rewriting it. The software renderer still runs, though. When it's released, it'll definitely have 3d acceleration for ATI, 3dfx and Matrox cards. The current ETA is Real Soon Now?
Connecting to the Internet is very important for these OSes. With only some software packaged with the OS, you'll want to download a lot of stuff. Thankfully both OSes have good driver support for NICs. If you have a decent brand-name product, it's quite likely to be supported. On the dial-up end of things, QNX has support for only hardware modems, whereas Be supports hardware modems and a few WinModems.
The tables turn in Be's direction when it comes to sound support. Be's got support for a dozen chipsets, compared to QNX's six. Another plus on Be's part is their support for some of the professional-level products from Echo. If you want to do any multi-track stuff, you'll have to stick with Be.
If you want to print anything, QNX has better support. Both OSes have support for PCL and Postscript printers, but QNX has loads of built-in support for HP, Epson, and Canon ink jets. If you want any of these on Be, you'll only be able to use a few Epson Styluses.
If you plan on processing any media with either OS, you'll have better luck with Be. Besides multi-track audio support, it also has support for some digital cameras, Firewire cards, and CD burners.
Winner: QNX. Be might have fancy media input support, but QNX has far more practical drivers.
Installation
Installation for both of these OSes is quite similar. You launch a Windows-based installer that creates a virtual partition, and sets up and few associated files. What is a virtual partition you ask? It's a file that exists on one of your currently existing partitions. This file is an image of a partition in the operating system's local file system (Be uses BFS, QNX uses Fsys, both of which are proprietary). When you boot the OS, the virtual partition is found and treated like any other partition. It's a great feature if you want to just try these OSes out without repartitioning your hard drive. Unfortunately, since QNX isn't able to read NTFS drives, you can only install it onto a FAT partition. Be has a read-only driver for NTFS, but will write to an OS image on an NTFS partition. Even though the driver is read-only, you can still make changes to your virtual partition. You just can't make changes to the rest of the partition you put it on when your in the BeOS.
The only major difference between the installs is that QNX's lets you choose your partition size, from 600MB to 2GB. It will start at the size of whatever data is already on it, and balloon until it reaches the maximum size. Be only lets you have a 512MB initial partition. Once your OS is installed, you can boot it two different ways. QNX adds an item to your Windows 9x start up menu from which you can start it. Be has a similar program which you launch once Windows has booted. If you're running NT/2000, you'll need to use a boot disk. Of course, you can repartition your hard drive for either file system and boot off that, provided you've decided to give Windows the boot.
Winner: Tie. QNX gives you a custom partition size, but I like not having to use FAT on my primary Windows partition to run Be in a multi-OS setup.
User Interface
Reader's ofmy article on 3d graphics software will remember the stress I placed on having a nice UI. These two OSes have their own unique takes on their UIs, which could be a blessing or a curse, depending on the user.
QNX's GUI, Photon, structures your view into three layers. The furthest back layer is just your desktop background. The middle layer has their take on the Start Menu and a sidebar for program shortcuts (the shelf). The front most layer is where all of your windows live. A downside to this design is their Start menu always resides below your windows. It doesn't "auto hide" or stay "always on top" so you can't access it at anytime (it does respond to a Windows key, though).
The shelf, however, you can customize quite nicely. You can drop shortcuts on it (by configuration only; the OS has very minimal drag and drop capabilities), and put other things like a clock and CPU monitor on it. It comes preset with shortcuts for all of the basic programs, a clock, and a few monitors for system functions (CPU usage, RAM usage, and network usage). Since it is also on the middle layer, the shelf will always be obscured by any windows you put in front of it. The back layer is simply decorative. You can't have desktop icons in QNX, only pretty wallpaper. (Click here for a larger shot of the desktop.)
The windows QNX displays aren't very innovative. They're pretty much what Windows does with a different skin. On the plus side, Windows users will be able to use them instantly. All the shortcuts are similar, too. On the other hand, compared to Be's windows, they're quite spartan in function. (Click here for a larger shot of the window.)
Even though Photon does a pretty good job as a UI, it feels overall very cramped. Even though it's similar to Windows, its widgets don't "whoosh" in and out of place or anything like that to suggest a more dynamic environment. Screen real estate also gets cut down by the shelf, so the environment feels small. Their Start menu also feels very inaccessible. I'm glad it at least responds to a Windows key, but I miss being able to take advantage ofFitt's Law with my mouse.
Be's interface is quite radical. Your system can have up to 32 workspaces, each one with possibly a different wallpaper, resolution, and color depth. Whenever you switch to a differently setup workspace, it will switch your setup seamlessly.
If you just boot up to a standard install of Be, you'll see your desktop and the Deskbar. You'll see icons for your hard drives and the trash can on the desktop, as usual. The Deskbar is a sidebar that is Be's take on the Start Menu. Clicking on the Be button brings up a menu of apps. It's also a space akin to the system tray that has a clock, new mail icon, and a volume control (should you have a sound card) by default. Below both of those is a list of buttons to represent all of the apps you have open. Clicking on one of the buttons pulls up a menu that shows you all of the windows that application has.

You can bring a particular window to the top of the z-order, and also show, hide, and close all of the windows of that application. A nice feature the Deskbar has is the ability to be docked at any corner of the screen. It can also imitate an actual Start menu at the top or bottom of the screen. (Click here for a larger shot of the desktop.)
Be's window design is quite nice. Rather than have a static title bar that fills the width of the window, you get a tab that's only as big as the title needs it to be. On it is a button to close the window and one to maximize it ("zoom" in Be speak). The tab is something that makes working much easier. If you double-click on the tab, the window will hide out of view. If you shift-drag it, you can slide it along the top of the window. When you've got a bunch of documents or web browsers open, this design makes switching windows effortlessly easy. You can stack a bunch of windows on top of each other, but have the title tabs in different positions. Your screen will look a little like a folders in a file cabinet and be a breeze to move through. (Click here for a larger shot of the window.)
Winner: BeOS. QNX's Windows look is no match for Be's dynamic and vibrant UI.
Software
Ah...the big catch! You get your new OS up and running only to find that it has no applications! Neither of these OSes has the application support of Windows (although you could argue a little because of QNX's Linux compatibility), but they do have a fair share of apps to use.
QNX and Linux are OS cousins. Because of the large overlap in the design of both, it's horribly easy to get Linux apps running on QNX. In most cases, you just follow the build instructions just as if you were on a Linux box. As a result, most popular Linux applications are already ported and running beautifully on QNX. Don't like the built-in sh shell? Go and grab bash. Need a copy of AbiWord to type with? Piece of cake. Want a game of FreeCiv? Don't even bother asking. The Gimp even runs on it. There's also an official X compatibility system called Xphoton that lets GUI apps get ported easily until a native version is made.
Unfortunately, since porting apps is so easy, and the OS in this incarnation is so new, there are very few native Photon applications. If you take a look at the repository over atQNXStart you'll find very few apps that are QNX-only.
Speaking of repositories, now would be a good time to mention QNX's package system. You're probably familiar with using .rpms or a similar system to install apps on Linux. QNX has a package manager to do this job. If you're getting an app in package form, you use the manager to login to a package repository. QNX has their own, andQNXStart runs one, too. Through the package manager, you choose which packages you wish to download. You tell it to install them, and the .qpks will be downloaded, extracted, and setup.
Be's an entirely different story. Be takes its legacy-free attitude very seriously, and as a result, the general development attitude is native or bust. The OS does have a POSIX layer in place though, so most CLI apps can get ported pretty easily. It's not 100% compliant, however, so porting apps isn't as easy as it is on QNX.
On the other hand, once you take a look at the software available atBeBits orBoost Signal, you'll see lots of choices. BeOS has been developed for around ten years now, so there's been plenty of time for developers to learn the API.
Winner: BeOS. You'll see new and interesting software added toBeBits most every day. QNX's software consists mostly of Linux ports, too. Why use ports on QNX if you could use a more mature native version on Linux anyway?
Company Support
One of the big problems companies face when choosing to rely on a product is how long it will last. One of the primary reasons Windows has such a kung fu grip (if you will) on the industry is that every corporation knows Microsoft, and Windows, will be around (in some form anyway) in 10 years. The less shuffling an OS developer does in their business plans (no direct jabs intended, see below), the more companies, and to some extent end-users, can be assured that their OS will keep up with technological developments.
It's tough to tell what's going to happen with QNX. Their primary business is selling their OS for embedded systems. Supporting a free OS is probably not their main concern, especially when they're able to domore glamorous jobs that bring in more money. In fact, the OS is actually supported by QSSL. Regardless, they're doing a pretty good job of showing interest. They recently released Patch A for the OS, which updated the kernel, added SCSI support, and made multimedia-related improvements. As far as what the future will bring, your guess is as good as mine. They've got a growing number of people using their OS and a company that has finances with enough breathing room to support a project like this, so I wouldn't be surprised if QNX survived for at least a few more years.
The future of BeOS is another matter all together. I'll make a theory now that the sum of community support and official company support of an OS is a constant. Let's start with Windows. It's backed by Microsoft, to be perfectly simple. They've got plenty of users, but they don't have much of a community per se, at least on the consumer side. Most Windows users use the OS out of necessity rather than personal preference. At the other end of the balance is Linux. They've got the most horrendously strong community out of any OS, with no "Linux Incorporated" backing the actual development. Next up is Mac OS. My hypothesis fails a little here, as Steve Jobs could be considered a community unto himself. They also have diehard Mac users who epitomize the word zealous. Chalk it up to statistical error, especially since Apple has been always a bit of an odd duck anyway. Anyway, back to Be. I'll be brief by simply saying they have a very strong community.
Be started as a company devoted to creating the ultimate desktop OS. Their plans went awry (by which I mean unprofitable), and they had to come up with a new business plan. It what is known as Be's "focus shift"; they quite literally shifted their focus to develop their OS primarily for use in Internet appliances. Now known as BeIA, the OS is being peddled to companies working in this new product area. Since the design of their OS lends itself very well to this kind of product, they're more or less in the right place at the right time. At CES they announced a number of noteworthy partnerships, most notably the one with Sony that birthedthe eVilla. This particular area is simply one to wait and see for, as IAs haven't even proven themselves to be a worthwhile product space.
As for Be's desktop OS, it's truly up in the air. QNX has a steady revenue stream from all of their embedded systems licensing, but Be is still working on getting their own foothold for IAs. Since BeOS hasn't proven to be profitable for Be, any future development on it depends on the success of BeIA. They are, however, known to be working on a couple new components for the OS. The OS' networking system is being rewritten to bring a huge performance boost and to allow easier porting of Linux apps. The OpenGL stack is also being redone to add hardware-acceleration and better performance. Unfortunately, nobody except for Be has any clue on when these will be released. They were originally supposed to be released around Q3 of last year, with the new date being "soon."
Winner: QNX. It's good to know at least that your OS has a future, which is unfortunately something Be can't guarantee.
Conclusion
These two OSes, battered and bruised, have just been pulled out of the boxing ring. The loser isn't physically hurt, but it looks like he got some deep emotional scarring from the event.
I've been using both of these OSes for a little while. I first heard of Be back when their CEO, Jean-Louis Gass閑, was interviewed in boot (now Maximum PC). Their OS seemed exciting to use back then, and my opinion hasn't really changed. There was one thing that I found really lacking about it, though. It didn't support a lot of hardware and app support was a little dry. Hardware support has improved to the point where I can use the OS in a reasonable fashion, and there are more than enough apps to futz around with. I used it anyway and enjoyed it for what it could do.
Late last year, after delays of its own, QNX RTP was released. The feature list from their web site was impressive and I thought that my days with Be as my preferred OS were numbered. My opinion changed once I got it, though. While it was a snappy OS in some respects, boasting such modern conventions as a 30 second boot time, it overall didn't have a good feel to it. Besides, the UI also felt cramped, and it was still a lot like using Linux. Many things about the OS were dependent on doing a lot of digging through configuration files. Be on the other hand was very modern in design. Configuring my computer could mostly be dealt with through a default GUI component. When I did feel like getting my hands dirty to do anything, I could always start up a Terminal and run things through a windowed bash shell.
There is also the culture of the two OSes. QNX users are Linux-types who want a better relationship between the OS and its GUI shell. Yes, you can bypass Photon completely and use QNX solely through a CLI. QNX does do a good job at integrating the GUI with the rest of the OS. However, QNX shares a lot of conventions with Linux that I'd prefer not to deal with.
Be's users are the types of people who ten years ago would be using an Amiga. When BeOS was first designed, its engineers essentially threw all past conventions away and designed their dream OS. Just about all system functions are done by Be in a unique fashion, often times making you wonder why no one else does it that way. Most important of all, using BeOS is actually fun! I remember using the OS one time, and just relishing the whole design of the system. I felt good about computing in a way that I couldn't get from using Windows or any kludgy old system.
Winner: BeOS.