I just finished reading BeOS
or NeXT: Did Apple Make the Wrong Choice? While it is a well
written article, some points are explained poorly and some are just
plain wrong. I am writing this note to you in hope that you will
publish it and correct some of the points that Mr. Ploudre made.
Multitasking
Multitasking is the ability to run more than one program at the
exact same time. While this is impossible on a single processor
system, it is possible on a multiprocessor system. On a single
processor system, the CPU must quickly switch between programs to
give the illusion that it is running more than one program at the
same time.
This leads us to the two major types of multitasking: cooperative
and preemptive. Mac OS 8 and Windows 3.1/95/98/Me use
cooperative multitasking (Windows 3.1/95/98/Me use preemptive
multiprocessing to switch between DOS sessions, but we will ignore
that for now). Mac OS X and Windows NT/2000 use preemptive
multitasking. Preemptive multitasking is better in most
circumstances, but let's look at both.
Cooperative Multitasking
Imagine that your computer is a kitchen. Instead of programs, you
have three appliances: a blender, a clock, and a lamp. You are the
CPU, and you have a single power cord that you have to switch between
all of the appliances. Now this is part is tricky, each of the
appliances has a "locking" power plug. In other words, when you plug
the power into the appliance, the appliance "holds" onto the cord
until it releases the cord, then you can move the cord to another
appliance.
Everything is working well in your kitchen, and all three
appliances are working in perfect harmony. Then you decide to add a
stereo. You add the stereo, and there are problems. The clock starts
showing the wrong time, and the lamp is flickering. Remember when I
wrote about each appliance "'holding" on the cord until it lets go?
Well, that is the problem with cooperative multitasking. The CPU can
not move to the next process until the current process releases
control. While this is nice for an application that sometimes needs a
little extra CPU time, a poorly written application can hog the CPU
and basically starve all of the other applications.
Preemptive Multitasking
Preemptive multitasking works a bit differently. Imagine instead
of plugging the power cord directly into the appliance, each
appliance has an extension cord attached that runs to you. So instead
of plugging directly into each appliance, you plug into the
appliance's extension cord. So now you don't need to wait until the
appliance releases the cord, you can switch cords whenever you like.
That is preemptive multitasking. The CPU switches between the
applications when it wants and each application thinks that it has
full control of the CPU. With preemptive multitasking no one
application can hog the entire system.
Multithreading
If multitasking is running multiple applications at the same time,
multithreading is running multiple parts of an application at the
same time. An example would be a word processor. Remember when you
had to type the document and then run the spellchecker? And remember
how you had to wait for it to send your document to the printer? With
multithreading, the spellchecker can run at the same time as you
type. That way you see all of those little red lines immediately. And
you can start typing immediately after you tell the file to print.
When you tell the program to print the file, it spawns the process
(creates a new process and executes it), and the CPU can send that
process to the background so you can keep typing.
Journaling File System
A journaling file system is always a good thing. However, a
journaling file system will not prevent file system corruption, nor
does it add any extra security. A journaling system will corrupt as
easily as any other file system if a power outage occurs in the midst
of a disk write. The benefit is on the restart.
A journaling file system keeps a log of all the file system
writes. On a non-journaling file system, a disk repair program must
check the entire file system for errors. On today's large hard drives
this can take some time.
On a journaling file system, the disk repair program, which must
still be executed, can read the journal entries of all of the open
files. This way, the entire disk need not be scanned, only the
previously open files.
Disk fragmentation will always occur. Here is a visual
example of fragmentation. For simplicity sake, each file is
represented by a number and each character equals one meg.
You have a clean disk and you save a 10 meg file. Your disk looks
like this.
1111111111
You then save a 5 meg file.
111111111122222
You then save a 3 meg file.
111111111122222333
You then add 2 megs to the '2' file.
11111111112222233322
You add 1 meg to the '1' file.
111111111122222333221
You delete the '2' file. See the 'open' spaces between the
files?
1111111111 333 1
You save a 4 meg file.
11111111114444 333 1
You save a 6 meg file.
111111111144445333551555
You add 2 more megs to the '1' file.
1111111111444453335155511
As you can see, the file system has become fragmented. Fragmented
just means that all of the files are not contiguous. You notice how
the '5' file is located in three different parts of the disk. Rather
than the hard drive reading the file at one time, it has to read
parts of it from three different areas. This takes time. And when a
file is scattered in thousands of places across a hard drive, you can
understand how this can really slow down a system. BTW, if we ran a
disk defragmenter on the above hard drive the result might look like
this.
11111111111114444333555555
BeOS
I can speak well of Be. I was one that looked anxiously for the Be
beta that was distributed with Mac Tech magazine. I was an original
beta1 and beta2 tester. I bought the first release when it was
available on the Intel platform. I was amazed at the spinning teapot
demo. And that was the problem.
That is all the OS could do. It could spin a teapot and play
several movies without dropping frames. A nice technological demo,
but hardly a career choice. In other words, there were (and are)
no apps for the wonderful little OS. Sure, Be designed it on a
clean sheet of paper - the same paper they could use to list every
application ever written for Be and still have room to doodle.
There is an old joke that goes like this. How was God able to
create the world in 6 days? No backwards compatibility
needed.
When Apple decided to go with NeXT over Be, Be couldn't even
print. Be, while blazingly fast, was blazing fast for a reason.
Nothing was running on it. Apple chose to go with the OS that was
stable, proven, and gorgeous. Apple also got NeXT's unbelievably fast
development environment, the leading application server software
WebObjects, and the Mac's father and Apple's savior, Steve Jobs.
(Personal note: I still remember leaving work late for Christmas
vacation ecstatic after reading that Steve Jobs was back at
Apple.)
Speaking of NeXT's fast development environment, Steve Jobs used
to demo it in a unique way. When Steve was giving a demo or seminar
of NeXT, he would have a programmer onstage with him. The programmer
would start writing an application at the start of the seminar. Steve
would close the seminar by demonstrating the app that had just been
written!
As for Apple choosing NeXT or Be, I think the choice was quite
clear. So the next time you think that Mac OS X or OS 9 is
holding your system back, you should thank Apple. Thank Apple that
there are device drivers for hardware, extensions, and thousands of
applications that "slow down" that wonderful computer with its
gorgeous and elegant GUI.
My 4 favorite PowerBooks, 05.28.
The PowerBook 150 has a big screen for a vintage PowerBook, the 165c has color, the 100 is diminutive, and Lombard has USB and a great keyboard.
Wouldn't life be great with an iSlate?, John Hatchett, Recycled Computing, 07.04.
PDAs and smartphones are too small for some tasks, full-fledged Tablet PCs are overkill, and ebook readers are too limited. Apple has the tech to own this niche.
Mac of the Day: Blue & White Power Mac G3, Jan. 1999 - The most colorful Power Mac introduced an innovative 'drawbridge' enclosure.
List of the Day: SuperMacs is for those using Umax SuperMac clones.
July 5 in LEM history: 98: The iMac: First of a family? - iMac Perfect for schools - 00: Apple is not your friend - 01: 75 Mac Advantages - Do you trust me? - 02: The joy of X with Classic - The good, the bad, and the intrusive - 05: No Quartz Extreme for Pismo - A brief history of NeXT - 06: Education iMac - iTunes and the French interoperability law - TopXNotes - Apple's secret battery reset utility - Misleading hard drive capacity
The Macintosh Portable started a notebook revolution, Carl Nygren, Classic Macs in the Intel Age, 07.03.
Before Apple introduced the Mac Portable, notebook computers were text-based and ran MS-DOS. Ever since, graphical interfaces have been the norm for laptops.
All of our advertising is handled by BackBeat Media. For
price quotes and advertising information, please contact
at BackBeat Media
(646-546-5194). This number is for advertising only.
Problems viewing this page with Internet Explorer
5.5 or 6? It works fine in other browsers, including IE 7. We
recommend Firefox
for those using Windows, as it is standards based and more
secure than IE 6 (and earlier). More LEM visitors use Firefox
than any other browser.