Copland Technical Overview.Pdf
Total Page:16
File Type:pdf, Size:1020Kb
Copland Technical Overview Draft Developer Press Apple Computer, Inc. 1995 This document was created with FrameMaker 4.0.4 Apple Computer, Inc. Adobe Photoshop is a trademark of Even though Apple has reviewed this 1995 Apple Computer, Inc. Adobe Systems Incorporated, which manual, APPLE MAKES NO All rights reserved. may be registered in certain WARRANTY OR REPRESENTATION, jurisdictions. EITHER EXPRESS OR IMPLIED, WITH No part of this publication may be RESPECT TO THIS MANUAL, ITS reproduced, stored in a retrieval Palatino is a registered trademark of QUALITY, ACCURACY, system, or transmitted, in any form Linotype Company. MERCHANTABILITY, OR FITNESS or by any means, mechanical, IBM is a registered trademark of FOR A PARTICULAR PURPOSE. AS A electronic, photocopying, recording, International Business Machines RESULT, THIS MANUAL IS SOLD “AS or otherwise, without prior written Corporation. IS,” AND YOU, THE PURCHASER, permission of Apple Computer, Inc. MacPaint and MacWrite are ARE ASSUMING THE ENTIRE RISK The Apple logo is a trademark of registered trademarks, and AS TO ITS QUALITY AND Apple Computer, Inc. Clarisworks is a trademark, of Claris ACCURACY. Use of the “keyboard” Apple logo Corporation. IN NO EVENT WILL APPLE BE (Option-Shift-K) for commercial NuBus is a trademark of Texas LIABLE FOR DIRECT, INDIRECT, purposes without the prior written Instruments. SPECIAL, INCIDENTAL, OR consent of Apple may constitute PowerPC is a trademark of trademark infringement and unfair CONSEQUENTIAL DAMAGES International Business Machines RESULTING FROM ANY DEFECT OR competition in violation of federal Corporation, used under license and state laws. INACCURACY IN THIS MANUAL, therefrom. even if advised of the possibility of such No licenses, express or implied, are UNIX is a registered trademark of damages. granted with respect to any of the Novell, Inc. in the United States and THE WARRANTY AND REMEDIES technology described in this book. other countries, licensed exclusively SET FORTH ABOVE ARE EXCLUSIVE Apple retains all intellectual through X/Open Company, Ltd. property rights associated with the AND IN LIEU OF ALL OTHERS, ORAL technology described in this book. Simultaneously published in the OR WRITTEN, EXPRESS OR IMPLIED. This book is intended to assist United States and Canada. No Apple dealer, agent, or employee is application developers to develop authorized to make any modification, applications only for Apple extension, or addition to this warranty. Macintosh computers. Some states do not allow the exclusion Every effort has been made to or limitation of implied warranties or ensure that the information in this liability for incidental or consequential manual is accurate. Apple is not damages, so the above limitation or responsible for typographical errors. exclusion may not apply to you. This Apple Computer, Inc. warranty gives you specific legal rights, 1 Infinite Loop and you may also have other rights Cupertino, CA 95014 which vary from state to state.. 408-996-1010 Apple, the Apple logo, AppleLink, AppleShare, AppleTalk, GeoPort, HyperCard, ImageWriter, LaserWriter, LocalTalk, Macintosh, MacTCP, PowerBook, Power Macintosh, PowerTalk, QuickTime, TrueType, and WorldScript are trademarks of Apple Computer, Inc., registered in the United States and other countries. AppleScript, Balloon Help, Chicago, Finder, Geneva, Mac, Mac OS logo, OpenDoc, and QuickDraw are trademarks of Apple Computer, Inc. Draft. Confidential. Apple Computer, Inc. 5/5/95 This document was created with FrameMaker 4.0.4 Contents Preface About Copland ix Chapter 1 About the Copland Human Interface and Toolbox 1-1 Compatibility—Backward and Forward 1-4 Design Goals for the Copland Human Interface 1-5 About the Copland Human Interface 1-6 Appearance and Customization 1-6 Themes 1-7 The Appearance Control Panel 1-10 Standard Human Interface Elements and Primitives 1-11 Multiple Workspaces 1-12 Active Assistance 1-14 Apple Guide Enhancements 1-16 Delegated Tasks 1-18 Information Access 1-23 About the Copland Toolbox 1-25 Overview of the Copland Toolbox 1-25 Opacity and Consistency 1-25 Integrated Support for International Text 1-26 Extensible Data Structures 1-27 Extensible Designs 1-27 Summary of New Toolbox Features 1-29 Appearance Manager 1-29 Desktop Animation Manager 1-32 Panels 1-33 Menu Manager 1-35 Window Manager 1-36 Control Manager 1-38 Dialog Manager 1-39 Scrap Manager, Clipboard Manager, and Drag Manager 1-40 Icon Utilities 1-41 iii Draft. Preliminary, Confidential. Apple Computer, Inc. 5/6/95 This document was created with FrameMaker 4.0.4 Chapter 2 About Copland Imaging 2-1 Compatibility—Backward and Forward 2-3 Design Goals for Copland Imaging 2-4 Graphics Systems Integration 2-4 Text Objects 2-5 Font Handling 2-6 Preparing Your Application for Copland 2-7 Chapter 3 About Copland Processes 3-1 System 7 Application Compatibility 3-4 Design Goals for Copland Process Management 3-4 Processes 3-4 Cooperative Processes 3-5 Server Processes 3-7 Tasks 3-8 Cooperative Threads and Preemptive Tasks 3-9 Task Scheduling 3-10 Task Communication 3-11 Task Synchronization 3-12 Copland Execution Environments 3-14 Task Level 3-15 Software Interrupt Level 3-15 Secondary Interrupt Level 3-16 Hardware Interrupt Level 3-17 Exceptions 3-18 Chapter 4 About the Copland Runtime Environment 4-1 Compatibility—Backward and Forward 4-3 Design Goals for the Copland Runtime Environment 4-4 Fragments 4-5 Shared Libraries 4-6 Memory Organization 4-9 Memory Protection 4-11 iv Draft. Preliminary, Confidential. Apple Computer, Inc. 5/6/95 Virtual Memory 4-13 Heap Management 4-15 Extending the System 4-19 Chapter 5 About the Copland I/O Architecture 5-1 Introduction 5-4 Families 5-7 Plug-ins 5-10 Design Goals for the Copland I/O Architecture 5-12 Short-Term Design Goals 5-12 Long-Term Design Goals 5-13 Architectural Features 5-15 Driver Loader Library 5-15 Driver Services Library 5-15 Booting Services 5-16 Power Management 5-16 User Activity Monitor 5-17 Support for Hot Swappable Devices 5-18 A Closer Look 5-18 Families 5-18 Family Programming Interfaces 5-19 Family Communications 5-20 Plug-ins 5-21 Extending Family Programming Interfaces 5-21 Sharing Code and Data Between Plug-ins 5-23 Activation Models 5-24 Single-Task Model 5-25 Task-per-Plug-in Model 5-27 Task-per-Request Model 5-30 Family Programming Issues 5-32 Name Registry 5-33 Compatibility—Backward and Forward 5-34 If You Develop Device Drivers 5-35 Separation of Application and Device Driver Interfaces 5-37 Common Packaging of Loadable Software 5-37 v Draft. Preliminary, Confidential. Apple Computer, Inc. 5/6/95 If You Develop Applications 5-38 Device Manager Compatibility 5-39 Chapter 6 About the Copland File Manager 6-1 Compatibility—Backward and Forward 6-3 Design Goals for the Copland File Manager 6-4 Features of the Copland File Manager 6-4 Increased Speed 6-4 An Improved HFS Volume Format 6-5 Support for Third-Party Volume Formats 6-6 Ease of Development 6-6 Clearer and More Streamlined APIs 6-6 Event Notification 6-7 New Concepts Behind the Copland File Manager 6-7 FSProperties 6-7 FSObjects 6-8 FSLinks 6-9 Future Plans 6-11 Preparing Your Product for the Copland File Manager 6-11 Chapter 7 About Copland Networking 7-1 Compatibility—Backward and Forward 7-3 Design Goals for Open Transport 7-4 Cross-Platform Standards 7-6 Preparing Your Application for Copland 7-7 Chapter 8 About the Copland PowerTalk Environment 8-1 Compatibility—Backward and Forward 8-3 Design Goals for PowerTalk on Copland 8-4 New Features for PowerTalk 8-4 Operating System Integration 8-5 Preparing Your Application for Copland 8-5 vi Draft. Preliminary, Confidential. Apple Computer, Inc. 5/6/95 Glossary GL-1 vii Draft. Preliminary, Confidential. Apple Computer, Inc. 5/6/95 viii Draft. Preliminary, Confidential. Apple Computer, Inc. 5/6/95 PREFACE About Copland Copland is the development name for the next major release of the Mac OS. This document presents an overview of the design of Copland, describes many of the benefits that its implementation offers to the users of your software or hardware products, and discusses how your products can take advantage of Copland’s new features. With Copland, Apple Computer is redesigning the core of the Mac OS to provide concurrency, higher performance, and enhanced stability. Featuring a modular, microkernel design, this new OS provides ■ preemptive task scheduling ■ memory protection for critical system code and data, such as device drivers and file system extensions ■ improved virtual memory ■ a shared, dynamically loaded, file-mapped version of the Mac OS ■ a concurrent and more flexible File Manager ■ a new, higher performance, concurrent I/O architecture Copland also delivers dramatic improvements in ease of use and new customizing capabilities. Significant improvements to the Macintosh user experience include ■ coordinated sets of designs—affecting the appearance of onscreen human interface elements, such as windows, menus, fonts, and controls—with which users can personalize their computers ■ the ability for multiple users to individually customize and share a single computer ■ visual and behavioral consistency among commonly implemented human interface elements, such as floating windows, slider controls, and tear-off menus ■ better access to documents and related information from within an application and from the Finder ix Draft. Preliminary, Confidential. Apple Computer, Inc. 5/6/95 This document was created with FrameMaker 4.0.4 PREFACE ■ a system for helping users achieve their goals instead of