In the last Daily Drill Down, “Mac Boot Camp, part 1,” the software managers that interface between the application and the user were touched upon briefly. This collection of software routines—collectively known as the Toolbox—is vitally important to Mac operation and deserves more consideration.
Let’s take a look at the Toolbox’s managers. They are usually grouped by their intended functions:
- · Window Manager: Creates and manages windows of all types.
- · Dialog Manager: Creates and manages the dialog box, a subclass of window that alerts users to unusual situations or gets information from users.
- · Control Manager: Creates and manages controls. (Controls include such items as buttons, check boxes, pop-up menus, scroll bars, and other application-defined controls.)
- · Menu Manager: Creates and manages the application’s menu bars and the menus that they contain; draws the menus and handles the user actions within the menus.
- · Event Manager: Reports user events to the application; processes status changes; allows communication with other applications.
- · TextEdit: Provides simple text-formatting and editing capabilities, such as text input, selection, cutting, and pasting. (It’s very useful for working with simple user input.)
- · Resource Manager: Controls standard resources and allows users to create their own resources. (Resources are static elements of a program—such as menus, cursors, and windows—that can be loaded and unloaded into memory.)
- · Scrap Manager: Supports cutting and pasting between applications.
- · Standard File Package: Provides the standard dialog boxes that are used in selecting a file or the location to store a file.
- · Help Manager: Provides the “balloon help” for online assistance.
- · List Manager: Creates lists of items.
- · Sound Manager: Provides sound output capabilities.
- · Sound Input Manager: Works with Macs that have sound input capabilities and devices (such as microphones).
Toolbox routines are fundamental, underlying software that can be used directly by a program or indirectly by some other Toolbox routine or manager that calls it. However, there is a level of software “underneath” the Toolbox that is called the Operating System. The OS includes the software that performs the low-level operations and mediates between applications and the Mac hardware, much as the Toolbox helps to mediate between the application and the user by showing the user how the application “looks.”
Like the Toolbox, the Operating System software is organized into managers by functionality. The main managers of the OS are summarized below:
- · Process Manager: Launches, terminates, and schedules applications; provides information about open processes.
- · Memory Manager: Coordinates the allocation and release of memory within an application’s partition. (This manager alone could—and probably will—fill an entire column.)
- · Virtual Memory Manager: Provides the ability to have a logical address space that is larger than the total amount of available physical memory.
- · File Manager: Controls all file operations, such as opening, reading, writing, and closing files.
- · Alias Manager: Locates specified files, disks, or volumes.
- · Disk Initialization Manager: Manages the process of initializing disks.
- · Device Manager: Controls the input to and the output from external hardware devices that are attached to the Mac.
- · SCSI Manager: Mediates information transfer between the Mac and hardware that attaches through the Small Computer Standard Interchange (SCSI) bus.
- · Time Manager: Controls timed execution of routines.
- · Vertical Retrace Manager: Synchronizes the execution of a routine with the redrawing of the screen.
- · Shutdown Manager: Allows routine execution during the shutdown and restarting processes of the computer.
But the Mac has other software that performs utility functions not directly Toolbox or OS level. One of the main collections of this kind of software is grouped under the name QuickDraw. Traditionally, the Mac uses these tools to perform drawing and other graphic operations. (As the Mac moves into the upcoming System X, however, all bets are off as to how things will be done in the future. But for existing Macs, it is the way things work.) QuickDraw routines change, hide, and display the cursor; manipulate the current drawing port; set the characteristics of the drawing pen; draw text; manage colors; define rectangles, ovals, arcs, and other basic geometric shapes; and define and perform operations on arbitrarily shaped regions. It does quite a bit of work!
The Font Manager works with QuickDraw and provides the fonts that QuickDraw needs in its requested typefaces, sizes, and styles. This manager is one of the workhorses of the complete system that allow the Mac to communicate in most written languages. Handling the actual text of a language—or script—is done through the interaction of QuickDraw, the Font Manager, and the other components of the text-handling system.
The Script Manager is the center of this confederation of software. It initializes script systems, maintains certain data structures, and provides some text-manipulation services. Text input among the various script systems is also maintained by this manager.
The text utilities are routines that perform many text operations, such as formatting dates, finding word breaks, and so forth. Using these routines ensures that text operations will be transportable among the various scripts that are supported by the Mac. Using these utilities means that you don’t have to spend programming time to reinvent the wheel on text. Your English-language program will work in Kanji (Japanese) or Arabic, for example.
Various languages have various input mechanisms. The world doesn’t live by the U.S. keyboard. Text Services Manager takes care of the input mechanism for a script and its special needs. For example, Kanji, Chinese, and Korean need a two-byte space for each character. Text Services Manager handles that need for you. Again, there’s no need to reinvent the wheel.
So, between QuickDraw—which has the flexibility to display the graphics of a script—and the other text managers that work together, a Mac can localize systematically the face that it shows a user in the user’s native language. This ability is not to be shrugged off lightly. Exporting a program offers the software developer the world market instead of just a domestic one—and that can be the difference between a program’s success and its failure.
Larry Loeb has 20 years of computer journalism experience. He was Consulting Editor at the late, lamented BYTE magazine, he launched WebWeek, he ran the online Macintosh section of BIX (the BYTE Information eXchange), and he wrote numerous articles for many major computer magazines. Recently, he also wrote a book on Secure Electronic Transactions, the protocol endorsed by MasterCard and Visa that allows merchants, cardholders, and banks to work together over the Internet. For banter, tips, and general screaming, send Larry an e-mail .The authors and editors have taken care in preparation of the content contained herein, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for any damages. Always have a verified backup before making any changes.