Slashdot Mirror


How OS X Executes Applications

MacHore writes "0xFE has an excellent tutorial on Mach-O, which is the file format used by OS X executable files and libraries. It goes into great detail about how Mach-O works, and explains what OS X actually does when it loads and runs an application. Subtopics include Universal Binaries, The Dynamic Linker, Using otool, and other goodies."

3 of 315 comments (clear)

  1. Re:What this means by andreMA · · Score: 5, Insightful
    Expect an increase of the number of Mac virii out there in a now to 3 month timeframe.
    Yes, because this information was a closely held secret before this meddlesome blogger came along. I bet Steve Jobs is really pissed and is taking out a contract on his life.
  2. Re:Kinda OT.. yet relevant to this thread by Raffaello · · Score: 4, Insightful

    When I try and install something on OS X that doesn't have the required dependencies, it simply fails to work and gives no user-friendly clues why.

    We're talking about applications here. On Mac OS X, a properly packaged application lives in a .app directory which contains all dependencies with the sole exception of frameworks that are present on any version of Mac OS X that the app is capable of running on. In other words, a properly packaged Mac OS X app has no external dependencies - everything it needs to run is either in the .app directory, or comes standard with Mac OS X.

    Any application packaging that assumes that users will not relocate an application is broken on Mac OS X. This means that any having dependencies not contained inside the .app directory (aka the app bundle) is broken, since users can and will relocate apps to removable media for use on other machines.

    Now, some misguided *nix hackers will cobble together an application to run on Mac OS X that scatters little *nix file turds all over various directories, or will hard code installation directories so the application is not relocatable. These are both wrong on Mac OS X (though common practice on *nix) because Mac users have been relocating applications since the mid 1980s, and will continue to do so.

  3. Re:Kinda OT.. yet relevant to this thread by Macka · · Score: 4, Insightful
    Have you ever heard of versiontracker?

    *puts small business owner hat on*

    No.
    So you're telling us that a "small business owner" doesn't know how to Google for an app and stumble onto VersionTracker (which he/she should suspect exists anyway as similar sites exist for Windows) but the same "small business owner" knows what a Terminal app is; knows how to drive a command line, and knows that he/she needs to use a command called "apt-get".

    I don't believe you!