Mac OS X Technology Overview

Total Page:16

File Type:pdf, Size:1020Kb

Mac OS X Technology Overview Mac OS X Technology Overview 2006-06-28 Finder, Safari, Spotlight, Tiger, and Xserve Apple Inc. are trademarks of Apple Inc. © 2004, 2006 Apple Computer, Inc. Adobe, Acrobat, and PostScript are All rights reserved. trademarks or registered trademarks of Adobe Systems Incorporated in the U.S. No part of this publication may be and/or other countries. reproduced, stored in a retrieval system, or transmitted, in any form or by any means, Intel and Intel Core are registered mechanical, electronic, photocopying, trademarks of Intel Corportation or its recording, or otherwise, without prior subsidiaries in the United States and other written permission of Apple Inc., with the countries. following exceptions: Any person is hereby Java and all Java-based trademarks are authorized to store documentation on a trademarks or registered trademarks of Sun single computer for personal use only and Microsystems, Inc. in the U.S. and other to print copies of documentation for countries. personal use provided that the OpenGL is a registered trademark of Silicon documentation contains Apple’s copyright Graphics, Inc. notice. PowerPC and and the PowerPC logo are The Apple logo is a trademark of Apple Inc. trademarks of International Business Use of the “keyboard” Apple logo Machines Corporation, used under license (Option-Shift-K) for commercial purposes therefrom. without the prior written consent of Apple UNIX is a registered trademark of The Open may constitute trademark infringement and Group unfair competition in violation of federal and state laws. Simultaneously published in the United States and Canada. No licenses, express or implied, are granted with respect to any of the technology Even though Apple has reviewed this document, APPLE MAKES NO WARRANTY OR described in this document. Apple retains REPRESENTATION, EITHER EXPRESS OR all intellectual property rights associated IMPLIED, WITH RESPECT TO THIS DOCUMENT, ITS QUALITY, ACCURACY, with the technology described in this MERCHANTABILITY, OR FITNESS FOR A document. This document is intended to PARTICULAR PURPOSE. AS A RESULT, THIS DOCUMENT IS PROVIDED “AS IS,” AND assist application developers to develop YOU, THE READER, ARE ASSUMING THE applications only for Apple-labeled or ENTIRE RISK AS TO ITS QUALITY AND Apple-licensed computers. ACCURACY. IN NO EVENT WILL APPLE BE LIABLE FOR Every effort has been made to ensure that DIRECT, INDIRECT, SPECIAL, INCIDENTAL, the information in this document is OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT OR accurate. Apple is not responsible for INACCURACY IN THIS DOCUMENT, even if typographical errors. advised of the possibility of such damages. THE WARRANTY AND REMEDIES SET Apple Inc. FORTH ABOVE ARE EXCLUSIVE AND IN 1 Infinite Loop LIEU OF ALL OTHERS, ORAL OR WRITTEN, Cupertino, CA 95014 EXPRESS OR IMPLIED. No Apple dealer, agent, or employee is authorized to make any 408-996-1010 modification, extension, or addition to this warranty. .Mac is a service mark of Apple Inc. Some states do not allow the exclusion or limitation of implied warranties or liability for Apple, the Apple logo, AirPort, AirPort incidental or consequential damages, so the above limitation or exclusion may not apply to Extreme, AppleScript, AppleScript Studio, you. This warranty gives you specific legal AppleShare, AppleTalk, Aqua, Bonjour, rights, and you may also have other rights which Carbon, Cocoa, ColorSync, eMac, Final Cut, vary from state to state. Final Cut Pro, FireWire, iBook, iCal, iTunes, Keychain, Mac, Mac OS, Macintosh, Objective-C, Pages, Quartz, QuickDraw, QuickTime, Sherlock, TrueType, Velocity Engine, WebObjects, Xcode, and Xgrid are trademarks of Apple Inc., registered in the United States and other countries. Contents Introduction Introduction to Mac OS X Technology Overview 11 Who Should Read This Document 11 Organization of This Document 11 Getting the Xcode Tools 12 Reporting Bugs 12 See Also 13 Developer Documentation 13 Information on BSD 13 Darwin and Open Source Development 14 Other Information on the Web 14 Chapter 1 Mac OS X Architectural Overview 15 A Layered Look at the Mac OS X Architecture 15 Mac OS X Runtime Architecture 16 Dyld Runtime Environment 17 CFM Runtime Environment 17 The Classic Environment 18 Chapter 2 Software Development Overview 21 Application Environments 21 Carbon 21 Cocoa 22 Java 23 AppleScript 23 WebObjects 24 BSD and X11 24 Frameworks 25 Plug-ins 25 Address Book Action Plug-Ins 26 Application Plug-Ins 26 Automator Plug-Ins 26 Contextual Menu Plug-Ins 27 Core Audio Plug-Ins 27 Image Units 27 Input Method Components 27 3 2006-06-28 | © 2004, 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Metadata Importers 28 QuickTime Components 28 Safari Plug-ins 28 Dashboard Widgets 29 Agent Applications 29 Screen Savers 29 Slideshows 30 Programmatic Screen Savers 30 Services 30 Preference Panes 31 Web Content 31 Dynamic Websites 31 Sherlock Channels 32 SOAP and XML-RPC 32 Command-Line Tools 32 Login Items 33 Scripts 34 Scripting Additions for AppleScript 35 Kernel Extensions 35 Device Drivers 36 Chapter 3 System-Level Technologies 37 Core OS 37 Darwin 37 Network Support 41 Velocity Engine 45 Java Support 45 64-Bit Support 46 Graphics, Imaging, and Multimedia 46 Quartz 46 QuickTime 49 OpenGL 50 OpenAL 51 Core Audio 51 Core Image 51 Core Video 52 ColorSync 52 DVD Playback 53 Printing 53 Text and Fonts 54 QuickDraw 55 Interprocess Communication 55 Distributed Objects for Cocoa 55 Apple Events 55 Distributed Notifications 56 4 2006-06-28 | © 2004, 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS BSD Notifications 56 Sockets, Ports, and Streams 57 BSD Pipes 57 Shared Memory 58 Mach Messaging 58 User Experience 58 Aqua 58 Accessibility 59 AppleScript 59 Bundles and Packages 60 Fast User Switching 60 Internationalization and Localization 61 Software Configuration 61 Spotlight 62 System Applications 62 The Finder 62 The Dock 63 Chapter 4 Application-Level Technologies 65 Address Book 65 Bonjour 66 Core Data 66 Core Foundation 67 Disc Recording 67 Help 68 Human Interface Toolbox 68 iChat Presence 68 Image Capture 69 Ink 69 Keychain Services 69 Launch Services 70 Open Directory 70 PDF Kit 70 QuickTime Kit 71 Search Kit 71 Security Services 72 Speech Technologies 72 SQLite 73 Sync Services 73 Web Kit 73 Web Service Access 74 XML Parsing 74 5 2006-06-28 | © 2004, 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Chapter 5 Choosing Technologies to Match Your Design Goals 75 High Performance 75 Easy to Use 76 Attractive Appearance 78 Reliability 79 Adaptability 80 Interoperability 81 Mobility 82 Chapter 6 Porting Tips 83 Carbon Considerations 83 Migrating From Mac OS 9 83 Use the Carbon Event Manager 85 Use the HIToolbox 85 Use Nib Files 85 Windows Considerations 85 64-Bit Considerations 87 Appendix A Command Line Primer 89 Basic Shell Concepts 89 Getting Information 89 Specifying Files and Directories 90 Accessing Files on Volumes 91 Flow Control 91 Frequently Used Commands 92 Environment Variables 93 Running Programs 94 Appendix B Mac OS X Frameworks 95 Umbrella Framework Contents 100 Accelerate Framework 100 Application Services Framework 101 Automator Framework 101 Carbon Framework 102 Core Services Framework 102 Quartz Framework 103 Web Kit Framework 103 System Libraries 104 Appendix C Mac OS X Developer Tools 105 Source Code Tools 105 6 2006-06-28 | © 2004, 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS Xcode 105 Compilers, Linkers, Build Tools 106 Library Utilities 107 Code Utilities 107 Visual Design Tools 109 AppleScript Studio 109 Automator 109 AU Lab 110 Interface Builder 111 Quartz Composer 112 Debugging and Tuning Tools 113 General 113 Memory 114 Graphics 114 Examining Code 115 Performance 116 KEXTs, Drivers, and Instruction Traces 117 Documentation and Help Tools 117 Localization Tools 118 Version Control Tools 119 RCS 119 CVS 120 Comparing Files 120 Packaging Tools 121 Scripting Tools 122 AppleScript Studio 122 Interpreters and Compilers 122 Script Language Converters 123 Perl Tools 123 Parsers and Lexical Analyzers 124 Documentation Tools 124 Java Tools 125 General 125 Java Utilities 125 Java Archive (JAR) Files 126 Kernel Extension Tools 126 I/O Kit Driver Tools 127 Document Revision History 129 Glossary 131 Index 143 7 2006-06-28 | © 2004, 2006 Apple Computer, Inc. All Rights Reserved. CONTENTS 8 2006-06-28 | © 2004, 2006 Apple Computer, Inc. All Rights Reserved. Figures and Tables Chapter 1 Mac OS X Architectural Overview 15 Figure 1-1 Layers of Mac OS X 15 Chapter 2 Software Development Overview 21 Table 2-1 Scripting language summary 34 Chapter 3 System-Level Technologies 37 Figure 3-1 Quartz Compositor and the rendering APIs in Mac OS X 49 Table 3-1 Supported local volume formats 40 Table 3-2 Supported network file-sharing protocols 40 Table 3-3 Network protocols 41 Table 3-4 Network technology support 43 Table 3-5 Quartz technical specifications 48 Table 3-6 Partial list of formats supported by QuickTime 50 Table 3-7 Features of the Mac OS X printing system 53 Chapter 5 Choosing Technologies to Match Your Design Goals 75 Table 5-1 Technologies for improving performance 76 Table 5-2 Technologies for achieving ease of use 77 Table 5-3 Technologies for achieving an attractive appearance 78 Table 5-4 Technologies for achieving reliability 79 Table 5-5 Technologies for achieving adaptability 80 Table 5-6 Technologies for achieving interoperability 81 Table 5-7 Technologies for achieving mobility 82 Chapter 6 Porting Tips 83 Table 6-1 Required replacements for Carbon 83 Table 6-2 Recommended
Recommended publications
  • Kutrace: Where Have All the Nanoseconds Gone?
    KUTrace: Where have all the nanoseconds gone? Richard Sites, Invited Professor EPFL 2017.10.27 Tracing Summit 2017, Prague Richard Sites 2017.10.27 Outline Observability problem statement KUTrace solution Tracing design goals Goals drive the design Results Display Design Comparisons Conclusions Richard Sites 2017.10.27 Observability problem statement Richard Sites 2017.10.27 3 Problem statement This talk is about tail latency in real user-facing datacenter transactions. It is not about batch processing throughput, nor about benchmarks. Context: A datacenter of perhaps 20,000 servers running software services that spread work for a user-facing transaction across a few hundred or thousand machines in parallel. Each server handles hundreds of transactions per second. Some transactions are unusually slow, but not repeatably. Slow transactions occur unpredictably, but there are several per minute. We wish to observe where all the time goes in such transactions, and observe why they are slow. Richard Sites 2017.10.27 Problem statement ☞ Some transactions are unusually slow, but not repeatably. ∴ There is some source of interference just before or during a slow transaction. Understanding tail latency requires complete traces of CPU events over a few minutes, with small enough CPU and memory overhead to be usable under busiest-hour live load. Existing tracing tools have much-too-high overhead. Problem: build better tail-latency observation tools Richard Sites 2017.10.27 KUTrace solution Richard Sites 2017.10.27 6 KUTrace solution KUTrace uses minimal Linux kernel patches on a single server to trace every transition between kernel- and user-mode execution, on every CPU core, with small enough overhead to use routinely on live loads.
    [Show full text]
  • Doxydoxygen User Guide Release 0.79.4
    DoxyDoxygen User Guide Release 0.79.4 20Tauri Aug 16, 2021 MANUAL 1 Welcome to DoxyDoxygen 1 2 Installation 3 2.1 Software installation with Package Control...............................3 2.2 Manual software installation.......................................3 2.3 License installation............................................4 2.4 EULA (End User License Agreement)..................................4 2.4.1 Licenses.............................................4 2.4.2 Description of other rights and limitations...........................4 2.4.3 No warranties..........................................5 3 Usage 7 3.1 Create a documentation block......................................7 3.2 Update / wrap an existing documentation block.............................8 3.3 Switch between comment styles.....................................9 3.4 Extend a documentation block......................................9 3.4.1 Auto-completion........................................9 3.4.2 Comment continuation..................................... 10 3.5 Navigate in documentation........................................ 10 3.5.1 Move to the right column.................................... 10 3.5.2 Follow references........................................ 10 3.6 Fold / Unfold comments......................................... 11 3.7 Translate................................................. 11 3.8 Generate documentation......................................... 12 4 Customization 13 4.1 Settings.................................................. 13 4.1.1 Understand
    [Show full text]
  • Use of the Protocol Generator
    Manual for the protocol generator Table of contents Manual for the protocol generator.....................................................................................................................1 Introduction..................................................................................................................................................3 Acknowledgements.......................................................................................................................................................3 Preparation and installation..........................................................................................................................4 Preparation for Presentation *.log file before acquiring data........................................................................................4 Installation......................................................................................................................................................................5 Using the protocol generator........................................................................................................................6 Activating the plugin......................................................................................................................................................6 Main menu.....................................................................................................................................................................7 Option 1: generating a protocol file..............................................................................................................8
    [Show full text]
  • Kinect in Mac: QC and Processing
    Kinect in Mac: Quartz Composer and Processing A brief tutorial by NIRTeam @ TEI Crete Contents ● Using Quartz Composer with Kinect ● Using Processing programming language with kinect ● 3D scanning using Kinect Quartz Composer (QC) ● Node-based visual programming language used mainly for processing and rendering graphics. ● Included in the Xcode developer tools package by Apple ● Quartz Composer uses OpenGL (including GLSL), OpenCL, Core Image, Core Video, JavaScript, and other technologies to build an API and a developer tool Data types inside QC Boolean - a boolean value, 0 or 1 Index - a positive integer between 0 and 2147483647 Number - a double precision floating point number String - a unicode string Color - an RGBA or CMYK quartet, or a Grayscale value Image - a 2D image of arbitrary (possibly infinite) dimensions Structure - a named or ordered collection of objects, including nested structures Virtual - any of the above Mesh - a collection of vertices, and per-vertex normals, texture coordinates, and colors in 3-space. Interaction - a valueless type used to associate user input with user-interactive elements of the composition. QC Programming QC Programming = connecting different nodes (Patches). QC Patches The patches are divided into three categories: 1. “Providers” 2. “Processors” 3. “Consumers” QC resources - http://kineme.net/ - http://quartzcomposer.com/compositions - http://www.quartzcompositions.com/ - http://guides.macrumors.com/Quartz_Composer Kinect & QC Kineme KinectTools plugin http://kineme.net/KinectTools Synapse plugin http://synapsekinect.tumblr.com/ v002 open Kinect example http://kineme.net/forum/Discussion/Programming/v002OpenKinectBeta Quartz-Composer-Open-Kinect-Plugin https://github.com/stoulouse/Quartz-Composer-Open-Kinect-Plugin UIO Kinect with TUIO client QC Plugin https://code.google.com/p/tuiokinect/ http://prdownloads.sourceforge.net/reactivision/TUIO_Quartz-1.4.zip?download Tryplex Toolkit http://code.google.com/p/tryplex/ Kinect & QC: Kineme KinectTools plugin ● Retrieves color and depth image data from the Kinect.
    [Show full text]
  • Fi Series Image Scanner Driver for Macos User's Guide
    P2ZZ-0370-02ENZ0 fi Series Image Scanner Driver for macOS User's Guide Contents Introduction 4 Trademarks......................................................................................................................................................... 4 Manufacturer...................................................................................................................................................... 4 Use in High-Safety Applications ........................................................................................................................ 4 Abbreviations Used in This Manual ................................................................................................................... 4 Screen Examples in This Manual........................................................................................................................ 5 Notice.................................................................................................................................................................. 5 How to Use the macOS Driver 6 macOS Driver Overview ...................................................................................................................................... 6 Supported Scanners............................................................................................................................................ 7 Provided Product Units......................................................................................................................................
    [Show full text]
  • Debugging Kernel Problems
    Debugging Kernel Problems by GregLehey Edition for AsiaBSDCon 2004 Taipei, 13 March 2004 Debugging Kernel Problems by GregLehey([email protected]) Copyright © 1995-2004 GregLehey 3Debugging Kernel Problems Preface Debugging kernel problems is a black art. Not manypeople do it, and documentation is rare, in- accurate and incomplete. This document is no exception: faced with the choice of accuracyand completeness, I chose to attempt the latter.Asusual, time was the limiting factor,and this draft is still in beta status. This is a typical situation for the whole topic of kernel debugging: building debug tools and documentation is expensive,and the people who write them are also the people who use them, so there'satendencytobuild as much of the tool as necessary to do the job at hand. If the tool is well-written, it will be reusable by the next person who looks at a particular area; if not, it might fall into disuse. Consider this book a starting point for your own develop- ment of debugging tools, and remember: more than anywhere else, this is an area with ``some as- sembly required''. Debugging Kernel Problems 4 1 Introduction Operating systems fail. All operating systems contain bugs, and theywill sometimes cause the system to behave incorrectly.The BSD kernels are no exception. Compared to most other oper- ating systems, both free and commercial, the BSD kernels offer a large number of debugging tools. This tutorial examines the options available both to the experienced end user and also to the developer. In this tutorial, we’ll look at the following topics: • Howand whykernels fail.
    [Show full text]
  • Headerdoc Unfettered
    HeaderDoc Unfettered May 27, 2004 CDB is a trademark of Third Eye Software, Apple Computer, Inc. Inc. © 1999, 2004 Apple Computer, Inc. Helvetica is a trademark of Heidelberger All rights reserved. Druckmaschinen AG, available from Linotype Library GmbH. No part of this publication may be reproduced, stored in a retrieval system, or Java and all Java-based trademarks are transmitted, in any form or by any means, trademarks or registered trademarks of Sun mechanical, electronic, photocopying, Microsystems, Inc. in the U.S. and other recording, or otherwise, without prior countries. written permission of Apple Computer, Inc., Simultaneously published in the United with the following exceptions: Any person States and Canada. is hereby authorized to store documentation Even though Apple has reviewed this manual, on a single computer for personal use only APPLE MAKES NO WARRANTY OR and to print copies of documentation for REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS MANUAL, personal use provided that the ITS QUALITY, ACCURACY, documentation contains Apple's copyright MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS notice. MANUAL IS SOLD ªAS IS,º AND YOU, THE PURCHASER, ARE ASSUMING THE ENTIRE The Apple logo is a trademark of Apple RISK AS TO ITS QUALITY AND ACCURACY. Computer, Inc. IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, Use of the ªkeyboardº Apple logo OR CONSEQUENTIAL DAMAGES (Option-Shift-K) for commercial purposes RESULTING FROM ANY DEFECT OR without the prior written consent of Apple INACCURACY IN THIS MANUAL, even if advised of the possibility of such damages.
    [Show full text]
  • Flexible and Automated Production of Full-Fledged Electronic Lectures Peter Ziewer
    Fakult¨at fur¨ Informatik der Technischen Universit¨at Munc¨ hen Flexible and Automated Production of Full-Fledged Electronic Lectures Peter Ziewer Institut fur¨ Informatik Lehrstuhl Informatik II Flexible and Automated Production of Full-Fledged Electronic Lectures Peter Ziewer Vollst¨andiger Abdruck der von der Fakult¨at fur¨ Informatik der Technischen Universit¨at Munc¨ hen zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Arndt Bode Prufer¨ der Dissertation: 1. Univ.-Prof. Dr. Helmut Seidl 2. Univ.-Prof. Dr. Johann Schlichter Die Dissertation wurde am 30. November 2006 bei der Technischen Universit¨at Munc¨ hen eingereicht und durch die Fakult¨at fur¨ Informatik am 24. Mai 2007 angenommen. Abstract This thesis describes the automated production of multimedia-based learning mate- rials. Recording of real live lectures enables a lightweight and cost-effective way of creating electronic lectures. The flexible screen grabbing technology can capture vir- tually any material presented during a lecture and furthermore can be integrated seamlessly into an existing teaching environment in a transparent manner, so that the teacher is not aware of the recording process. Throughout this thesis the design and development of a flexible and easy-to-use lec- turing environment on the basis of Virtual Network Computing (VNC) is explained. The VNC infrastructure and protocol is adapted to build up an environment that of- fers scalable transmission of live lectures and is capable of supplying a large number of distance students in parallel. Furthermore, the suggested system provides com- fortable lecture recording in order to produce electronic lectures for asynchronous replay at any time later.
    [Show full text]
  • Chapter 1. Origins of Mac OS X
    1 Chapter 1. Origins of Mac OS X "Most ideas come from previous ideas." Alan Curtis Kay The Mac OS X operating system represents a rather successful coming together of paradigms, ideologies, and technologies that have often resisted each other in the past. A good example is the cordial relationship that exists between the command-line and graphical interfaces in Mac OS X. The system is a result of the trials and tribulations of Apple and NeXT, as well as their user and developer communities. Mac OS X exemplifies how a capable system can result from the direct or indirect efforts of corporations, academic and research communities, the Open Source and Free Software movements, and, of course, individuals. Apple has been around since 1976, and many accounts of its history have been told. If the story of Apple as a company is fascinating, so is the technical history of Apple's operating systems. In this chapter,[1] we will trace the history of Mac OS X, discussing several technologies whose confluence eventually led to the modern-day Apple operating system. [1] This book's accompanying web site (www.osxbook.com) provides a more detailed technical history of all of Apple's operating systems. 1 2 2 1 1.1. Apple's Quest for the[2] Operating System [2] Whereas the word "the" is used here to designate prominence and desirability, it is an interesting coincidence that "THE" was the name of a multiprogramming system described by Edsger W. Dijkstra in a 1968 paper. It was March 1988. The Macintosh had been around for four years.
    [Show full text]
  • Optimization of System's Performance with Kernel Tracing by Cohort Intelligence
    I.J. Information Technology and Computer Science, 2017, 6, 59-66 Published Online June 2017 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijitcs.2017.06.08 Optimization of System’s Performance with Kernel Tracing by Cohort Intelligence Aniket B. Tate Dept. of Computer Engineering, Vishwakarma Institute of Information Technology, Pune, 411048, India E-mail: [email protected] Laxmi A. Bewoor Dept. of Computer Engineering, Vishwakarma Institute of Information Technology, Pune, 411048, India E-mail: [email protected] Abstract—Linux tracing tools are used to record the execution time etc. which shows better results. While events running in the background on the system. But scheduling a process on one of the cores, the scheduler these tools lack to analyze the log data. In the field of considers the average waiting time, turnaround time, time Artificial Intelligence Cohort Intelligence (CI) is recently quantum for a process, number of context switches, proposed technique, which works on the principle of self- earliness, the tardiness of process etc. But the scheduler learning within a cohort. This paper presents an approach does not take CPU load into consideration. As a result of to optimize the performance of the system by tracing the this, the cores get unevenly loaded and many of the cores system, then extract the information from trace data and will be kept in ideal state. Cohort Intelligence (CI) is pass it to cohort intelligence algorithm. The output of recently introduced meta-heuristics [6][7] it works on cohort intelligence algorithm shows, how the load of the self-supervised learning behavior in a cohort.
    [Show full text]
  • The Capture NX Interface
    %N 5SERS-ANUAL Notices © 2006 Nik Software, Inc. All rights reserved. No part of this manual may be reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language in any form, by any means, without Nik Software, Inc.’s prior written permission. Nikon reserves the right to change the specifications of the hardware and software described in these manuals at any time and without any prior notice. Neither Nik Software, Inc. nor Nikon will be held liable for any damages resulting from the use of this product. Licensed under one or more US Pats. 7,016,549; 6,836,572; 6,728,421; 6,865,300; 7,031,547; and other patents pending. © 2006 NIKON CORPORATION © 2006 Nik Software, Inc. All rights reserved. Trademark Information U Point is a trademark of Nik Software, Inc. Macintosh and Mac OS are trademarks of Apple Computer, Inc. Microsoft and Windows are registered trademarks of Microsoft Corporation. Pentium and Celeron are trademarks of Intel Corporation. Adobe and Photoshop are registered trademarks of Adobe Systems Inc. All other trade names mentioned in this manual or in the other documentation provided with your Nikon product are trademarks or registered trade marks of their respec- tive holders. i Ta ble of Contents Table of Contents Chapter 1 of Contents Table Introduction ................................................. 1 Camera Adjustments ........................................45 RAW Adjustments ............................................50 RAW File Format Benefi ts ..................................2
    [Show full text]
  • Mac OS X and PDF: the Real Story
    Mac OS X and PDF The Real Story Leonard Rosenthol Lazerware, Inc. Copyright©1999-2001, Lazerware, Inc. Overview •Mac OS X •PDF • Where’s the overlap? Copyright©1999-2001, Lazerware, Inc. You are here because… • You’re currently working with Mac OS and are interested in what Mac OS X brings to the table. • You’re curious about what Apple’s latest hype is all about. • You’re already awake and had to find something to kill time. • You’re a friend of mine and wanted to heckle Copyright©1999-2001, Lazerware, Inc. How I do things • You should all have copies of the presentation that you received when you walked in. • There is also an electronic copy of this presentation (PDF format, of course!) on my website at http://www.lazerware.com/ • I’ve left time at the end for Q&A, but please feel free to ask questions at any time! Copyright©1999-2001, Lazerware, Inc. Mac OS X Overview Copyright©1999-2001, Lazerware, Inc. Darwin • “Core OS” (Kernel) – Solid Unix foundation • FreeBSD 3.2 & Mach 3.0 • Memory protection, preemptive multitasking, etc. – High performance I/O • Firewire, USB, etc. • Open source Copyright©1999-2001, Lazerware, Inc. Graphics •Quartz – Adobe Imaging Model (PDF) • Includes full anti-aliasing and opacity/transparency • OpenGL – Industry standard 3D engine used by Quake & Maya • QuickTime Copyright©1999-2001, Lazerware, Inc. Graphics Demos - Quartz Copyright©1999-2001, Lazerware, Inc. Graphics Demos – OpenGL Copyright©1999-2001, Lazerware, Inc. Application Frameworks • Classic – Compatibility “box” for existing Mac OS applications. • Carbon – Modern versions of Mac OS applications prepared for Mac OS X.
    [Show full text]