|
|
|
|
MacOS
X Files
What is
likely?
|
|
By:
Brian Kelley of
AppleWizards
With some small contributions by: David
K. Every
Introduction - On The Road To X
On 11 May 1998, at Apple's Worldwide Developers
Conference, interim CEO Steve Jobs presented the opening
keynote speech, in which he outlined the company's plans for
the future development of the Macintosh Operating System.
Formerly a dual OS strategy consisting of the Mac OS and
Rhapsody, Apple's plans now point to a convergence of the
two in Mac OS X ("ten"). Mac OS X promises the advanced
features of a modern OS, while providing compatibility with
current Mac applications and retaining the Mac OS's ease of
use.
For a better understanding of this destination and a greater
familiarity with the path we'll follow to get there, let's
consult our roadmap. This timeline shows what's ahead for
our system software.
- Mac OS 8.5 - Q3, 1998 (shipped)
- Mac OS 8.6 - Q1, 1999 (shipped)
- Mac OS 9.0 - Q3, 1999
- Mac OS X (Server) - Q3, 1998... hmmm. (slipped to
Q1 1999)
- Mac OS X Beta - Q1, 1999 (expected Q2)
- Mac OS X Release - Q4, 1999
The first customer release of Rhapsody is scheduled for
roughly the same time frame as Allegro. A beta version of
Mac OS X is due around the same time as Mac OS 8.6. Mac OS X
is due in the Fall of 1999, when Sonata will also be
released.
Some users ask about why
Sonata (MacOS 9) will be released when MacOS X is
released, and the simple answer is that Mac OS X will not
run on all legacy machines. So Sonata (Mac OS 9) is a way
for those users to still use their machines and use the
improved user experience.
The Shape of Operating Systems to Come
Allegro (8.5)
September 1998 will see the release of Mac OS 8.5, known by
the code name "Allegro." Allegro refines and extends Mac OS
8 and 8.1 in a variety of ways, many of which blend in
functionality previously provided by third-party control
panels. For instance, the Appearance control panel now lets
you customize how your Mac looks with 3 pre-made Themes
(Apple Platinum, Hi-Tech, and Gizmo), and supports
third-party appearance files. This is similar to what
"Kaleidoscope" does. This new Appearance control panel also
lets you assign sounds to certain actions (like
"Sounds4Fun," "Kaboom," and other control panels), and even
allows you to have animated icons (like "Kineticon").
Navigation services have been enhanced, including an item in
the File menu to "bookmark" specific folders in Open and
Save dialogs (much like "Default Folder" and "ACTION
Files"). And Allegro features more PowerPC-native code,
including PPC-native AppleScript. Nearly all of the 68K code
has been removed from the Operating System, so users can
expect noticeable improvements in speed.
Rhapsody CR 1
Also in September, the first customer release of Rhapsody
will see the light of day. Built atop the Mach kernel and
utilizing the technology Apple acquired from NeXT's OpenStep
operating system, Rhapsody is being positioned more as an OS
for high-end servers and developers than as a choice for the
average Mac user. For more on Rhapsody, please see the
feature article "Building Rhapsody" by Alex Fernandez in the
May 1998 issue of Apple Wizards.
Mac OS 8.6
Little information is currently known about this update due
in the first quarter of 1999, except that it will update Mac
OS 8.5 in much the same way that 8.1 updated Mac OS 8: it's
to be a small incremental update containing bug fixes for
improved stability, rather than adding any exciting new
features. And like 8.1, it will probably be available as a
free download.
Sonata
Sonata, Mac OS 9, is scheduled for release in the third
quarter of 1999. As it currently stands, Sonata appears to
be geared toward Macs which won't be able to run Mac OS X.
However, with the addition of new libraries, Macs running
Sonata will be able to use applications written for Mac OS X
(see below). According to MacKiDo's David Every, it's
rumored that Sonata might have the Mach kernel underneath,
but this should be considered highly speculative.
Mac OS X
Scheduled to ship in the Fall of 1999, Mac OS X (ten)
finally delivers the benefits of a "modern" operating
system, while retaining and enhancing the current Mac OS
user experience, and maintaining compatibility with today's
applications. Chief among the benefits of a "modern" OS are
preemptive multitasking and protected memory.
Preemptive multitasking greatly improves the system's
ability to have several processes running simultaneously.
Preemptive multitasking shields programs and OS components
from each other and lets them reliably execute at the same
time without interfering with each other. As an example, a
Quicktime movie will continue to run uninterrupted in the
background while you're pulling down a menu or launching
your browser.
Protected memory addresses will bring new stability to the
system. Each application will run in its own isolated space
in RAM. If an application does start misbehaving, it will
not be able to take down other applications or the operating
system. The stability provided by protected memory will make
our Macs virtually immune to freezes and crashes!
We should note that while Mac OS X is optimized for the G3
processor and its descendants, it will most likely run on
all PCI PowerMacs - however, older NuBus PowerPCs (like my
beloved Performa 6205) and 68K Macs will probably not be
supported. Mac OS X will be 100% PowerPC native; all the old
68K code will have been removed.
How will Mac OS X deliver these modern features while
remaining backward-compatible? In a word: Carbon.
Carbon
In his WWDC keynote, Steve Jobs joked that they're
calling it Carbon because "all life is based on it." Indeed,
in the future all Mac applications will be based on
Carbon.
Applications work by making calls to what developers call
the Mac "Toolbox," a fundamental part of the operating
system which resides in the ROM chips inside your computer.
Groups of related calls are known as APIs (Application
Programming Interfaces). A call to the Mac Toolbox returns a
Toolbox routine. There are currently about 8,000 of these
calls. To create Carbon, Apple is weeding out approximately
2,000 "bad" calls and adding some new ones to replace the
functionality of the ones that were excised. In this way,
Carbon applications will be able to take advantage of Mac OS
X's desirable modern features, including protected memory
and preemptive multitasking.
APIs are considered "bad" if they cause instability in the
system, or if their inclusion would have prevented utilizing
the "modern" OS features. The criterion used in the weeding
out process was whether or not these APIs were reentrant.
Reentrant code means that when local data is created in an
API by one application, another app can come along and
reenter that API with its own copy of local data. Then, when
the original application resumes, it continues to run
without its local data having been stepped on. If an API was
reentrant, it was kept; if not, it was cut.
Some of the APIs that have been removed were for
technologies which never gained widespread adoption, such as
QuickDraw GX and the MIDI Manager. Other APIs are being
dropped because they have been replaced with an equivalent.
For example, Open Transport supplants all earlier Mac OS
programming interfaces for networking and communication
services; Carbon does not support the AppleTalk manager or
MacTCP, so applications which use those APIs will have to be
re-written using Open Transport. Another example: old sound
calls based on the Vertical Retrace Manager have already
been replaced by newer Sound calls and Quicktime.
Software developers will appreciate Carbon because they
don't have to re-write their programs from scratch;
according to Apple, most of today's applications are already
90% Carbon-compatible, so the time and effort involved to
"tune up" applications should be minimal. But even if an
application isn't tuned up, it will still run under Mac OS
X, it just won't be able to take advantage of the "modern"
features. And Carbon applications will work on Mac OS 8 and
9 after compatibility libraries have been added, requiring
only that they be re-compiled by the developer.
If you'd like more information about Carbon, you can read
Apple's white paper "Transitioning To Mac OS X," available
in PDF format from http://develop.apple.com/macosx/.
X Marks the Spot
The following diagram illustrates how similar Mac OS X is
to Rhapsody as well as how, schematically, OS X will be
constructed.
In fact, the only significant differences between Mac OS X
and Rhapsody are the Carbon APIs, shown here in green, and
the transparency of the so-called "Blue Box." Whereas
Rhapsody will run older Mac applications from within a
separate window or screen, Mac OS X makes this Blue Box
completely invisible, so Blue apps will share the same
desktop environment as all the other applications; this is
part of the "New User Experience" in the diagram.
Meanwhile, Rhapsody will continue to exist as a separate
entity as part of Apple's server product line. Rhapsody's
cross-platform development tools (known as the Yellow Box
APIs) will allow programmers to develop simulataneously for
the Mac, Windows 95/98 and NT, and other platforms.
Conclusion
As Steve Jobs put it, with this plan it's "a little
evolution for a lot of revolution." Apple's OS strategy
promises an exciting future for the Mac. The stability of
protected memory, the speed of preemptive multitasking, and
the compatibility provided by the Carbon APIs will converge
in Mac OS X, taking the Mac user experience forward into the
next century.
Note: This article
was written by Brian Kelley of Apple
Wizards, with some
proofing and corrections by David K. Every. This article,
as well as other columns, is available in the monthly
Apple Wizards (at http://applewizards.net/),
if you haven't seen this eZine, I recommend that you give
it a try.
|