|
发表于 2004-2-23 20:08:49
|
显示全部楼层
看清楚了
BeOS - Some History, Perspectives, and the Future
by Zaranthos
"I didn't sleep with the lemur mascot.. but I did shave a cat."
History is written by the winners. For better or for worse, this is the sad reality.
The history of BeOS shows that it was one of the greatest systems ever designed, with features built years ago that only today are companies putting into their future OS releases. Unfortunately, the hands of fate are sometimes cruel, and upon hindsight, blindingly obvious to everyone but the victim.
Due to many reasons, chief among them adversaries in the market, and a "Focus Shift" which changed the direction of Be Inc. away from their primary market, Be Inc. decided to sell the intellectual property to BeOS and the contracts to 50 engineers to Palm Inc. for an appalingly low 11 million U.S. Dollars. Market pundits will note with a tinge of regret that Apple had offered Be Inc. essentially the same deal five years earlier, for over 100 million USD, but Be Inc. had decided to say no.
Mistake? Who is to say. History doesn't allow you to go back with the knowledge of the future, so what is done is done. We're here today to discuss what was, so that the future can be improved with our knowledge of the past. The only way out is forward, and we hope that the mistakes of the past won't be repeated.
BeOS is a single user, pre-emptively multi-threaded operating system with support for Symmetric Multi-processing. That's quite a mouthful, I dare you to say that five times fast. To boil that down into laymens terms, BeOS likes multiple CPU's, and allows all programs to take advantage of that fact. If you decide you want to show off to your friends the power and ease of use that is the BeOS Experience, go ahead, it won't slow you down. Every application that runs automatically is assigned two processes, which allow for very fine, smooth control of the system no matter what the load is.
We have yet to reach the best part. What happens when an application dies a horrible death, due to shoddy programming? No problem, we simply kill it off, without affecting the rest of the system. This is due to the very nature of the memory management in BeOS, as the actions of one application will not, and can not affect the rest of the system. By way of comparison, it took both Apple and Microsoft many years to achieve a state of memory protection this good, and even now, their implementation is not as robust.
BeOS is not a Unix clone of _any_ kind, even though popular belief would have you think otherwise. Although BeOS is fully POSIX compliant, sports a BASH shell with Terminal, and comes bundled with a modest collection of GNU tools, the similarities with a unix system stops there. BeOS wasn't primarily written as a replacement for other mainstream OS's, but was written from scratch to be the best operating system that solid C++ design could offer.
BeOS was designed from the ground up to handle media data-streams superbly fast, making it the system of choice for handling audio and video in real time, with latencies as low as 10 milliseconds, depending on your hardware. Originally, BeOS was built for custom hardware named the BeBox, and was then ported to run on the more powerful PowerPC platform. In 1998, BeOS was again ported to work on the x86 platform, with the release of BeOS R3, while still being compiled for PowerPC.
BeOS currently runs on most x86 systems from the lowly 200mhz pentium, upwards to some Pentium 4, AMD Duron and Athlon systems, supporting multiple cpu's of each. It also supports the PowerPC
So youre probably wondering about now whats so special about BeOS! Well for to start with, one of the most interesting parts of BeOS is how it handles MultiThreading
Threads are the smallest blocks of code that can be executed by the processor and they are often refered to as threads of execution (Peter Norton, "Inside the PC") for instance, DOS is a single threaded OS meaning it is only able to execute one 16bit program at a time.
BeOS however is multithreaded , meaning it can execute more than one thread at a time , in beos one or more threads comprise a program.
But this is not all, BeOS also uses something called Pervasive multithreading meaning it ensures all programs run in a multthreaded fashion, this leaves the coder to think about other things than threading since the OS handles the spawning of the new threads within a process!
the beauty of it all comes down to the fact that BeOS combines this pervasive element with a scheduler that in a way gives the processes a priority based upon the process's current need.
Another thing that is easy to pass the new user by is the Beos FileSystem. its a modern 64bit journaled filesystem. A journaled filesystem keeps amongst other things a live index of what is where so to say on your harddrive , so even if you get a power outage the partition table is highly unlikely to crash. BeOS also uses something called mimetypes ,which is normally used on the internet by servers for defining different files, for registering/handling filetypes this combined with the attributes associated with files in the bfs makes it really fast to find files on a harddrive of any size.. and we are really talking about a noticeable speed when usng the find queries..
Combined with the powerful Tracker interface to the file system, you have an uncomparable interface speed, but what can be a sort of confusing thing for new beos users is the fact that it doesnt look anything like the "explorer" file browser from microsoft or for that matter Nautilus for the Unice based Gnome project!
On a lower level the beos kernel is based around a spiced up microkernel
design similar to the gnu projects Hurd microkernel and the L4 projects kernel.
And not a monolithic one at that, as some would want you to believe, the kernel
of the BeOS was as everything else related to the operating system thorougly
researched.
The spiced up part of the operating system is the ObjectOriented nature of its design.
Which leads many to say that the kernel is a monolithic one!
A thing that generally gets people hooked on beos is the all around functional philosophy of the OS, take the BeOS API, which aside from the abstraction layer canvas for enlightenment(EVAS) is the easiest and most comprahensive API that I've ever seen!
And then we have that bootup time that amazes everyone, a BeOS system boots in around 15 seconds, tops!
There is the beauty of the driver installation. Like most aspects of BeOS, when it comes time to plug that new video card into the machine, you can simply boot, and it will just work. Even if it's not supported, the video card will still allow you to use the detault grayscale mode to navigate your system, download the correct driver, and copy it to the correct place in /boot/home/config/. If a particular card you have installed isn't supported, it will still show up in the Devices preference panel for further reference. BeOS is more "plug and play" than most other operating systems around, not only in the fact that it supports the larger brands of hardware without additional software, but installing obscure hardware for which there is a driver built is as easy as download, copy, reboot the appropriate system kit. That's right, you don't have to restart the machine in most cases, as a simple "Restart Networking" or "Restart Media Services" will usually do the trick once the driver is ready to be used.
One of the most exotic and elegant features of the BeOS is the presence and application of audio, video and image translators. The translator is an OS-wide plug-in for various file formats, such as DivX, MPG, JPG, GIF, or PNG, which allows any translator-aware application to read and write these file formats. This removes the hardships of reinventing the wheel by developers each time s/he creates an application. Adding a new translator is as simple as downloading the translator and placing it in the corresponding folder in /boot/home/config/.
A current shortcoming in BeOS is that it doesn't have full support for the USB (Universal Serial Bus) standard. This is targeted in later releases of openBeOS, as well as future exotic bus technologies. BeOS also lacks support for certain audio/video formats that are propriety or closed source, but over time these have slowly opened up to the genral public.
BeOS R5 Pro supports Firewire out of the box, both the protocol , and certain Firewire cards. This makes using your digital camera recording system, or saving your work to a Firewire hard drive a dream for audio/video enthusiasts.
Hindsight tells us that the winner writes the history.
So who is the winner in this case?
From the beginning Open BeOS is making milestones at a high rate and
hopefully this team will continue to do so.
Then there is Zeta from Yellowtab Gmbh that is based upon what we within the BeOS Community refer to as BeOS Release 6, which takes the BeOS we now know and love a step further with support for current and new hardware, up to date open source components such as openTracker, openDeskbar, and a slick new Installer which will allow you to choose from hundreds of applications that come bundled on the CD image.
This should prove that the BeOS is in no way near dead.
Cheers!
Robert Renling
thanks to :
Zaranthos
and Sarah
Send flames, gifts, cards and letters to robert@lowbud.com
Story from 2002-10-09 11:15:13-04. |
|