Mac OS X Primer

Today's Best Tech Deals

Picked by Macworld's Editors

Top Deals On Great Products

Picked by Techconnect's Editors

1 2 3 Page 2
Page 2 of 3

The graphics engine of Mac OS X is known as Quartz and is based on Adobe's Internet- Portable Document Format (PDF), a superset of PostScript. PDF has several advantages over Postscript, including better color management, internal compression, font independence, and interactivity. And, hey, PDF is also is a free and open standard, which saves Apple from paying Postscript licensing fees.

Apple says that since this capability is available to all Mac OS X applications, Mac developers have a whole new palette of creative tools. Of course, much of this functionality is available to current Mac OS users through vector graphics applications. But Quartz moves the functionality into the OS itself.

Using PDF, the new Quartz 2D graphics system delivers on-the-fly rendering, anti-aliasing and compositing of PostScript graphics with, promises Apple, pristine quality. Quartz should make onscreen graphic elements sharper than ever, even when their size is increased.

You can see the power of Quartz in the Mac OS X Aqua interface itself. Using Quartz's compositing engine, Aqua creates translucent controls and menus, and gives the system visual depth with drop shadows around the edges of windows. And Apple has included built-in support for PDF, which means you can embed and manipulate PDF data with any Mac OS X application -- and even "Save to PDF." So you can easily create Quartz-enhanced, graphics-rich documents that are easily shared.

Apple says that since this capability is available to all Mac OS X applications, Mac developers have a whole new palette of creative tools. Of course, much of this functionality is available to current Mac OS users through vector graphics applications. But Quartz moves the functionality into the OS itself.

In this case, a picture -- or rather a QuickTime movie -- is worth a thousand words. Go to Apple's Web site to see the Quartz PDF Generator in action. Watch as the vector images are rendered fully antialiased and in real time.

Apple has also integrated OpenGL -- the 3D technology used by games like Quake 3 Arena from id Software, Madden 2000 from Electronic Arts and Star Wars Racer from LucasArts Learning -- into Mac OS X. The company claims that X's state-of-the-art plumbing in Darwin actually ratchets up OpenGL's performance to a "whole new level on Mac OS X, making it the ultimate PC platform for 3D games and graphics."

Naturally, Mac OS X includes QuickTime technology -- version 5, in fact -- the Internet standard for multimedia and the engine that powers iMovie and Final Cut Pro, Apple's cutting edge digital video editing software. QuickTime lets you watch live streaming online events, play your favorite MP3 audio tracks, or create your own home videos. Mac OS X applications can embed any kind of audio, video, or image data that QuickTime can handle -- pretty much the whole spectrum of anything worth seeing, watching or hearing on the Internet -- giving you the tools to create spellbinding documents.

Darwin

The core of Mac OS X is dubbed Darwin, a "super modern" kernel that offers, among other things, protected memory, preemptive multitasking, a Mach microkernel, and lots of Unix power features. (A kernel is a program that manages all or most of the operating system services necessary to control a computer, such as task and file management, device input and output, and memory allocation. A microkernel is the program that manages a small, but vital, subset of the operating services, such as memory and synchronization.)

Darwin has been "open sourced" by Apple. This means that Apple has posted the underlying programming commands of Darwin, called source code, on its Web site. If they agree to Apple's license agreement, developers can download the source code from the Darwin Web site, change it, and include it in their own products without paying royalties or license fees.

However, developers must make their source-code modifications publicly available, and Apple can incorporate any changes into future versions of Mac OS X. By working with the open source community, Apple hopes to use licensee's tweaks and suggestions to enhance the feature set, performance and quality of X products. By the way, Apple was the first provider of a mainstream operating system to release its source code to the public and base its system software strategy on open source technologies.

"The Open Source movement is revolutionizing the way operating systems evolve, and Apple is leading the industry by becoming the first major OS provider to make it's core operating system available to Open Source developers," Avie Tevanian, Apple's senior vice president of software engineering, has said. "We look forward to working with the Open Source community to enhance the feature set, performance and quality of our Mac OS X products."

The first release of Darwin consists of the foundation layer of Mac OS X, including enhancements to the Mach 2.5 microkernel and BSD 4.4 operating system, as well as core Apple technologies like AppleTalk, HFS+ file system and the NetInfo distributed database.

The system's kernel, which does the heavy lifting to support all those rich applications, is based on Mach 3.0 from Carnegie-Mellon University and FreeBSD 3.2 (derived from the University of California at Berkeley's BSD 4.4-Lite).

According to Apple, Darwin incorporates the time-tested BSD networking stack, the basis of the vast majority of TCP/IP implementations on the Internet today. In partnership with the Darwin open source community, the company says it's extended it to also support the next-generation Internet Protocol IPv6. Apple says Darwin provides built-in support for PPP and IPsec, "allowing users to securely access remote networks," as well as offering full support for AppleTalk "to ensure smooth interoperability with existing Macintosh networks."

Preemptive multitasking

X will mark the spot when it comes to preemptive multitasking, the ability of applications to interrupt each other, do some processing, and surrender control to other processes when necessary.

The current Mac OS can (sorta) do multitasking, but not very effectively, using what is called "cooperative multitasking." Under this system, apps require pre-defined size information in order to tell the system what resources they require. Programs must explicitly tell the Mac OS when they can be interrupted.

On the other hand, preemptive multitasking forces applications to share processing time. It's a historical feature of intrinsically multitasking operating systems such as Unix. And, to oversimplify matters, a Unix engine powers Mac OS X. In Apple's words, preemptive multitasking "works like an air traffic controller, watching over your computer's processor -- prioritizing tasks, making sure activity levels are at maximum, and ensuring that every task gets the resources it needs."

In other words, it will make your daily use of your Mac easier. You'll be able to search the Web while transforming a Photoshop file while checking your e-mail. Sure your Mac can (sort of) do this now, but Apple says it will do it better under Mac OS X. It will let your system handle several different tasks at once, giving priority to your primary application, but still crunching away at other jobs in the background. In Apple's words, preemptive multitasking "works like an air traffic controller, watching over your computer's processor -- prioritizing tasks, making sure activity levels are at maximum, and ensuring that every task gets the resources it needs."

The current Mac OS supports multitasking, but does what is called "cooperative multitasking." Under this system, apps require pre-defined size information in order to tell the system what resources they require. Programs must explicitly tell the Mac OS when they can be interrupted. Preemptive multitasking forces applications to share processing time, and is a historical feature of intrinsically multitasking operating systems such as Unix.

Darwin -- the subset of Mac OS X that consists of the Unix part of Mac OS X -- makes preemptive multitasking possible. Darwin sets processor priorities depending on the importance of the task. When something more important comes along, the controller prioritizes it over other tasks in the queue, according to Apple. Also, preemptive multitasking is another fringe benefit of the use of the Mach in Mac OS X. Mach is the OX kernel, the lowest level component of the OS that controls access to memory and hardware devices; Mach will perform all task scheduling.

Preemptive multitasking also makes efficient use of your computer by keeping the processor as busy as possible. For example, because the CPU (central processing unit) executes instructions faster than I/O devices transfer data, the microkernel (Mach) will suspend the execution of an application that's waiting for data to come off a disk. The operating system then schedules other operations for execution, keeping the CPU busy even while the program is waiting for data from the disk.

Multi-threading

Another snazzy, under-the-hood feature of Mac OS X is multi-threading. This one's a bit complicated so bear with me. A thread is a path of execution, a subprocess that runs within the context of a "parent" process, sharing access to the data and other resources of their parent. For example, one thread in a program might handle user interactions, another might tackle calculations, and a third thread might deal with input-output operations.

With Mac OS X, developers can divide operations so that they're performed by more than one process, by more than one task in a single process, or by more than one cooperatively scheduled thread within a single task. Threads are usually started to manage different input and output events. One thread can be waiting for mouse clicks, a second monitors keyboard input, and a third performs screen updates.

While this probably sounds like gobbley gook to non-programmers, for we end users the result should be OS X native applications that run more efficiently. Since they share access to the resources of the parent process, they require fewer resources themselves. But if you want more techno-speak on the matter, read on.

You can have multiple paths of execution within a single task, developers can use cooperatively scheduled threads that are invoked from tasks. Such threads can be slated to execute only when the task that created them is running. Such threads are defined as cooperative because they turn over control to one another at programmatically defined times. This prevents one cooperatively scheduled thread from being preempted by another thread within the same task.

The current Mac OS uses preemptively scheduled tasks. The microkernel -- a teeny part of the operating services that are necessary to control a computer -- can butt in on these tasks at any time and cause them to execute in any order. But cooperatively scheduled threads can't interrupt each other. They turn over control to each other at developer-defined points.

Protected and virtual memory

One of the best features of Mac OS X will be protected memory. Protected memory means that the operating system won't let applications grab a hunk of memory that belongs to another app -- or to the operating system itself. By implementing this, Mac OS X will make your Mac more crash resistant.

In other words, Mac OS X will have a modern, robust protected memory architecture that allocates a unique address space for each application or process running on the computer. When apps and processes are isolated in their own memory space, they can't interfere with each other if one goes bad. And when one program starts acting naughty, Mac OS X will simply shut it down, close down its memory space, and let you continue working. You won't have to restart your computer.

When applications are isolated in their own memory space, they can't interfere with each other if one goes bad. And, perhaps best of all, you don't need to restart your computer. The computer simply shuts down the offending application and its memory space, letting you continue on your merry way without interruption.

"A reliable operating system should not only keep you operational, it should also protect your information from loss or corruption," Apple says about Mac OS X. "One of the ways an operating system ensures reliability is by protecting applications through a mechanism called protected memory (essentially walling off applications from each other). Darwin includes a modern, robust protected memory architecture that allocates a unique address space for each application or process running on the computer."

Along with the protected memory mechanism, Darwin provides a virtual memory (VM) manager to handle the protected memory space.

In the current Mac OS, the user selects whether to use virtual memory and how much to use through the Memory control panel. And the selections don't take place until you restart your Mac, at which time the OS allocates the user-specific amount of VM and its corresponding disk space. Launch applications and the operating system allocates fixed size memory partitions.

VM is always on in Mac OS X. You don't have to "turn it on" and, in fact, you can't turn it off. And it's dynamically allocated; in other words, you don't have to specify a fixed amount for it.

1 2 3 Page 2
Page 2 of 3
  
Shop Tech Products at Amazon