Osx for Unix Users Tb July2011

Embed Size (px)

Citation preview

  • 7/31/2019 Osx for Unix Users Tb July2011

    1/16

    OS X for UNIX UsersThe power of UNIX. The simplicity of Mac.

    Technology Brief

    July 2011

    OS X version 10.7 Lion combines a proven UNIX foundation with the easy-to-use

    Mac interface, bringing multicore technology and 64-bit power to the mass market.

    With powerful technologies such as Grand Central Dispatch (GCD), OpenCL, and IPv6,

    Lion unleashes the full power of your Mac computer.

    There are already tens of millions of OS X usersconsumers, scientists, animators,

    developers, system administrators, and moremaking OS X the most widely used

    UNIX desktop operating system. In addition, OS X is the only UNIX environment that

    natively runs Microsoft Oce, Adobe Photoshop, and thousands of other consumer

    applicationsall side by side with traditional command-line, X11, and Java applications.

    Tight integration with hardwarefrom the sleek MacBook to the eight-core Mac Pro

    computeris making OS X the platform of choice for an emerging generation of

    UNIX users.

    1

    Features

    Open source UNIX foundation

    POSIX-compliant, Open Brand UNIX 03

    Registered Product

    Open source kernel based on FreeBSD

    and Mach 3.0

    64-bit OS using LP64 data model

    Support for multiple CPU and GPU cores

    via Grand Central Dispatch and OpenCL

    Hand-tuned, standards-compliant scalar

    and vector math libraries

    Standards-based networking Complete IP-based architecture supporting

    IPv4, IPv6, and L2TP/IPSec VPN

    Rich zero-conguration discovery and

    naming via Bonjour and Dynamic DNS

    Interoperable le serving via NFS, AFP,

    SMB/CIFS, and FTP

    Powerful Apache web services

    Open Directory services built on LDAP

    and Kerberos for single sign-on

    Comprehensive UNIX user environment

    Standards-based graphics built on PDF

    (Quartz), OpenGL, and H.264 (QuickTime)

    Full-screen terminal with xterm-256color

    support

    Familiar UNIX/Linux utilities (such as

    emacs, vim, and bash)

    Free Xcode developer tools based on

    Clang/LLVM

  • 7/31/2019 Osx for Unix Users Tb July2011

    2/16

    2

    Technology Brief

    OS X for UNIX Users

    Top OS X Lion Innovations for UNIX Users

    XPC

    XPC leverages Grand Central Dispatch (GCD) and launchd to provide a lightweight

    mechanism for managing and messaging helper processes, including sharing

    out-of-band data such as le descriptors and media objects. XPC uses entitlements

    to segregate unsafe operations in separate processes with reduced privileges.

    Terminal

    In addition to supporting Lions UI innovations such as a full-screen mode plus Auto

    Save and Resume, Terminal boasts a host of new features including icon status badges,

    smarter background images, Services items for opening paths and man pages, and the

    ability to detect and remember the current working directory.

    Versions and Auto Save

    Versions brings the benets of revision control from source code to ordinary documents.

    Lion automatically and eciently saves previous versions, making it trivial to store,

    compare, and restore them.

    OpenCL enhancements

    Lion includes OpenCL v1.1, which brings improved threading, expanded vector types,

    support for atomic operations, and enhanced data sharing with OpenGL. OpenCL in Lion

    uses sophisticated auto-vectorization technology to eciently execute scalar kernels

    across CPU vector unitsletting you use a single kernel for both GPUs and CPUs. New

    integration with Xcode and GCD makes OS X Lion an even more powerful platform for

    developing OpenCL-based applications.

    FileVault 2

    FileVault 2 provides transparent support for encrypting either internal or external drives,

    thanks to the new Core Storage volume format. It can even encrypt your boot volume

    or Time Machine drive in the background while you keep working.

    IPv6

    Apple provides best-of-breed support for IPv6, the next-generation 128-bit Internet

    Protocol, through full support for DHCPv6 and intelligent selection between IPv6 and

    IPv4 addresses when both are available.

    Updated le sharing

    OS X provides the latest in network interoperability with support for DFS failover and

    redirects in SMB, and client support for NFSv4.

  • 7/31/2019 Osx for Unix Users Tb July2011

    3/16

    3

    Technology Brief

    OS X for UNIX Users

    State-of-the-Art Foundation

    The OS X kernel at the heart of Darwin is based on FreeBSD and Mach 3.0. Apple has

    extended this time-tested Mach/BSD foundation with a number of powerful new

    features, including:

    Process and memory management

    Loadable kernel modules. OS X dynamically loads appropriate kernel extensions, also

    known as kexts, for le system and platform support. This leads to a slimmer kernel

    that users never need to recompile.

    Kernel programming interfaces. Rather than giving kexts direct access to kernel

    data structures, each version of the kernel exports a well-dened programmatic

    interface known as a KPI, ensuring third-party kernel extensions can still work even

    if the internal implementation changes.

    Ecient kernel threads. Each POSIX thread is queued onto a particular CPU, improving

    processor anity and scalability while reducing lock contention. Threads conform to

    POSIX (1c), including support for cancellation and shared mutexes.

    User-level real-time support. Unprivileged threads can request a xed number of

    high-priority cycles per millisecond, for example, for burning DVDs. The kernel ensures

    that such threads keep their contract.

    Asynchronous I/O. Both BSD select and SysV poll are implemented on top of the

    exible and scalable kqueue APIs from FreeBSD 5, handling le system notications,

    signals, and much more.

    Launchd daemon management. OS X has replaced init, cron, xinetd, and /etc/rc

    with launchd, an innovative service that centralizes and simplies the conguration,

    management, and monitoring of system, user, and network services. Lion adds the

    ability to launch jobs when new devices are attached.

    Grand Central Dispatch. GCD combines an easy-to-use programming model with

    highly ecient system services to radically simplify the code needed for parallel andasynchronous processing across multiple cores.

    XPC. XPC leverages GCD and launchd to provide a lightweight mechanism for

    managing and messaging helper processes, including sharing out-of-band data

    such as le descriptors and media objects.

    DTrace. Apple has integrated the DTrace open source project and D language from

    Solaris into OS X, enabling highly detailed, low-level reports of system and application

    behavior in languages including C, C++, Objective-C, Java, Perl, Python, and Ruby.

    Unied memory mapping. OS X maps both virtual memory and les using the same

    buer cache, reducing the total amount of wired memory while improving performance.

    Virtual video RAM (VRAM).The GPUs VRAM can be backed by main memory, allowing

    simpler data transfer and the use of larger data sets.

    POSIX spawn. OS X natively implements the posix_spawn system call, which reduces

    memory requests and improves performance compared with vfork + exec.

    OS X: The desktop for open source

    Since Apple rst released the Darwin code

    in 1999, OS X has been closely identied

    with the open source community. Apple

    worked with other pioneers to develop one

    of the rst corporate open source licensesand has built ongoing relationships with

    key projects such as Apache, Python, and

    Ruby. Today, Apple is the largest single ven-

    dor of open source software such as PHP,

    SSH, and scores of other projects. To learn

    more, visit www.apple.com/opensource/.

    Block objects

    Block objects are extensions to C,Objective-C, and C++ that make it easy

    for programmers to dene self-contained

    units of works, and are used heavily in

    Grand Central Dispatch. These types of

    closures are common in dynamically

    typed interpreted languages, but they

    have never before been widely available

    to C programmers.

    Apple has published both the Blocks

    Language Specication and its imple-

    mentation as open source under the MIT

    license, added blocks support to GCC 4

    and Clang/LLVM, and submitted them for

    consideration as part of the next version

    of the C programming language.

  • 7/31/2019 Osx for Unix Users Tb July2011

    4/16

    4

    Technology Brief

    OS X for UNIX Users

    64-bit services

    Building on a time-tested open source foundation, OS X gives consumers a compre-

    hensive 64-bit computing experience via the following features:

    64-bit system applications. Virtually all built-in applications and servicesfrom the

    Finder and Mail to Safari and Spotlightrun as 64-bit processes on capable hardware.

    Single operating system installation. OS X is installed as a single, universal operating

    system that natively runs both 32-bit and 64-bit applications, so you can easily access

    your existing applications alongside those optimized for 64-bit processors.

    Device compatibility.Thanks to the universal nature of OS X, 64-bit applications work

    well with your existing printers, storage devices, and expansion cards.

    Massive memory capacity. You get all the benets of 64-bit memory addressing: a

    theoretical address space of 16 exabytes, direct access to 128 terabytes of virtual

    memory, and use of all the physical RAM supported by the hardware.

    Universal binaries. Universal binaries contain both 32-bit and 64-bit versions of appli-

    cations and libraries, with the system dynamically loading whichever is appropriate.

    Enhanced security. OS X incorporates numerous modern security techniques into the64-bit runtime, making applications more resistant to attack.

    Improved performance. With the shift to 64-bit applications, OS X delivers dramatic

    performance improvements by taking advantage of the wider data paths and addi-

    tional registers available to 64-bit processes on modern Intel processors. For example,

    Safari runs JavaScript 50 percent faster with a 64-bit process.

    64-bit kernel. Lion uses a 64-bit kernel on capable hardware. The larger address

    space enables much faster system calls, which dramatically boosts the performance

    of network services and other I/O-intensive applications.

    Hardware I/O

    I/O Kit is the device driver subsystem of OS X. This powerful, object-oriented

    architecture in embedded C++ helps device manufacturers rapidly create driversthat run safely in a multiprocessing, preemptive, hot-pluggable environment.

    Key technologies supported by I/O Kit include:

    Power management. Power management APIs and notication orderings ensure

    that devices power down only after their dependent systems have been appropri-

    ately notied.

    Video.The IOVideo family is designed to support professional video cards and adds

    a new IOVideoDevice class for writing video capture device drivers. It is based on

    the IOStream class, which provides a high-level API for managing DMAs and other

    high-bandwidth data transfers without the need to worry about dierent hardware

    architectures and optimal caching strategies.

    USB. Apple jump-started the market for plug-and-play USB peripherals in 1998 andstill leads the industry with built-in support for USB drives, cameras, game inputs,

    audio, MIDI, and printers. You may never have to download another driver.

    FireWire. Apples award-winning FireWire (IEEE 1394) is a boon to professional audio

    and video production. OS X provides a comprehensive suite of drivers that take full

    advantage of the hot pluggability, daisy chaining, and power management capabilities

    of FireWire.

    Thunderbolt.A revolutionary I/O technology, Thunderbolt supports high-resolution

    displays and high-performance data devices through a single, compact port. It sets

    new standards for speed, exibility, and simplicity.

    LP64 data type sizes (in bytes)

    Type 32-bit size 64-bit size

    char 1 1

    short 2 2

    int 4 4

    long 4 8

    long long 8 8

    oat 4 4

    double 8 8

    long double 16 16

    void * 4 8

    void (*)(void) 4 8

    size_t 4 8

    off_t 8 8

  • 7/31/2019 Osx for Unix Users Tb July2011

    5/16

    5

    Technology Brief

    OS X for UNIX Users

    Ethernet. OS X supports everything from 10BASE-T to 10 gigabits, including automatic

    link detection, duplex matching, IEEE 802.3ad link aggregation, jumbo frames, and

    TCP segment ooading.

    AirPort. Every Mac is designed to work seamlessly with 802.11b/g/a/n networks, such

    as those provided by the AirPort Extreme Base Station. Thanks to Wide-Area Bonjour

    and NAT-PMP support, you can even access your home printer and drives from the

    public Internet.

    Bluetooth. Built-in support for a wide range of Bluetooth devices is closely integrated

    with OS X Sync Services, so information can be shared seamlessly among devices and

    one or more Mac computers.

    Fibre Channel. OS X provides built-in support for Apples Fibre Channel cards, the

    technology of choice for high-performance storage.

    TCP/IP networkingThe OS X TCP/IP implementation is based on the original BSD networking stack, but

    over the years, Apple has added numerous powerful enhancements:

    Self-tuning TCP. OS X sets the initial max TCP window according to the local resourcesand connection type, enabling TCP to do a better job of optimizing performance on

    high-bandwidth/high-latency networks.

    Multithreading. The networking stack is fully multithreaded, with at least one input

    queue per network interface and distinct pools of output message buers (mbufs) for

    each CPU, to minimize the need for shared locks.

    Conguration API. Rather than manually editing multiple conguration les, developers

    can use a high-level C API to programmatically set advanced network preferences.

    IPv6. Apple provides best-of-breed support for IPv6, the next-generation 128-bit

    Internet Protocol, including dynamic selection of IPv6 vs. IPv4 addressing, anonymous

    addressing, and both stateless and stateful Dynamic Host Conguration Protocol

    (DHCP) support.

    Internet sharing. A single click allows your Mac to share its Internet connection over

    any other interface to one or more computers using Network Address Translation

    (NAT) and DHCP. This works with a Mac, a PC, and even a virtual system.

    Captive network support. Like iOS, OS X will now automatically detect the presence

    of a captive network and prompt for the authentication necessary to reach the

    public Internet.

    Apache HTTP. OS X uses Apache for both personal le sharing and high-end

    web serving.

    File system architecture

    Apples dynamic implementation of BSDs virtual le system layer (VFS) allows OS X to

    load numerous local and remote le systems on demand, including:Disk le systems

    HFS+, the default, provides fast Btree-based lookups, robust aliases, and rich metadata

    (including ne-grained access controls and extended attributes). It supports compres-

    sion and has journaled (HFSJ) and case-sensitive (HFSX) variants.

    ISO 9660, the standard CD-ROM format.

    UDF 2.5, the Universal Disk Format, is fully read/write and works with standard block

    storage (ash, hard drive) as well as optical (CD, DVD) devices.

    FAT32, the standard Windows interchange format.

    NTFS, a read-only implementation of the high-end Windows le system format.

    Apples AirPort brought Wi-Fi to the

    mass market.

    Enable le and Internet sharing with a

    single click.

  • 7/31/2019 Osx for Unix Users Tb July2011

    6/16

    6

    Technology Brief

    OS X for UNIX Users

    Network le systems

    AFP, the Apple Filing Protocol.

    NFS, the Network File System standard for UNIX, supporting NFSv3 clients and servers

    as well as NFSv4 clients.

    SMB/CIFS, Microsofts Server Message Block/Common Internet File System le service

    for Windows, including support for DFS.

    FTP (read-only), the File Transfer Protocol le system.

    File system features

    Core Storage.This new volume format makes it easy to add new storage features

    (such as full disk encryption) without modifying HFS+.

    Extended attributes. The xattr routines support arbitrary attributes and a high-level

    copyle API that automatically transfers all metadata and permissions.

    Boot root. OS X automatically creates a special HFSJ partition containing the last

    three known good copies of the bootloader, kernel, and essential kexts to enable the

    use of nonbootable root partitions (such as NTFS). Access control lists (ACLs).The Finder can set read and write permissions for les and

    folders on both a per-user and per-group basis. The underlying kauth subsystem can

    also limit:

    Read/write/execute/append for either data or extended attributes

    Read/write (regular) attributes

    Read/write security settings or change ownership

    Add/delete les, directories, or children

    Search/list directories

    File locking. OS X provides unied le locking across AFP, CIFS (SMB), and NFS

    volumes, simplifying resharing and reducing the risk of data corruption.

    Network home directories. OS X supports AFP, SMB, and NFS network home

    directories, which can all be automatically synced with OS X Server.

    RAID. In addition to striping (RAID 0) and mirroring (RAID 1), Apples built-in software

    RAID supports combined 0+1 and 1+0 when using four or more disks, providing

    greater fault tolerance and higher performance.

    Easily create redundant arrays of inexpensive disks.

    Error checking.The system will perform automatic fsck checks on reboot.

    fsevents. User processes can be notied whenever les are added, removed,

    or modied.

    Control exactly who is allowed to access

    your les.

  • 7/31/2019 Osx for Unix Users Tb July2011

    7/16

    7

    Technology Brief

    OS X for UNIX Users

    System Services

    OS X integrates mobility, directory services, and security throughout the system in

    order to bring the openness and exibility of UNIX to the mass market while still

    ensuring a safe, user-friendly environment.

    MobilityThe ability to deal with a constantly changing physical and network environment is

    one of the key features that distinguishes OS X from other UNIX systems. Beneath

    the friendly interface for conguring and switching networks lies a very powerful

    infrastructure.

    Notications. Notify is a comprehensive systemwide service for communicating both

    kernel-to-application and application-to-application events. This reduces the reliance

    on signals and other legacy UNIX mechanisms previously used for this purpose.

    congd.This conguration daemon noties the system to automatically reroute

    Internet trac when either wired or wireless connections come and go, to help

    aected services maintain connectivity.

    Safe disconnect. OS X is the rst system to gracefully mount and unmount NFS,DAV, and SMB/CIFS volumes based on changes to network status or available

    directory services, providing an uninterrupted experience from either the GUI or

    the command line.

    Power management.Tight integration with the underlying hardware allows OS X

    to minimize power consumption while preserving responsiveness. This includes safe

    sleep to preserve data even if the battery runs out, and a low-power wake that runs

    background services without lighting the display.

    Directory services

    OS X is designed to minimize conguration eort by automatically pulling information

    from a variety of sources, including:

    Open Directory. Apples Open Directory is a unied architecture for managing user

    and system information across the network. While primarily designed for use with

    LDAP v2/v3 (the IETF standard Lightweight Directory Access Protocol), Open Directory

    also supports Microsofts Active Directory and Suns Network Information System (NIS).

    Bonjour. Bonjour uses industry-standard zero-conguration networking to help you

    automatically nd printers, le servers, and other network services on your local

    network. Bonjour also works across NAT gateways and can help you access your

    home machines from across the Internet.

    DNS (Domain Name Services). OS X Server uses mDNSResponder, the technology

    underlying Bonjour, to provide name lookup services, including Dynamic DNS and

    Secure DNS for automatic updates of IP addresses.

    Sharing Preferences let you congure Dynamic

    DNS for Bonjour over wide area networks.

  • 7/31/2019 Osx for Unix Users Tb July2011

    8/16

    8

    Technology Brief

    OS X for UNIX Users

    Wake on Demand. Wake on Demand allows your computer to sleep yet still advertise

    available services via a Bonjour Sleep Proxy (typically an AirPort Extreme Base Station)

    located on your network. The proxy will automatically wake your machine when

    clients attempt to access it; your computer will even periodically do a maintenance

    wake to renew its DHCP address and other leases.

    Secure networking

    VPN via L2TP/IPSec or PPTP. OS X includes a virtual private network (VPN) client

    that supports the Internet standard Layer 2 Tunneling Protocol (L2TP) over IPSec (the

    secure version of IPv4), as well as the older Point-to-Point Tunneling Protocol (PPTP).

    SSH (Secure Shell). OS X allows OpenSSH to store and retrieve private key pass

    phrases from a keychain, reducing the need to type a pass phrase. The ssh-agent

    is launched on demand on login, allowing it to be accessed from any processfor

    example, multiple terminal windows.

    Built-in rewall. In addition to the ipfw2-based systemwide rewall, OS X includesan application rewall that can be congured to allow only incoming access to

    preapproved applications and services.

  • 7/31/2019 Osx for Unix Users Tb July2011

    9/16

    9

    Technology Brief

    OS X for UNIX Users

    Proxy auto-conguration.The networking APIs of OS X support PAC les, including

    locating them using the Web Proxy Autodiscovery Protocol (WPAD). This means that

    applications such as Safari will automatically route requests via any site-specic proxy

    services.

    Authentication

    OS X provides a state-of-the-art security infrastructure based on modern, standards-

    based technologies for authenticating who you are and authorizing what you can do.

    Key technologies include:

    Systemwide keychains. In OS X, certicates and user passwords (for example, for mail

    accounts and websites) are stored in a secure keychain, which provides them only to

    veried, preauthorized applications.

    Password assistant.To further reduce the risk of compromised accounts, OS X warns

    users about choosing an easily guessed password and encourages stronger alternatives.

    Certicates.Public key infrastructure (PKI) authentication is integrated throughout

    OS X. PKI keys and other X.509 certicates can be stored in smart cards, keychains,Address Book, or LDAP directories.

    Unied authentication service. A single security daemon (securityd) processes

    authentication requests from both GUI and command-line applications to simplify

    the implementation, adoption, and auditing of new forms of authentication.

    Kerberos single sign-on. Apple has adopted the MIT-developed, IETF-specied

    Kerberos v5 protocol for systemwide single sign-on, allowing users to authenticate

    against multiple services without retyping passwords or sending them over the

    network. Every system automatically generates its own principals, allowing it to vend

    secure services that are fully compatible with other Kerberos-based implementations.

    The Lion implementation is based on the new Heimdal server.

  • 7/31/2019 Osx for Unix Users Tb July2011

    10/16

    10

    Technology Brief

    OS X for UNIX Users

    Pluggable Authentication Modules.The PAM library is an industry-standard API used

    by numerous UNIX programs and OS X services. It enables them to dynamically load

    shared authentication modules for everything from Open Directory to Kerberos.

    System security

    Apple used its deep understanding of user experience to build security into OS X fromthe ground up in order to provide a safe environment with minimal inconvenience.

    Some of the key advantages of OS X are as follows:

    Role-based administration. OS X does not require users to use the Administrator or

    root account to manage the system. Instead, the initial user (or other authorized user)

    can authenticate into the Administrator role, which allows one specic privileged

    operation at a time.

    Strict lesystem permissions. Most folders in /System and /Library are only writable

    by root, reducing the risk of them being modied accidentally or maliciously.

    Network services o by default. Unlike many systems, OS X defaults to having very

    few open ports. This approach avoids unnecessary exposure, yet authorized users can

    still enable precisely the services they need with a single click.

    Secure launch services. To minimize the risk of invisibly activating rogue software,

    the OS X gatekeeper warns users before launching mail attachments, adding new

    Safari handlers, or opening an unknown application.

    Sandboxing.The sandbox facility limits a processs access to system resources,

    minimizing the scope of damage even if a vulnerability were to be exploited.

    Privilege separation. XPC makes it easy to use sandboxing to factor applications into

    isolated components with varying privilege levels, with specic permissions granted

    implicitly in response to user actions.

    Fast user switching. As a multiuser operating system, UNIX has made it possible

    to give users their own accounts with appropriate privileges and strict separation

    between them. OS X makes it easy and convenient for any family to do the same, so

    they can easily set up individual user accounts (for example, with specic parental

    controls) and then quickly and safely switch between them on shared computers.

    FileVault 2. If youre worried about sensitive data, enabling FileVault 2 will encrypt

    your entire disk. The password will be securely stored in the users keychain, which

    can only be unlocked by a personal password or a site-specic master password.

    Core Storage makes it easy to encrypt your boot disk in the background while you

    continue working.

  • 7/31/2019 Osx for Unix Users Tb July2011

    11/16

    11

    Technology Brief

    OS X for UNIX Users

    Fast, reliable security updates. Apple is committed to providing rapid-response

    software updates to address vulnerabilities identied by CERT/FIRST or other groups.

    The user is periodically prompted to install updates, which OS X Server can limit

    to only those preapproved at that site. Administrators can also use Apple Remote

    Desktop to proactively push essential updates onto systems.

    Numerical Libraries

    OS X includes a robust suite of standard math libraries manually optimized for specic

    processor models, plus high-performance, state-of-the-art libraries for digital signal

    processing, image processing, and linear algebra. While these libraries work on every

    Mac, they are tuned to take advantage of native hardware capabilities, including 64-bit

    pointers, vector engines, and multicore CPUs.

    Math librariesThe standard C math library in OS X (libm, part of libSystem) complies with both C99

    and IEEE 754. In addition to the traditional double-precision operations, it supports

    very fast single-precision functions, as well as long double and complex functions.

    OpenCL

    OpenCL is a powerful API, language, and runtime that lets any application tap into

    the vast computing power of the GPU using IEEE-754 arithmetic, opening up incredible

    performance opportunities. In Lion, OpenCL kernels can be written as separate les,

    then run as blocks on the GPU or CPU using a special Grand Central Dispatch queue.

    Accelerate

    Apple has a unique Accelerate framework that provides:

    Vector digital signal processing (vDSP). Optimized Fast Fourier Transforms (FFTs),

    convolutions, vector arithmetic, and other common video and audio processing tasks

    for both single- and double-precision data.

    Vector image processing (vImage). Optimized routines for convolutions, compositing,color correction, and other image processing tasks, even for gigapixel images.

    vForce. vForce is designed to wring optimal eciency from modern hardware by speci-

    fying multiple operands at once, allowing only default IEEE-754 exception handling.

    LAPACK (Linear Algebra Package). Written on top of BLAS, LAPACK provides industry-

    standard APIs for solving common linear algebra problems.

    BLAS (Basic Linear Algebra Subprograms) Levels I, II, and III. These high-quality

    building block routines perform basic vector and matrix operations using

    standard APIs.

    vMathLib.This vectorized version of libm provides transcendental operations,

    enabling you to perform standard math functions on many operands at once.

    OpenCL is an open standard for parallel pro-

    gramming managed by the Khronos Group.

  • 7/31/2019 Osx for Unix Users Tb July2011

    12/16

    12

    Technology Brief

    OS X for UNIX Users

    The UNIX User Experience Redened

    UNIX users will quickly recognize the full BSD command-line environment in OS X, with

    the usual editors (for example, emacs, vim, and nano), utilities (ls, cp, bsdtar, and so on),

    and shells (bash/sh, tcsh/csh, zsh, and ksh). But theres much more to OS Xnot only

    friendly applications for productivity and the digital lifestyle, but also powerful services,utilities, and tools that will improve the workow of any command-line user.

    Next-generation servicesOS X includes several breakthrough technologies that promise to dramatically expand

    the capabilities of the UNIX command line.

    Spotlight. Spotlight is a lightning-fast way to nd anything on your computer

    documents, email, and so onbased on their metadata (for example, keywords

    and properties). The command-line tool mdnd returns a list of pathnames whose

    metadata match a given string, rather like a systemwide grep, while mdls displays

    metadata associated with a le. Spotlight can also remotely search mounted

    AFP volumes.

    Xgrid. Xgrid in OS X makes it easy to run virtually any command-line program (such

    as a scientic computation or a multimedia renderer) on a grid of Mac computers.

    Quick Look. The Quick Look API enables the system to quickly display preview

    images of documents in Time Machine, the Dock, or the Finder. It supports common

    Internet formats, Microsoft Oce documents, and even source code.

    Time Machine.Time Machine automatically maintains archival copies of all your

    documents, applications, and personal information on a second hard drive. Even

    better, it provides a beautiful, intuitive interface for discovering and recovering

    deleted items.

    Terminal environment

    Terminal is an xterm-compliant shell with full international support, a Safari style

    tabbed interface, and streamlined preferences for easy access to the UNIX command

    line. Lion brings a host of new features, including:

    Colored output.The default TERM value is now xterm-256color, supporting colorized

    output (for example, ls -G) and BCE (background color erase) beyond the traditional

    16 colors.

    Enhanced drag-and-drop support. In a Terminal window, the proxy icon in the

    window is an alias to the current directory. You can drag it from the window title bar

    into a session or tab to insert a reference to the current directory or le. Also, if you

    drag a folder from the Finder onto the Terminal icon, a new Terminal session to the

    dragged-on directory will be created.

    Full-screen support. Like other applications, Terminal windows use disappearing

    scroll bars and an optional full-screen mode.

    New status controls. These include display in tabs and minimized windows, as well as

    the showing of live content, with unread text, busy, and bell count indicators.

    Session support.Terminal tabs automatically update to show the current process and

    working directory. New tabs and windows can be set to open in the current working

    directory. On restart, Terminal will not only reopen your previous tabs, but also show

    their prior contents.

    Built-in systemwide services. Using services, you can create new Terminal sessions or

    man page lookups based on selections of Finder folders or text in any application.

    In Lion, the proxy icon in a Terminal window

    is an alias to the current directory, whose

    path hierarchy can be displayed by clicking

    the title bar while holding down the

    Command ( ) key.

  • 7/31/2019 Osx for Unix Users Tb July2011

    13/16

    13

    Technology Brief

    OS X for UNIX Users

    Richer background images.Terminal windows now support multiple background

    images (including randomized images from folders) and a new translucent view that

    blurs the background when activated.

    Scripting and automation

    AppleScript is Apples native language for application automation. Its English-like

    syntax generates Apple events, which use a scripting dictionary (provided by most

    Mac applications) to programmatically create, edit, or transform their documents.

    The AppleScript Editor makes it easy to create, edit, and run AppleScripts. In Lion, it

    can create and edit lightweight Cocoa-AppleScript applications that provide Cocoa

    user interfaces from within AppleScript code.

    Open Scripting Architecture (OSA) scripts including AppleScriptcan be activated by

    contextual menus, user interface elements, iCal events, and folder actions (on drag

    and drop).

    Automator provides a graphical environment for assembling Actions (typically built

    from AppleScript or shell scripts) into sophisticated workows, which can be saved as

    standalone applications or a wide range of plug-ins.

    The BridgeSupportframeworkenhances bridges by providing additional metadata

    and stubs for inline functions; almost every Cocoa framework in OS X has complete

    bridge data for use by AppleScript, Python, Ruby, or any other BridgeSupport-enabled

    language.

    Automator comes with templates for many

    kinds of workows.

  • 7/31/2019 Osx for Unix Users Tb July2011

    14/16

    14

    Technology Brief

    OS X for UNIX Users

    The AppleEventBridge frameworkprovides an elegant way for Cocoa applications

    (including bridged scripting languages) to generate Apple events based on an

    applications dictionary, even generating appropriate header les if necessary.

    Servicesmenu lets you focus on only those actions relevant to your current selection,

    whether in the menu bar, the Finder action menu, or a contextual menu. They can also

    be disabled and assigned shortcuts from the Keyboard pane in System Preferences.

    Utility applications

    In addition to the dozens of rich GUI applications for end users, OS X ships several

    advanced applications (primarily in /Applications/Utilities) of particular interest to

    developers, administrators, and UNIX enthusiasts, including:

    Activity Monitor, to monitor the resource consumption (CPU, memory, disk,

    networking, and so on) of all processes on the system.

    Console, to search the system and crash log databases.

    Directory, so you can manage shared contacts and resources, particularly for use with

    OS X Server.

    Disk Utility, to create and repair volumes, partitions, and disk images.

    Grapher, to visualize 2D and 3D mathematical functions.

    Keychain Access, so you can create and manage all your passwords and certicates.

  • 7/31/2019 Osx for Unix Users Tb July2011

    15/16

    15

    Technology Brief

    OS X for UNIX Users

    Migration Assistant, which lets you transfer your les and important settings from an

    older Mac or PC to a new Mac.

    Network Utility, a unied graphical front end to several common diagnostic tools, for

    example, netstat, ping, lookup, traceroute, and whois.

    Podcast Capture and Podcast Publisher, which let you easily capture high-qualityvideo and audio from a camera or the screen then publish it to a server.

    RAID Utility, for conguring hardware RAID cards (for example, on a Mac Pro) to

    improve performance and reliability.

    System Preferences, enabling you to graphically manage network settings, user

    accounts, sharing, and other functionality.

    System Information, which provides information about your computer, such as the

    hardware and software installed, the serial number and operating system, how much

    memory is installed, and what peripheral devices are connected. This can be very

    useful when troubleshooting any problems that might occur.

    Integrated developer tools

    The same Xcode developer tools used by Apple engineers to build OS X are available

    for free on the Mac App Store.*

    Xcode. Xcode 4 is Apples trailblazing integrated development environment (IDE) for

    OS X, designed to streamline Cocoa and Cocoa Touch development.

    Xcode shows your errors, warnings, and data values as you debug, all within the same

    editor window.

    Interface Builder. Interface Builder is a graphical editor for designing user interface

    components for both Carbon and Cocoa applications. It makes creating an applica-tions user interface easy, and it supports core animation for dynamic eects. Interface

    Builder les can also be validated and examined using the ibtool command-line utility.

    Instruments.This time-based analysis tool provides a GarageBand-like track interface

    for aggregating data from DTrace and other instruments.

    LLVM. A powerful compiler designed for modularity and eciency, LLVM enables fast

    compilation, sophisticated optimizations, rich static analyses, and tight integration

    with Xcode.

    Use the Advanced Options contextual

    menu to congure low-level details in

    System Information after creating a local

    user account.

  • 7/31/2019 Osx for Unix Users Tb July2011

    16/16

    Technology Brief

    OS X for UNIX Users

    Dynamic linker. dyld is the dynamic link editor for loading and linking dynamic

    libraries written in Apples native MACH-O format, which for compatibility with other

    UNIX systems supports standard dlopen/dlclose calls and semantics.

    IORegistryExplorer. IORegistryExplorer provides beautiful diagrams of the various

    dependencies between IOKit components and devices.

    FileMerge. FileMerge enables you to graphically view changes between les

    (analogous to that from the UNIX di command), which is particularly useful when

    refactoring in Xcode.

    *The Mac App Store is available only to persons age 13 or older in the U.S. and many other countries. Requires compatible

    hardware and software, and Internet access. An Apple ID is required to make purchases from the Mac App Store.

    2011 Apple Inc. All rights reserved. Apple, the Apple logo, AirPort, AirPort Extreme, AppleScript, Bonjour, Carbon, Cocoa, FileVault,

    Finder, FireWire, GarageBand, iCal, Mac, MacBook, MacBook Air, Mac OS, Objective-C, Quartz, QuickTime, Safari, Spotlight, Time

    Machine, Xcode, and Xgrid are trademarks of Apple Inc., registered in the U.S. and other countries. Apple Remote Desktop and

    OpenCL are trademarks of Apple Inc. Mac App Store is a service mark of Apple Inc. Adobe is a trademark or registered trademark

    of Adobe Systems Incorporated in the U.S. and/or other countries. The Bluetooth word mark and logos are registered trademarks

    owned by Bluetooth SIG, Inc. and any use of such marks by Apple is under license. Intel is a trademark of Intel Corp. in the U.S. and

    other countries. Java is a registered trademark of Oracle and/or its aliates. OpenGL is a registered trademark of Silicon Graphics,

    Inc. UNIX is a registered trademark of The Open Group. OS X version 10.7 Lion is an Open Brand UNIX 03 Registered Product. Other

    product and company names mentioned herein may be trademarks of their respective companies. Product specications are

    subject to change without notice. This material is provided for information purposes only; Apple assumes no liability related to

    its use. July 2011 L425835A

    For More Information

    Now that youve been introduced to the

    robust UNIX functionality of OS X, here

    are several resources to help you nd

    out more about specic topics. OS X overview:

    www.apple.com/macosx

    Open source projects in OS X:

    www.apple.com/opensource

    Scientic computing:

    www.apple.com/science

    Open source code releases:

    opensource.apple.com

    Developing on OS X:

    developer.apple.com/mac

    Open source collaborations:

    macosforge.org