info briefs

mac os x server
mac os x
carbon
• cocoa
darwin
netboot
php4
php3
MySQL
• project builder / interface builder

features

quick 'n dirty mac os x server installation guide

MWSF 2000   coverage

articles

Aqua Human Interface Guidlines analyzed

DP 3 MacOS.app & Classic.app release notes

xclave info

Site history
Contact us
Advertising

MacOS X Information Brief

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.
Created: September 30, 1998

Last updated: March 31, 2000

The MacOS Xclave is hosted by green-ant.com.