The Weekly Spotlight
The Back Page - Our Love-Hate Realtionship With Apple
Ask Dave - Desktop Files Explained and B&W G3s
Computing With Bifocals - Building An Easy Web Page II, Basic HTML
The Name of the Game - Free Games On The Web At Shockwave.com
Today's News
Yesterday's News
News Archives
Reviews
MacOS News Around The Web
Awards
Contact Us
Home
 

 

AUGUST 6th, 1997


What's NeXT? ARLEN BRITTON
(abritton@webintosh.com)

Apple's NeXT Step

Back in December of 1996 when Apple announced that it was buying NeXT Software, Inc. from Steve Jobs, nearly everyone was surprised -- the so-called 'experts', the Mac press and Macintosh users. Indeed, the Mac press were busy falling all over themselves to gain some mystical insight on what Apple would do about a new OS since Ellen Hancock canceled the Copland project, which was to be the new OS. And they all focused on the Be OS, citing various advantages, including that it was written from the ground up, so there was no excess baggage to carry, unlike the Mac OS. At the same time, they all noted it's lack of certain features, which, if Apple purchased the company or licensed the OS, could be added by Apple engineers. So this is what people read and believed; it was simply a matter of time as to when an announcement would be made. But they were wrong. In fact, the Mac press ignored the viability of NeXTSTEP/OpenStep as an alternative choice for the new Mac OS entirely, even though I emailed the editors of the 'Big 3' Mac publications last September, pointing out the advantages of the NeXT OS and how it would be a logical choice for Apple. Almost predictably, they ignored it.

Today, Mac users are probably still wondering what NeXTSTEP/OpenStep is, how it will be transformed into Rhapsody, and what it will offer them. Since only a very small percentage of people have ever used NeXTSTEP or OpenStep, it's only natural to be concerned about a new OS that may be foisted on us, one that may offer a dramatically different user experience. To help shed some light on the subject and alleviate any lingering fears, let's take a look at what NeXT brings to the OS table.

What is NeXTSTEP?
For the sake of simplicity, think of NeXTSTEP as an operating system (which it is) that has been modified or transformed into OpenStep, which runs on several different hardware platforms, including NeXT hardware, HP RISC workstations, Intel Pentium PCs, and Sun Sparc. When NeXTSTEP was first released, it ran only on NeXT hardware. As time went by and the consumer market for NeXTSTEP didn't materialize, NeXT decided to focus its attention on the so-called 'enterprise' market, where custom, in-house applications are routinely developed, and where NeXTSTEP had a very strong customer base, due to the ease and rapidity of application development. So if you develop an application using the OpenStep developer APIs, your application will run without modification on any platform that is running OpenStep. As we know now, OpenStep will be the core of Rhapsody.

Both NeXTSTEP and OpenStep are based on the Mach kernel, which was developed at Carnegie Mellon University, and use the 4.3 Berkeley Standard Distribution (BSD) of Unix, which sits on top of the Mach kernel. And on top of this is the NeXT Graphical User Interface (GUI), called the Workspace Manager. Some people have referred to the NeXT GUI as "Unix with a sugar coating." I would have to agree, but add that you can take off the sugar coating anytime you want and become a Unix propeller-head if you're up to the challenge.

Rhapsody will supposedly be based on the Mach 2.5.8 kernel, with enhancements such as symmetric multiprocessing, which Apple has stated it will support. But if recent rumors prove true, Rhapsody will eventually be based on the Mach 3 kernel, perhaps sometime after the Unified Release of the OS next year. Let's wait and see.

A Good OS
One of the key reasons that Apple bought NeXT is because it offers features of a modern OS, something Apple can finally incorporate into the Mac OS to again put it years ahead of anything that Microsoft has to offer. They include: protected memory, preemptive multitasking and multithreading, and symmetric multiprocessing. While Windows NT has these features, Windows 95 has them partially, and the Mac doesn't have them at all. By the time that the Apple engineers get done with it, Rhapsody should have all of these features.

    Protect the Memory
    We've all had the repeated and unpleasant experience of surfing the Web using [insert your offending browser name here], with or without having any other applications running. All of a sudden, just when that page has almost finished loading, your browser hangs, taking your entire system with it; you have no choice but to restart. This takes away countless hours of enjoyment and productivity each day, and it's compounded by the fact that once your system is running again, you have to reopen those same programs, including your browser and pick up where you thrown off the information superhighway. And if you had any documents that you didn't save, consider them gone. Game over.

This is a very frustrating experience for us loyal Mac users, but we're subjected to it because the Mac doesn't have protected memory. If it did, each program you opened would have it's own separate memory space, which the others could not intrude on to execute their instructions. But on the Mac, each program runs in the same memory space as another, so if one dies on you, it keeps going until there's nothing left; kind of like kinetic energy.

OpenStep, on the other hand, runs each program it its own separate memory space, so even if a program crashes it won't take other programs or your entire system with itÐÐusually. In fact, there is even a Kill button in OpenStep that allows you to shut down a program that has crashed without shutting down any other programs or even the OS itself. So you don't have to restart, then reopen the programs your were using, or worry about trying to recover unsaved work.

    Multiple Tasks
    The Mac currently uses cooperative multitasking to assign tasks, where the Mac gives priority to operations running in the foreground over those running in the background -- that is, background operations are less important than foreground operations, so they get processing time only when something in the foreground is idle and/or decides to release control to the background tasks.

This is not a very efficient or even reliable way of doing things, compared to the preemptive multitasking used by OpenStep and other modern operating systems. It only works well if other programs are written to cooperate with each other, and the sad fact is, many do not. Some programs are so poorly written that they will not even release control to you after their task is done or let you terminate them.

By comparison, in preemptive multitasking, the OS assigns CPU time to each program that is running, typically by giving each program its attention for a fraction of second, called a time-slice. The order is determined either by priority levels that are assigned by a task manager or in sequential order. This all happens so fast that all programs appear to be running simultaneously, even though they are not. Why this is considered a modern feature has me puzzled, since multitasking is simply another name for time-sharing, which has been used since the early 70s on mainframe and minicomputers, and on NeXTSTEP since it was introduced about 10 years ago.

    Multiple Threads
    Another benefit of a modern OS like OpenStep is that it uses multithreading where a program or a task in that program is further subdivided into threads (processes) that can run at the same time. For example, you could print one file while opening another, without having to wait for the printing to finish. In multitasking, you can't do that because all programs are running in parallel. But I don't see this as a huge benefit, especially since it looks like the one thing we all want to do without having to sit idle for itÐÐformat a diskÐÐ will not be possible, even under OpenStep.

    Symmetric Multiprocessing
    With this feature, Mac users will be able to use multiple CPUs on their computer to perform different tasks together, at the same time. The example everyone likes to use is that one CPU could be applying a Photoshop filter, while another does a spreadsheet calculation or a database sort. The Mac currently supports Asymmetric multiprocessing, which means that multiple CPUs can only work on different tasks in the same process of the same program. So the Photoshop filter example would be subdivided among all the CPUs available; the spreadsheet calculation or database sort would have to wait. Even so, Mac programs must be specifically written to take advantage of multiprocessing.

With OpenStep, the Mach kernel supports symmetric multiprocessing, so by the time Apple engineers get done reworking it, Rhapsody will offer this feature, and it should be easy to enable, since previous versions of OpenStep have had the feature.

The Last Laugh
While many people scoffed at or scorned the acquisition of NeXT by Apple, they simply didn't know what they were talking about. Sure, maybe Apple overpaid for NeXT, but after spending a reported $1 billion over 5 years on the aborted Copland project, they needed to make a quick decision and get something shipped; something that would work. They chose OpenStep, and for the money, they got something that has proven reliable, stable, and has earned respect among developers. It has technologies that even Windows users could have had years ago, but NeXT was virtually ignored by the consumer market, to the detriment of us all.

Now, Mac users are going to be treated to the combined best of OpenStep and Mac technologies, and with any luck, we'll be able to move some of our favorite NeXT applications easily to Rhapsody. I can't wait.



Headlines For Friday, September 10th

Today's News
Yesterday's News
News Archives
Reviews
MacOS News Around The Web
Awards
Contact Us
Home

© All information presented on this site is copyrighted by The Mac Observer except where otherwise noted. No portion of this site may be copied without express written consent. Other sites are invited to link to any aspect of this site provided that all content is presented in its original form and is not placed within another frame.