|
MacOS X is the next-generation
consumer operating system which Apple hopes to release in "early
2000." MacOS X will be the long-awaited, long-delayed modern
operating system for the Macintosh hardware product line, and will
replace the current MacOS 8.x line as Apple's flagship OS.
Pronounced MacOS "Ten," MacOS X hopes to be a marked improvement
over MacOS 7.x/8.x/9.x in many regards. Not only is it based on
established object-oriented foundations, and solid UNIX
underpinnings, but it will bring a "modern"ness to the MacOS which
has not been seen before in any consumer-oriented Apple-branded
operating system. Hoping to maintain the same ease-of-use and
understanding as the current MacOS, MacOS X will bring features such
as symmetric multiprocessing, memory protection, preemptive
multitasking, advanced graphics, and top notch networking to the
Macintosh platform in a hope to bring Apple on a par or beyond
Windows 2000.
Make no mistake - this will be Apple's consumer, networking and
business OS all wrapped into one. Both professional and consumer
lines will revolve around MacOS X, and vice versa. In fact, the
future of MacOS X Server is as an add-on package to MacOS X
Client.
MacOS X will draw heavily from the MacOS
X Server project, but will be quite different. MacOS X will
introduce Carbon, the full
introduction of the QuickTime
APIs and other stalwart Apple technologies, a top notch Java
implementation and more. MacOS X will also feature an entirely new
user interface, code-named Aqua, which is being created from scratch
to make the complex features of MacOS X intuitive and easy to
use.
While there is currently no legal way to look and use MacOS X
today, unless you are a registered Apple developer, you can see the
future today to an extent by checking out MacOS
X Server.
Timeline
At Macworld San Francisco 2000, Apple iCEO Steve Jobs
announced the rollout of MacOS X would be gradual and spread out
over one year from January 2000. Currently the timeline looks like
this:
- DP3 - Feb 2000 Apple released the third
developer previews (DP3) of MacOS X in February. This release
is the first to feature the new Aqua interface.
- MacOS X Beta - Spring 2000 This release
will only be seeded to developers, as of yet. The odds of this
being a public beta, like that of Windows 2000, is so unlikely
as to be laughable.
- MacOS X Release -Summer 2000 This could
very well mean September or October, if not later. Operating
systems take a lot of work, and often experience timeline slips
along the way.
- MacOS X pre-installed on all newly shipping Apple
machines - Jan 2001 Following what many expect
to be a six-month period after the official release of MacOS X,
Apple will start pre-installing MacOS X in all of its shipping
computers across both the professional and consumer lines.
CPU model support
MacOS X is a very powerful operating system, and requires
a lot of power behind it to run it. Because of this, Apple is only
supporting all computers which shipped from their factories with a
PowerPC G3 or higher processor at its core. This includes the
PowerMacintosh G3 (Beige), PowerMacintosh G3 Server (Blue and
White), PowerMac G4, iMac, iBook, and PowerBook (Bronze and
Pismo).
While Apple is not specifically engineering MacOS X to run on
any pre-G3 machine, there will be an option to install on
unsupported hardware, just like there is in MacOS X Server.
However, just like with MacOS X Server, the unsupported installs
don't always work. However, there are many who have had great
success with the PCI PowerMacs, such as the 73/75/7600, 85/8600,
95/9600s. However, you will not be able touse MacOS X on any
computer which shipped with a PowerPC 601, and unlikely that it
will work with a 603(e/ev).
The G3-only policy is not a matter of spite or money-grubbing
desire as many say it is. It would be naive to say that those
motives had nothing to do with the equation, but this new
operating system will require some serious horsepower to make it
run on par with Windows NT and other leading platforms. By only
supporting the present crop of computers, Apple draws a line in
the sand that says "we are committed to making this a serious
product."
The support issue centers on the support of certain
motherboards, and not about certain processors. But public and
private reports intimate that the subject is not a closed subject
at Apple. If you would like to voice your opinion, feel free to
e-mail Apple
directly.
Core operating system
The core operating system for MacOS X is remarkably
different than that of the current MacOS, and similar but not
identical to that of MacOS X Server.
MacOS X will use an enhanced version of the Mach 3.0 kernel for
its kernel needs. This is a
change from MacOS X Server, which utilizes what Apple people
described as Mach 2.5+, and will help Apple to bring MacOS X more
modern by utilizing many of the 3.0 kernel improvements.
On top of the Mach kernel is all of the other "proper OS"
functionality, including:
- Cocoa
- Carbon
- BSD Unix
- Java
- Much much more
A major change from MacOS X Server is the addition of "Carbon"
and the removal of the Blue Box. Instead of providing developers
and users with the option of just using the old MacOS, Apple will
instead push this new set of APIs. However, the Classic
Environment will allow users to continue using MacOS applications
written with 680x0 code in them and non-Carbonized
applications.
Carbon is a major rewrite of the current MacOS APIs. Many
programming functions have been dropped, and other functions have
been added to accommodate the new operating system. Carbon will be
fully reentrant and will support the powerful features which are
at the core of MacOS X itself. For a better explanation of
Carbon, please visit the
Tweak File entry.
Modern OS features
MacOS X will introduce some serious "modern" features to
the Macintosh platform. Preemptive multitasking, symmetric
multiprocessing and full memory protection will be implemented
seamlessly in MacOS X. If the OS works as it should, the days of
your system being brought down because of a memory corruption
problem
Symmetric multiprocessing seems to be the biggest step for
Apple. With the adoption of SMP, Apple will be able to ship
multi-processor hardware for use as graphics workstations,
high-power, servers, and more. Apple has yet to completely commit
to total SMP for the first release of MacOS X. mainly because
Apple does not have any MP hardware as of this moment.
Basic features
A new finder
For long time Mac users, MacOS X may be a similar
experience. However, a number of the key MacOS 7/8/9 features
to which we have all grown accustomed have been changed around,
tweaked, or plain ol' replaced.
The first and most predominant change will be the Finder.
Apple is crafting a brand new Carbonized Finder which will
leverage the amazing power of Carbon, and which will also more
tightly integrate with the requirements of the file systems
MacOS X will support. Among the enhancements will be the
long-awaited, but not-yet-implemented in MacOS 8/9, 255
character filename support for HFS+ volumes. In fact, HFS+ has
supported this ability since its inception, but the old Finder
did not support these filenames, so they were limited to 32
characters.
In addition, we will finally see the power HFS+ brings to
the table. Also contrary to popular belief, HFS+ is fully
capable of storing UNIX-style permissions and much much more.
For years now, the limiting factor of the file system has been
the Finder itself.
Because of this power, MacOS X will be installable on both
UFS (like MacOS X Server) and HFS+ (but not HFS) partitions.
While overlooked by many, this is one of the most significant
advantages of the migration path because current MacOS users
are already using HFS+ as their file system.
A new look
In addition to the new Finder, MacOS X Swill sport a
completely new user interface, code-named Aqua. As Steve Jobs
said, Apple wanted to create a user interface that you "want to
lick." Debuted at MacWorld San Francisco, Aqua is a brand new
user interface crafted by Apple for over a year and a half of
testing, coding, and testing some more. More on Aqua
below
Multi-user setup
MacOS X will also have a secure UNIX-style multi-user
setup. The multi-user support for MacOS X is much better than
that of, say, MacOS 9, because MacOS X owes much of its ability
to it's OPENSTEP/MacOS X Server lineage.
Administrators can create as many users as they need, and
can manange hundreds of users easily. Each user of the system
will be able to store all of their personal files and
applications in their own account. Also, each user has access
to their own personalized customizable settings which take
effect when they log in, and cease to apply when the user logs
out.
Additionally, admins and users alike will be able to utilize
their computers as the BSD UNIX systems they are. MacOS X will
ship with a telnet daemon, and SSH daemons are as close as a
simple compile.
Built-in commandline
Another feature will be a built-in command line
environment. While MacOS X is being directly aimed at home
users and education, Apple has apparently seen the utility of
being able to use your computer as a UNIX box as well.
However, there will be no need to configure your system by
hand using the commandline. Even though MacOS X lies upon a bed
of UNIX, Apple's new Aqua interface is the fulfillment of the
promise Apple gave a year ago that no one would have to
configure their system with the commandline. This was in fact
one of the main design goals for Aqua.
Old favorites
Also, MacOS X will have many of the old standards of
MacOS 8.x: Sherlock, QuickTime 4, Stickies, CD/DVD player, and
much much more. The transition to MacOS X is supposed to be as
absolutely painless as possible. This is because when MacOS X
ships, all new Apple computers will ship with MacOS X installed
on them. And since Apple is very consumer oriented, don't look
for iMacs to ship with a hard-to-use operating system.
Graphics support
Another interesting change is the graphics display
system. MacOS X will use neither of the display systems from the
two current Apple operating systems. MacOS 8.x uses the long-time
Macintosh display system knows as QuickDraw. MacOS X Server uses a
display system knows as Display
PostScript, a graphical version of the acclaimed Adobe
PostScript laguage.
Instead Apple has decided to go ahead and create a better
display solution. One of the problems with Display PostScript is
that every copy of DPS meant that a licensing fee had to be paid
to Adobe. One of the problems with QuickDraw is that it just
wasn't powerful enough or sufficiently celerous for most
functions.
In fact, the display solution is represented in three core
graphics engines:
Quartz
Known for some 14.2 seconds as Enhanced
QuickDraw, Quartz is the primary imaging engine for MacOS
X. It's main job is to replace the functionality of the MacOS's
QuickDraw and MacOS X Server's Display PostScript.
Quartz includes a number of the powerful elements in Display
PostScript and QuickDraw, but has also refined and extended
some of the functionality of its predecessors.
In Apple's push to be innovative, and deliver high-quality,
Apple has decided to adopt the Adobe Portable Document Format
as it's core display model. Known to the masses as PDF, this
format is highly utilized in a number of production
environments including electronic publishing.
What Apple gains with the adoption of PDF is the ability to
move its display to focus on an increasingly important Internet
standard which has evolved over the past 4+ years to become one
of the most respected formats on the Web.
Quartz allows Apple to give every Cocoa/Carbon applications
the ability to read, print, and manipulate PDF documents. It
will also give developers system-wide access to alpha
channels, compositing, anti-aliasing, and drag-and-drop support
for PDF files.
QuickTime Media Layer
Apple's flagship multimedia format, QuickTime will be
the movie/graphic element to the display.
OpenGL
The 3-D standard for 3-dimensional modelling,
Apple has grown very attached to including top-notch OpenGL
rendering in its operating systems. This move has brought
widespread applause from developers, especially game developers
such as id.
The future of QuickDraw 3D on MacOS X is a big
?, but it's continued existence is
highly unlikely.
Application development options
One of the reasons that MacOS X will appeal to so many
different types of users is that it supports a wide range of
programming options.
Cocoa
Cocoa is what used to be referred to as the Yellow
Box. Based on high-quality NeXT technology, it is the basis for
Apple's wildly successful Enterprise-level software WebObjects.
A completely object-oriented programming framework (set of
ready made tools and objects), Cocoa offers programmers
amazingly rich programming options perhaps unparalleled on a
personal computer. Cocoa applications can be written in
Objective-C (a variant of the popular C programming language)
or Java or both.
Apple recommends that all developers who start new
development on the Mac platform use Cocoa. In fact, Apple's
MailViewer, which will ship as the default mail application for
MacOS X, is written completely in Cocoa.
Carbon
Carbon is an overhaul of the old Macintosh Toolbox,
upon which every current MacOS 8/9 application is based. Over
the fifteen years since it's launch, the Mac Toolbox grew too
bloated, too slow, and missed out on a number of basic
technological advancements within the personal computing
industry.
So, Apple decided that it would be a travesty to lose out on
fifteen years of programming code, so they devised a way to let
programmers bring their code into the modern age of computing.
Voici, Carbon.
Carbon (the building block of life, as Jobs once pointed
out) is an overhaul of the thousands of Mac Toolbox functions,
strips out many, adds some more, and makes the whole thing
multi-threaded, re-entrant (simplified, able to run on a
multi-processor machine), and fast.
Another great thing about Carbon is that it is able to run
not only in MacOS X but also on the "classic" MacOS back to
version 8.1.
Classic
In addition to ensuring that applications are being
created for the Mac, Apple realized early on in the Rhapsody
project that there was a definite need for a Macintosh
application layer somwhere - a software layer that would allow
Mac users to run their old Mac Toolbox applications right along
side this new operating system.
This layer, which has become known as the "Blue Box," has
been refined over the last 3+ years, and has been commercially
available since the initial release of MacOS X Server. And like
nearly everything else in the operating system, MacOS X will
take it all one step further.
Instead of the Blue Box solution, which requires the "Box"
to take complete control of your screen, MacOS X will ship with
a much more pallatable solution - a window-sized version of the
Blue Box.
Publicly referred to as the Classic environment, Classic
will allow non-Carbonized Mac applications to run along side
Cocoa and Carbon apps.
BSD UNIX
Because of the Darwin layer underneath, developers
will be able to deploy BSD UNIX applications. Apple in fact
ships a number of these with MacOS X, including the popular
Apache web server.
Java
And last but not least, Apple will ship MacOS X with a
full Java 1.2 (perhaps 1.3) runtime. While this is a recent
development, Apple is very committed to bringing the Mac into
the short list of great Java platforms.
Peripheral Support
Apple recently released the Kernel Extension Kit, which
includes the software needed to create the new device drivers for
MacOS X. The new driver scheme, called I/OKit, is a completely
different driver development process than for the current MacOS,
but the upside should be that these new-age drivers will
outperform their legacy counterparts.
The new driver kit will be a completely object-oriented driver
kit, and will utilize a language called Embedded C++ (EC++). New
drivers will be written to fit in one of a number of groups, such
as USB or FireWire. More information will be included when we
learn more about the way I/OKit really works.
As for the end-user's point of view, you can expect support
for:
- ADB (Since there is still an ADB port on the beige and
Blue-and-White G3's)
- Full USB support
- Full FireWire support
- Serial port support
- Ethernet (10/100/1000Base-T)
- built-in SCSI and certain Adaptec SCSI cards
- EIDE/Ultra-ATA (33 or 66)
- PCI cards
- internal modem slots
- internal PCI/personality cards which have shipped inside
PowerMacintosh G3/G4, PowerBook, iMac and iBook computers
The specifics of individual support will not be known for some
time, so this list should not be considered as fact, but a very
reasonable guess.
Some of the touchier issues include how Apple will work with
third parties to ensure drivers for PCMCIA cards and non-Apple PCI
cards.
File System Support
Users who actually care what their file
systems their computer supports will love MacOS X.
Known supported formats already include:
- HFS
- HFS+
- UFS
- NFS
- ISO-9000 (Audio CD's)
- UDF (DVD-ROM/DVD-RAM format)
Other file systems, like FAT16, FAT32, and NTFS are also
possibilities for support.
A brewing question is what file system will be used with MacOS
X Server. In MacOS X Server, HFS(+) support is present for
Apple-related files sharing and Netbooting, but there are some
grumblings that Apple will utilize HFS+ as the default file system
for MacOS X.
Networking
Networking in MacOS X will be considerably different than
networking in the MacOS currently. Instead of continuing the use
of Open Transport as the networking stack of choice, Apple will
apparently use BSD 4.4 Sockets. The BSD Sockets were chosen for
many reasons, such as security, performance, and industry
standards.
However, Apple is striving to keep old networking code usable
under MacOS X. Much of the programming interface in Open Transport
will be available to Carbonized applications on MacOS X. It is
unclear (to us) as to whether Apple has written a streams
implementation to run on top of the sockets, or if they have kept
the OpenTransport APIs and reengineered the inner workings of the
system calls.
As it is in MacOS X Server and, of late, MacOS 8.5/8/6,
networking speed is of utmost importance, and Apple will look to
continue to improve on newly found ability to serve and share data
on networks at speeds equal to and faster than comparable Unixes
and WindowsNT.
Also, look for MacOS X to be fully equipped with a number of
the most widely used networking protocols. By reason, since MacOS
X will replace MacOS 8.x, it should support BootP, DHCP,
AppleTalk, and PPP.
Backwards Compatibility
This is a question mark right now. Outside of Carbon,
Apple doesn't require, or provide, any backwards compatibility in
MacOS X. One case which isn't mentioned much is MacOS X Server
application compatibility.
Many developers have noted that the transition from MacOS X
Server to MacOS X is not as drastic as many thought it could be.
But Apple has efforted to keep a high-level of compatibility
between the two environments, which has been proven by many who
have run MacOS X Server-compiled applications on developer
previews of MacOS X. They don't run flawlessly (they're actually
quite flaky), but the work.
Another interesting tidbit is that about a year ago, Apple
proposed a standard to the ISO (international standards
organization) which would set a common foundation for binary Linux
code which may help to open up more doors for compatibility.
Another step in this direction could be to apply a "Linux
compatibility layer" on top of Darwin, in much the same way as one
of the popular *BSD flavours.
Of note, however, is something which has gotten relatively
little press. MacOS X will ship without a 680x0 emulator,
and therefore will be unable to run Classic 68k applications out
of the box. This shouldn't be as much of a problem because of the
Classic environment, but it should cause some problems to
developers who have long been linking to 68k libraries, perhaps
unwittingly.
(For those of you who are interested in what that means for
applications which make numerous Mixed Mode calls, this does not
mean that 68k Mixed Mode calls will be unusable. Due to the
engineering of the Mixed Mode Manager, 68k will be accepted and
usable, just not recommended.)
This may end up being a source of grumbling for a majority of
the Mac users who will unwittingly upgrade their computers only to
find that a majority of their older software does not work.
However, the Classic Environment should ship with a 68k emulator
in it's ROM image, and will make this a non-issue.
There are also rumors that Connectix may port their own 68k
emulator to function in MacOS X. More news as we find it
Java support
Steve Jobs knows that a speedy, full implementation of
the latest version of Java will make some people jump at the
chance to use MacOS X. Jobs has promised that Apple is committed
to make Java one of the top priorities for the MacOS X team. The
work by the MRJ team has been amazing on that end, and should be
even better in MacOS X with Quartz' additional features which will
speed Java AWT rendering.
Since MacOS X and Quartz are not-yet-ready-for-primetime
players, it would be inaccurate to speculate on how fast the
implementation will be in the new OS, but many point to the work
already done by Apple with the current MRJ implementation.
Apple has also given access to the YellowBox APIs via Java, and
will push this as part of the new "Cocoa" strategy as noted above.
Many applications shipping with MacOS X Server are already
utilizing Java-Cocoa.
At the 1999 WWDC, there was a Java demonstration to show off
how fast Apple's own work is progressing. Jobs said that Apple is
committed to eventually releasing a Java 2 VM, but after talking
to users and developers alike, Apple will be committing its
resources to turning out a high-quality Java 1.x VM first. Most
programmers are still hesitant at putting forth major efforts to
use Java 2 since the new standard has numerous speed and
usabilities issues which need to be resolved. However, Apple did
have a very early development version of a Java 2 VM which was
shown off during the keybote address.
At MWSF 2000, Apple Java engineers announced that MacOS X will
ship with at least a Java 1.2 VM, and possibly a 1.3 VM. The team
is currently linking key elements such as the AWT, and Java2D to
Quartz, but they have shipped the runtime libraries which
apparently work just great with any and all Java/Cocoa
applications.
More news about the inclusion of Java into the OS will be added
as it becomes known, such as how celerous the Java virtual machine
might be and the possibility of compiling Java "natively".
Miscellaneous
Some other notes about MacOS X:
- Unlike MacOS X Server, MacOS X is being specifically
designed to be run on the entire product line of Apple
PowerPC-based computers, including servers, desktops, and
notebooks. PowerBook specific features such as energy
conservation and sleep mode will be available.
- MacOS X will be the basis for all future MacOS X-related OS
releases. That is, both MacOS X and MacOS X Server will
essentially be the same operating system from a technical
standpoint but not from a software standpoint. MacOS X Server
will be an add-on package which will deliver all of the
necessary server applications and development tools needed for
a server.
|