Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesSystem 7.5: A Step Toward the Future


August 1994 / Core Technologies / System 7.5: A Step Toward the Future

Apple's new Mac OS, simultaneously released on 680x0- and PowerPC-based Macs, has new features both over and under the covers

Tom Thompson

Earlier this summer, Apple made a new release of its Macintosh operating system, System 7.5. What's significant is the fact that the company accomplished this release for machines using two different processors: its 680x0-based Macs and its PowerPC-based Power Macs.

At first glance, System 7.5 doesn't appear much different from its predecessor, version 7.1. This is actually a good thing, since users get very upset if the way in which their computers work changes drastically.

Nevertheless, System 7.5 is a vehicle for change in two ways. First, stra tegic new elements in the interface improve the user's productivity. Second, important additions to the operating system enable developers to tailor their applications to exploit features in the future release of the Mac OS (code-named Copland; more on this later). I'll start this discussion with a tour of the operating system's productivity features.

New on the Menu Bar

The one obvious change to System 7.5 appears on the menu bar: The icon for the help menu has changed from a balloon to a question mark. Balloon help has been supplanted by Apple Guide, a new help system.

But Apple Guide is more than just a help system. As its name implies, Apple Guide is an interactive assistant that actually guides you through a complex task. It does this by using a stream of Apple Events to drive the application(s) involved in a particular operation and by using coachmarks, which are visual cues that point out the items involved to complete the operation. Coachmarks consist of automatically highlighted file s or menu items and the use of a red swath that circles critical objects (see the screen).

For example, to change the Mac's protocol stack from AppleTalk to TCP, Apple Guide first circles the Apple menu icon in red. When you pull down the Apple menu, the Control Panels item is highlighted in red. Once you open the Control Panels folder, the Network Control Panel is both selected and circled in red, and so forth. Once Apple Guide finishes its tutorial, you've actually completed the task.

This same capability can be added to applications, so users can actually make use of their sophisticated features. Because it uses Apple Events, Apple Guide can be easily integrated into OpenDoc or any componentware.

Another interface improvement becomes evident as you use QuickDraw GX, which is bundled with System 7.5. With QuickDraw GX, you no longer use the Chooser to establish a connection to a printer; instead, you construct visual ``sockets'' to multiple printers. You do this by selecting a printer i n the Chooser and clicking on a Create button. A printer icon bearing the networked printer's name appears on the Desktop. You repeat this process for every printer you use.

Then when you want to print a file, you just drag and drop the document's icon onto the desired printer icon. Double-clicking on the printer icon opens a window displaying the printer's queue, where you can delete or reorder print jobs by clicking and dragging. Best of all, you can print simultaneously to several printers--something you couldn't do with previous versions of the Mac OS.

It's important to note that the installation of QuickDraw GX is optional. That's because QuickDraw GX doubles System 7.5's minimum memory requirement--from 4 MB of RAM to 8 MB.

System 7.5 adds several other productivity features to the interface. A time-of-day clock appears on the menu bar. In a nod to the usefulness of Now Utilities' Super Boomerang, the operating system now remembers the last folder your application used and provides pop-up menus on the Apple menu that give you quick access to the most recently accessed applications, servers, and files. A Windowshade Control Panel lets you double-click on a window's title bar and conceal the window's content area, leaving the title bar as a placeholder. A second double-click exposes the window again. This feature lets you manage screen clutter, especially on Macs with large amounts of RAM and small screens.

Interiors

Beneath the surface, System 7.5 offers some significant enhancements for developers. One is the simple bundling of existing system software components, such as AppleScript, MacTCP, Telephone Manager, and PowerTalk.

To review, AppleScript is Apple's batch-control language, which can automate operations. Importantly, Finder 7.5 is now scriptable, so you can write scripts that, say, back up the files in a certain folder by having the Finder copy them to a server at the end of the day.

MacTCP implements a TCP protocol stack alongside the AppleTalk stack so that you can make use of various Unix or Internet services (currently, File Sharing and Remote Access still use the AppleTalk stack). The Telephone Manager is an API that provides telephony functions (i.e., applications use the Telephone Manager to implement a virtual telephone, dial on-line services, and route calls).

PowerTalk is Apple's collaboration software; it provides mail services, digital signatures to validate electronic forms, and data encryption of the sensitive data in such documents. Thus, PowerTalk makes the paperless office a possibility.

Because PowerTalk uses Apple Events as its communications mechanism, document routing and processing can be done over a network. Furthermore, this enables forms automation and document tracking, which can identify bottlenecks in the work flow. When Apple revamped its documents to operate on PowerTalk, forms-processing times dropped from three weeks to just three days. As with QuickDraw GX, installation of PowerTalk is optional.

Most of t hese system components have been in use for two years or more but were available only as options. Now they are a standard part of System 7.5, which encourages applications designers to make use of these services.

In addition, System 7.5 now provides SCSI Manager 4.3 as standard fare. First implemented on AV Macs (the Centris 660AV and Quadra 840AV) and then on Power Macs, its services are now available across the entire Macintosh product line.

One of SCSI Manager 4.3's major features is its asynchronous I/O services. This enables an application to make calls to SCSI peripherals and, instead of stalling the processor to wait for the I/O to finish, work on other duties until a dedicated completion function gets called to wrap up the I/O. Hence, both the processor and SCSI bus are used more efficiently. While I'm on the subject of disk drives, the filing system has been improved to support volumes up to 4 GB in size, eliminating the current limit of 2 GB.

Other System 7.5 enhancements are ne w and designed to help developers revise their software so that they can exploit features in the future release of the Mac OS mentioned earlier. Code-named Copland, this is Apple's planned major revision of the Mac OS. It is a microkernel-based, multithreaded operating system, complete with memory protection and a new I/O architecture (see ``Apple's and Microsoft's System Software Road Map,'' May BYTE).

One of these enhancements, the Drag and Drop Manager, provides a seamless method of moving text or graphical data among applications. Rather than copying an image to the Clipboard in one application, switching to another application, and pasting the image into that application's document, you simply drag and drop the image from one window to another. The Drag and Drop Manager sweats the details of the data transfer. Both OpenDoc and Copland will rely on this Manager to mediate transfers among various software components. Thus, a user won't be aware that such data transfers occur when he or she manipulat es a document's contents.

Follow the Thread

Finally, System 7.5 provides a Thread Manager. A thread is a lightweight process that has its own stack but makes use of the host application's memory and system resources. The Thread Manager attempts to use the existing Mac programming model to preserve compatibility with existing software. Its API handles the creation, scheduling, and deletion of threads, and it also provides routines to assign the amount of stack each thread uses, as well as set the thread type.

Threads use one of two scheduling methods: cooperative and preemptive. Cooperative threads, like System 7.x's Process Manager, return control to the processor at explicit times. Preemptive threads use a time-slice scheduling mechanism--either a default scheduler or a custom scheduler that you provide. Note that all of an application's threads, both cooperative and preemptive, execute only when the Processor Manager switches the application into the foreground (i.e., it becomes the active application).

Why use threads? One reason is to allow software designers to divvy up an application's functions. For example, one thread maintains screen updates for the application's windows, another manages the user interface (e.g., performing hit tests on menus or controls), and yet another handles file I/O. This allows for concurrent processing, especially in the critical area of I/O.

Recall that the SCSI Manager 4.3 supports asynchronous I/O and that AV Macs and Power Macs alike provide DMA channels for various I/O subsystems. By using threaded applications, these Macs can work smarter rather than harder: Certain application threads could process data or respond to your keyboard, while other threads could supervise reads and writes to a disk drive, a scanner, or the network.

Crucial Threads

Threads become even more crucial for Copland, which itself will use threads, as well as a new I/O architecture. Count on the Copland I/O architecture's reliance on concurrent I/O, if only for r easons of performance.

Keep in mind, however, that the applications that will make the best use of Copland's threaded nature will not appear overnight. System 7.5 thus serves as an important bridge: It makes the Thread Manager available now, so software designers can start rethinking the structure of their applications. As a result, such applications can make the best use of the Mac, both now and on a future Mac OS.


System 7.5 Features



-- Enhanced user interface
-- Apple Guide, a new interactive help system
-- AppleTalk and TCP protocol stacks
-- PowerTalk collaboration software
-- AppleScript
-- Telephone Manager, which provides telephony functions
-- QuickDraw GX, which provides new graphics functions 
   and improved printing services
-- SCSI Manager 4.3, for more efficient SCSI peripheral I/O
-- Thread Manager, which offers thread capabilities for applications design


Illustration: Apple Guide in operation.
Tom Thompso n, a BYTE senior technical editor at large, is an Associate Apple Developer and author of Power Macintosh Programming Starter Kit (Hayden, 1994). You can contact him on AppleLink as T.THOMPSON or on the Internet or BIX at tom_thompson@bix.com .

Up to the Core Technologies section contentsGo to previous article: A Different Kind of RISCGo to next article: SNMP Version 2SearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network