The System

Mac OS X is thoroughly modern operating system that works on an entirely different basis to older versions of the Mac OS. In fact, it’s built around the industry-standard system known as Unix and is created entirely in PowerPC-native code. It’s also optimised for G3 to G5 processors, has a protected memory system and employs pre-emptive multi-tasking.

Darwin, Quartz and Coding

Unix is an open standard, onto which Apple has superimposed its own ‘front-end’, known as Darwin. This is accompanied by the Quartz graphics mechanism, an enhanced form of QuickDraw constructed around Adobe’s PDF graphics format. Quartz uses the OpenGL technology built into the system to convert each window into ‘texture’ information that’s fed to the video card or GPU.

Quartz Extreme, the improved 3D version of Quartz, arrived with Mac OS 10.2. This technology, also known as OpenGL acceleration for Quartz, requires a supported graphics card with at least 16 MB of video RAM, although third-party software can enable it to work with only 8 MB of RAM.

Making the Switch

Mac OS X, which is designed for ‘native’ applications based on Cocoa programming, doesn’t provide support for applications designed for older systems, such as Mac OS 9.x. However, Apple have provided two solutions: the Classic environment and Carbonized applications.

The Classic environment is actually a special application that runs within Mac OS X, allowing you to run older applications. Carbonized applications often run in both Mac OS 9.x and Mac OS X. To make this possible, Apple abandoned around 2000 of the 8000 original application programming interfaces (APIs) supplied by the Toolbox in the Classic Mac OS, many of which were rarely used by later applications and several of which include 680x0 code. This ‘streamlined’ set of APIs, known as Carbon, is incorporated into Mac OS X and accommodated by the CarbonLib extension in older systems. By this means, most Carbonized applications can be used in both systems.

Hardware Requirements

The new system can be used on any G3 computer, except the original PowerBook G3, also known as the Kanga. It’s often said that Mac OS X can’t be employed on G3 machines that aren’t fitted with an integral USB or FireWire interface. This isn’t entirely true, since Mac OS X 10.2 and earlier versions operate, albeit slowly, on the ‘second generation’ PowerBook G3 machine, also known as the Wall Street model, which has older-style serial ports, as well as on the later Lombard models.

Mac OS X consists of around 40,000 files, which means that fault diagnosis on this system can take much longer than under the Mac OS 9.x or earlier. The OS demands at least 128 MB of RAM if support for Classic is required, although 64 MB can be sufficient if you don’t need the Classic environment, which is fine if you’re happy to use only Carbonised or Cocoa-based applications.

Early editions of the system require at least 900 MB of disk space, increasing to 1 GB with recent versions. Mac OS X 10.3 for example, requires 1.5 GB if the BSD Subsystem and Apple’s additional applications are installed, whilst a full installation needs over 3 GB.

Installing the System

As with most installers, the default settings in the Mac OS Installer usually give the best results. For example, disks are normally formatted using the Mac OS Extended system, also known as HFS Plus, although the Unix Filing System (UFS) can be used instead. However, HFS Plus should always be used unless you have a special need for UFS. Unlike HFS Plus, UFS accepts any case for filenames, which means that files called MyFile and MYFILE can reside in the same folder. In addition, UFS doesn’t store Mac OS type codes and creator codes, which can cause confusion with non-Cocoa applications.

Users and Permissions

In common with all Unix systems, Mac OS X requires you to log in to a specific account, with a user name and password, although this can be automated at startup if the machine is used by only one person. A normal user account can only open, modify, move or delete the files produced by that user, an administrator account can process the files produced by all of the users, but not the system files, whilst the the root account can mess around with any items, including the system files.

You can change the desktop picture for the root account to remind you of the danger. First, find the following file:-

/Library/Desktop Pictures/Aqua Blue.jpg

Now, make a copy of this file, and, using a suitable graphics application, add a red warning text to the copy. Finally, go to the Desktop & Screen Saver preferences pane and choose the modified file as the desktop picture for the root account.

Every file is given a permission, restricting access to a particular user, group of users or the system itself. Any confusion that occurs can normally be fixed by selecting Repair Disk Permissions in the First Aid section of Disk Utility.

The Main Features

The new system, as well as Cocoa applications, are able to divide tasks between two or more processors on a multi-processor machine, giving a significant speed improvement on such a computer. Many of the outdated mechanisms used in Mac OS 9.x have also been removed, making the system more efficient, especially in Cocoa-based applications.

The following list shows some of the features provided in various versions of Mac OS X:-

Mac OS X 10.0

Anti-aliased text throughout

Application menu at left-hand end of the menubar

Text files can use either Mac or Unix line-endings

Filenames can contain up to 255 characters

No Apple menu (corrected in later versions)

Disk drives don’t appear automatically on desktop (corrected in later versions)

Mac OS X 10.1

Includes separate CD containing Mac OS 9.2.1

Right-hand menubar controls, including Apple icons for battery, AirPort, audio and modem

Dock can be positioned to the left, right, top or bottom of screen

Filenames wrap onto a second line and extensions are hidden by default

Can set the minimum size of font that will be anti-aliased

Supports AppleTalk connections to Apple File Protocol (AFP) servers

Mac OS X 10.2 (Jaguar)

Quartz Extreme graphics

TWAIN support for cameras and scanners

Doesn’t normally allow third-party menubar controls

Can mount FTP servers in the Finder

Personal File Services for Windows Server Message Block (SMB), accommodating Windows or Unix-based Samba servers

WebDAV HTTP extensions for collaboration over file editing using iDisk

Support for multiple audio channels and MIDI services

Optional installation of Unix BSD Subsystem, even though this is required by many Unix tools

Mac OS X 10.3 (Panther)

Finder has improved iTunes-style windows; can also compress or expand files

Keyboard & Mouse preferences pane lets you create customised keyboard shortcuts

Faster switching between users

Converts PostScript files to PDFs by double-clicking

Limited support for DVD+ discs, allowing them to be used for backups

Exposé can miniaturise all open windows for quick keyboard access

FileVault for AES-128 file encryption, with option to encrypt user’s home folder

Finder windows have extra buttons for ejecting and burning discs

FontBook feature lets you preview and control fonts

Help system is faster and based on Safari

Items in any open menu can be activated by pressing letter keys, followed by Return, Enter or the spacebar.

Mail and Address Book also work together as Microsoft Exchange

Preview application opens EPS or PostScript files; also enhanced editing and copying

System Profiler replaces the original Apple System Profiler application

TextEdit can open and create Word .doc files, although it doesn’t support tables or embedded graphics.

Trash can be cleared without security risks by selecting Secure Empty Trash in the Finder

Typography panel for selecting ligatures and alternative fonts

Xcode package for creating Mac OS applications

Includes X11 for Mac OS, allowing you to run standard Unix applications

Mac OS X 10.4 (Tiger)

Automator application for initiating repetitive tasks without using AppleScript

Core Image and Core Video system components that optimise the use of GPU

Dashboard application, containing mini-applications known as widgets, each made of HTML with CSS and JavaScript

H.264 Advanced Video Coding (AVC) available to iChat and other video applications

Safari support for Really Simple Syndication (RSS), avoiding need for separate RSS application

Spotlight menu at top right, for searching files by specified criteria, using metadata in files where available

VoiceOver reads aloud the content of documents and provides extra keyboard control

Hardware and Software Issues

Mac OS X doesn’t support the control panels or extensions used in older systems or in the Classic environment (see below). Instead, the function of control panels is replaced by the System Preferences panel, which can also accommodate non-Apple software via .kext files (see below).

Generally speaking, third-party developers have less access to the workings of the system than in the Classic Mac OS, although special applications called haxies can be used to widen the range of options, whilst kernel extensions can provide extra features (see below).

The User Interface

Many people have difficulties with the Mac OS X interface. In some ways, it’s simpler, although it can be wasteful of screen space and employs a large, fixed-size system font. As far as the author is concerned, the worst thing of all is the anti-aliased text, which, on the crystal-clear screen of an LCD-based machine appears blurred and is often tiring to read.

Other problems revolve around the folders associated with multi-user operation. Each user of the machine, even if there is only one, has an individual Documents and Applications folder, as well as other folders, including individual Desktop Folder locations. This lets everyone have their own applications, fonts and printer drivers, and anything else you can think of. Now this is very flexible, but it can also be very confusing and wasteful of disk space. To add to the confusion, there are ‘global’ folders at the top level, containing documents, applications and other resources that are available to all users.

Finder Windows

Each Finder window has the option to use a column view and incorporates a Go menu for fast access to drives and folders. There are also buttons for Computer, Home, Apps, Docs, Favourites, People (network) and View. Unfortunately, Finder windows are very large, so having several windows open at once is hardly practical. It’s often better to set your machine so as to see only one window in column view. Moving files can then be a bit tricky (you may have to move them on and off the desktop), but at least you can see what you’re doing.

All of the Finder windows in later systems include an Action menu, shown by a gearwheel, which has a similar effect to Ctrl-clicking or right-clicking any selected items: options include Open, Get Info, Color Label (click on the required coloured dot), Duplicate, Make Alias, Create Archive of (so as to make a Zip archive), Copy, Create Token, Create and E-mail Token, Disable Folder Actions, Configure Folder Actions… and Attach a Folder Action….

Other Features

Dialogues in Mac OS X aren’t modal and are usually attached to an appropriate application window.

In recent versions of the system, filename extensions are normally hidden from the user, although you can choose Always show file extensions in Finder Preferences (or under Get Info you can select Hide extension). Also in Get Info, you can select Open with application, with the option to use Change All to make all files of this type open with chosen application.

Expose, which comes with Mac OS X 10.3 or later, provides enhanced control over application and Finder windows, the operation of its effects being activated by your chosen keyboard or mouse actions. All Windows resizes all visible windows, spreading them across the screen, Application Windows has the same effect, but only on the windows belonging to the current application, whilst Desktop moves windows so as to give a clear view of the desktop.

Services

This feature appears under the ‘main’ menu of many Mac OS X applications, although less often in Carbon programs. In TextEdit, for example, the menu appears under Text Edit ➡ Services. The services shown here are provided by other applications or special software. Usually, you must highlight something, usually text or graphics, which is then processed by the selected service. This is usually much quicker than the traditional copying and pasting between applications.

Many services are provided automatically by other applications that reside in your Applications folder, whilst other services are supplied by files in /Library/Services and ~/Library/Services, where ~ represents the path to your home folder. Note, however, that you must log out and in again to initiate any kind of service.

Scheduling Tasks

Mac OS X incorporates cron, a Unix mechanism that can automatically launch applications or tasks at specified times. Each cron table (crontab) tells cron what to run and when. The tables for system-wide operations are kept in the /etc/crontab directory, whilst those for users are in /var/cron/tabs. You can see the contents from within Terminal by entering, for example, cat /etc/crontab and pressing Return, or you can use the special crontab command, with help available by typing man cron, although it’s easier to use a utility known as CronniX (Dan Frakes). Each event consists of a single line of the form:-

minute   hour   day of month   month   day of week   username   task

where minute, hour, day of month, month and day of week are numbers, username is the name of the user, and task is the path to the required file or operation. The last of these can be one of the standard system tests, such as periodic daily, periodic weekly or periodic monthly. Any values that aren’t significant are replaced by an * (asterisk), as shown in this example:-

16   30   *   *   7   fred   periodic weekly

which operates each Sunday at 4:30 in the afternoon.

Lost Features

Some of the facilities in older versions of the Mac OS don’t have any equivalent in Mac OS X, including the Apple menu, Balloon Help and the Shutdown Items folder. In addition, the Scrapbook and NotePad applications have been dumped, you can’t use ATM Deluxe and there isn’t any way of viewing the clipboard. However, the new system has many advantages and these shortcomings can be easily corrected by means of third-party software.

Customisation

Generally speaking, you should avoid modifying any system, since any alterations can undermine its reliability or design. Changing Mac OS X to make it more closely match the Classic Mac OS can be very foolish, since this prevents you from seeing newer and better ways of doing things.

Having said this, many third-party developers have created small applications known as haxies, which can modify system files, although problems can occur when you eventually update the system. The operation of Mac OS X can also be changed by using kernel extension (.kext) files, which can also fail should the system be upgraded. The latter are usually found in folders inside Library/StartupItems and often provide extra panels in System Preferences.

Modifying System Files

Many hidden options are kept in property list (.plist) XML files and other documents, although locating these can be tricky. You can modify or replace such a file, although it’s best to make a copy of the original before you begin. In addition, you may have to change the user permissions in the Get Info window for each file before you start the modifications and then change them back again afterwards. Finally, some files, specifically those whose names begin with . (full-stop or period), are invisible, although this can be fixed with TinkerTool or a similar utility.

Here are a few examples of what you can do:-

Replacing the ‘volume change’ click noise

To do this you must replace

System/Lib/LoginPlugins/BezelServices.loginPlugin/Contents/Resources/volume.aiff

by an alternative sound file with the same name.

Adding text to the ‘log-in’ window

Open the file

System/Lib/Preferences/com.apple.loginwindow.plist

using TextEdit and insert the following lines beneath <dict>:-

<key>LoginwindowText</key>

<string>   Put_Your_Message_Here</string>

using sufficient spaces after <string> so as to position the text in the middle of the window.

Changing the ‘log-in’ window background image

To do this you must replace

Library/Desktop Pictures/Aqua Blue.jpg

by an alternative JPEG or PDF file with the same name.

Adding ‘Quit’ to the Finder’s ‘Finder’ menu

Run the Terminal application (see elsewhere for further details) and type:-

defaults write com.apple.finder QuitMenuItem -bool yes

and then press Enter.

Using Classic

The Classic environment lets you run pre-Mac OS X applications on the new system, although many of the features found in Mac OS X aren’t available to such applications.

Classic can be launched manually from the Classic part of System Preferences, although it also runs automatically whenever you try to open a pre-Mac OS X program. Classic is very slow to launch in the earliest versions of Mac OS X, although this isn’t a real problem in later systems. Generally speaking, pre-Mac OS X applications appear to run faster in Classic than in Mac OS 9.x, probably because Classic doesn’t load all of the extra Mac OS 9.x system components into RAM.

Most programs designed for Mac OS 9.x are happy to run in the Classic environment. Those that don’t work in Classic can only be used after you’ve restarted your machine in Mac OS 9.x. Unfortunately, all Apple computers produced since the start of 2003 can’t be ‘booted’ in the older system, which means that you can’t run these applications on such a machine.

Mac OS X resources aren’t usually available in Classic. For example, scanners and printers can only be used properly when appropriate Mac OS X and Mac OS 9.x drivers and other software is installed. Even then, there may be differences in behaviour when using Classic or Mac OS 9.x.

File Sharing

File sharing in Mac OS X is centred around TCP/IP, although the older AppleTalk system can be used for older printers or pre-Mac OS 9.x machines that don’t support the modern TCP/IP standard. If possible, you should install third-party software on older Macs so as to accommodate TCP/IP.

Depending on your version of Mac OS X, the Sharing panel in System Preferences has options for Personal File Sharing, Windows File Sharing, Personal Web Sharing, Remote Login, FTP Access, Remote Apple Events and Printer Sharing.

Reference

MacWorld magazine (UK), IDG Communications, 2003-2004

©Ray White 2004.