Mac OS 8 Revealed

Mac OS 8 Revealed

•••••••••••••••••••••••••••••••••••••••••••• Mac OS 8 Revealed Tony Francis Addison-Wesley Developers Press Reading, Massachusetts • Menlo Park, California • New York Don Mills, Ontario • Harlow, England • Amsterdam Bonn • Sydney • Singapore • Tokyo • Madrid • San Juan Seoul • Milan • Mexico City • Taipei Apple, AppleScript, AppleTalk, Color LaserWriter, ColorSync, FireWire, LocalTalk, Macintosh, Mac, MacTCP, OpenDoc, Performa, PowerBook, PowerTalk, QuickTime, TrueType, and World- Script are trademarks of Apple Computer, Inc., registered in the United States and other countries. Apple Press, the Apple Press Signature, AOCE, Balloon Help, Cyberdog, Finder, Power Mac, and QuickDraw are trademarks of Apple Computer, Inc. Adobe™, Acrobat™, and PostScript™ are trademarks of Adobe Systems Incorporated or its sub- sidiaries and may be registered in certain jurisdictions. AIX® is a registered trademark of IBM Corp. and is being used under license. NuBus™ is a trademark of Texas Instruments. PowerPC™ is a trademark of International Business Machines Corporation, used under license therefrom. SOM, SOMobjects, and System Object Model are licensed trademarks of IBM Corporation. UNIX® is a registered trademark of Novell, Inc. in the United States and other countries, licensed exclusively through X/Open Company, Ltd. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and Addison-Wesley was aware of a trademark claim, the designations have been printed in initial capital letters or all capital letters. The author and publisher have taken care in the preparation of this book, but make no express or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. Library of Congress Cataloging-in-Publication Data Francis, Tony, 1956– Mac OS 8 revealed / Tony Francis. p. cm. Includes index. ISBN 0-201-47955-9 1. Mac OS 8. 2. Operating systems (Computers) I. Title. QA76.76.063F76 1996 005.4'469--dc20 96-25119 CIP Copyright © 1996 Apple Computer, Inc. Developers Press is a division of Addison-Wesley Publishing Company, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or oth- erwise, without the prior written permission of the publisher. Printed in the United States of Amer- ica. Published simultaneously in Canada. Sponsoring Editor: Keith Wollman Project Manager: Sarah Weaver Cover design: Suzanne Heiser Text design: Kim Arney Set in 10 point Sabon by Tony Francis and Vicki Hochstedler 1 2 3 4 5 6 7 8 9 - MA - 0099989796 First printing, August 1996 Addison-Wesley books are available for bulk purchases by corporations, institutions, and other or- ganizations. For more information please contact the Corporate, Government, and Special Sales Department at (800) 238-9682. Find A-W Developers Press on the World-Wide Web at: http://www.aw.com/devpress/ To Muzzy and Sharon, for teaching me kindness, and to Jeri Ann, for teaching me the telemark turn. •••••••••••••••••••••••••••••••••••••••••••• Contents List of Figures xi Preface xv Who Might Find This Book Helpful xv How to Navigate This Book xvi How to Navigate the Book CD-ROM xviii Cautions About a Changing Environment xx Acknowledgments xxi 1 A Scenic Tour of the User’s Environment 1 Major Points of Interest 2 Flexibility in the Computer Environment 3 An Easier-to-Use Platform 11 Increased System Performance 18 v vi CONTENTS Higher-Performing Versions of Macintosh Technologies 20 Summary 23 2 Orientation to the Mac OS 8 Platform 25 Key Terms and Concepts 26 Major Points of Interest 27 The Hardware 30 The Operating System 30 Application-Level Software 36 Summary 39 3 Address Spaces and Memory Protection 41 Key Terms and Concepts 42 Major Points of Interest 42 The Cooperative Program Address Space 43 Protected Address Spaces for Server Programs 45 Address Space Switching by the Microkernel 46 System-Wide and Shared Memory Areas 48 Additional Forms of Memory Protection 50 Summary 52 Planning a Product for Mac OS 8 53 4 The Architecture of the Multitasking Mac 55 Key Terms and Concepts 56 Major Points of Interest 57 Processes and Tasks 59 Task Scheduling 61 Summary 70 Planning a Product for Mac OS 8 70 5 Multithreaded Programs 71 Key Terms and Concepts 72 Major Points of Interest 73 Threading 73 Interprocess Communication and Data Synchronization 80 Summary 85 Planning a Product for Mac OS 8 85 CONTENTS vii 6 The Virtual Memory System 87 Key Terms and Concepts 88 Major Points of Interest 88 The Organization of Virtual Memory 91 The Backing Provider 93 Memory-Mapped Files 94 Scratch Files 95 Summary 95 Planning a Product for Mac OS 8 96 7 Dynamic Storage Allocation 97 Key Terms and Concepts 98 Major Points of Interest 99 Dynamic Storage-Allocation Service 100 The Memory Manager for System 7 Applications 104 Summary 106 Planning a Product for Mac OS 8 106 8 The Run-Time Environment 109 Key Terms and Concepts 110 Major Points of Interest 111 Fragments 114 Shared Libraries 115 Static Data Instantiation 119 Run-Time–Environment Support for System 7 Applications 121 Summary 125 Planning a Product for Mac OS 8 125 9 Software Extensibility 127 Key Terms and Concepts 128 Major Points of Interest 128 Extending Software with OpenDoc 130 Extending Software Through Shared Libraries 131 Extending Software Through the System Object Model 133 Extending Software with Server Programs 137 Extending Software with the Patch Manager 138 Summary 139 Planning a Product for Mac OS 8 140 viii CONTENTS 10 Files and File System Navigation 143 Key Terms and Concepts 144 Major Points of Interest 145 The Organization of Information on Storage Devices 149 The Programming Interface to the File System 151 Volume Formats and Volume Format Plug-Ins 154 The File System and the Virtual Memory System 155 The Navigation Services 156 Summary 158 Planning a Product for Mac OS 8 158 11 Architecture of the I/O System 161 Key Terms and Concepts 162 Major Points of Interest 162 I/O System Reliability Features 165 I/O Families 166 System 7 Compatibility Issues 172 Summary 174 Planning a Product for Mac OS 8 174 12 Human Interface Toolbox 177 Key Terms and Concepts 178 Major Points of Interest 179 Themes 182 Workspaces 183 Human Interface Objects 184 Imaging Objects 200 Programming Characteristics of the Toolbox 201 Summary 207 Planning a Product for Mac OS 8 208 13 Assistance Services 211 Key Terms and Concepts 212 Major Points of Interest 213 Expert Assistance 215 The Architecture of the Expert Assistance Services 217 Help Information Services 221 Summary 227 Planning a Product for Mac OS 8 228 CONTENTS ix 14 Events 229 Key Terms and Concepts 230 Major Points of Interest 230 Event Handling 232 Scriptability 237 Apple Events and the Human Interface Toolbox 237 Event Handling for One or More Tasks 238 Summary 242 Planning a Product for Mac OS 8 243 15 Landmark Imaging and Multimedia Technologies 245 Key Terms and Concepts 246 Major Points of Interest 246 Taking Advantage of Mac OS 8 Capabilities 247 Integrated Imaging Systems 250 QuickTime Multimedia 261 A History of Mac OS Imaging and Multimedia Features 265 Summary 266 Planning a Product for Mac OS 8 267 16 Landmark Networking Technologies 269 Key Terms and Concepts 270 Major Points of Interest 270 Cyberdog 272 QuickDraw 3D and QuickTime Multimedia on the Internet 274 Open Transport Network Architecture 275 A History of Mac OS Networking Features 277 Summary 278 Planning a Product for Mac OS 8 279 Glossary 281 Index 323 •••••••••••••••••••••••••••••••••••••••••••• List of Figures P.1 A screen shot from Mac OS 8, with an accompanying CD-ROM movie xviii 1.1 A simple workspace for a novice user 4 1.2 A workspace for an intermediate user 4 1.3 A workspace for an advanced user 5 1.4 The default theme 7 1.5 A futuristic-looking theme 7 1.6 A theme for children 8 1.7 Common Hardware Reference Platform (CHRP) flexibility 9 1.8 A setup expert helping the user configure a computer 12 1.9 A tip for using an application more efficiently 13 1.10 Dragging a file onto a folder icon 14 1.11 Navigating folders by dragging a file to another icon 14 1.12 Saving the contents of a Find window 15 1.13 Document-related information for opening files 16 1.14 Pop-up window title bars 17 1.15 An opened pop-up window 17 1.16 Performing multiple operations concurrently 19 2.1 Major components of the Mac OS 8 platform 28 2.2 Reentrant and cooperative services on the modular Mac OS 8 platform 29 2.3 The microkernel and other modularized reentrant services 32 2.4 Interactions involving a server program and a cooperative program 39 xi xii LIST OF FIGURES 3.1 Cooperative programs sharing an address space 44 3.2 Server programs protected by separate address spaces 46 3.3 Switching between address spaces 47 3.4 System-wide memory areas 49 3.5 A memory area with guard pages 52 4.1 Multitasked operations in Mac OS 8 57 4.2 Memory areas for a Mac OS 8 process with one task 60 4.3 Memory areas for a Mac OS 8 process with two tasks 61 4.4 A task blocking on a synchronous I/O operation 62 4.5 Preemptive task scheduling by the microkernel 64 4.6 Execution time divided by time slices for tasks with equal priority 65 4.7 Making all calls to cooperative services from the main task of a cooperative program 67 4.8 Cooperative

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    359 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us