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."

2 of 315 comments (clear)

  1. Re:Obligitory... by moosesocks · · Score: 4, Interesting

    A lot of that has to do not only with Mach, but simply with the fact that up until recently, a lot of OSX applications (specifically, those built on Carbon) were not multithreaded. In other words, if one bit of the application hangs or times out, the application and everything that depends on it goes to hell.

    This is why BeOS appeared to be lightning fast on even slow machines. Even the smallest tasks were executed independently, and bottlenecks were hardly noticiable.

    Apple's doing a good job making everything work, and Cocoa is definitely a step in the right direction, but apple really needs to kill all of the single-threaded applications they've got now. The Finder is the most prolific and outrageous example of this, and anybody who's ever lost a network connection while a network share was mounted knows what I'm talking about (the system virtually hangs for 45 seconds until the connection times out. awful. simply awful)

    Otherwise, I love OSX.

    --
    -- If you try to fail and succeed, which have you done? - Uli's moose
  2. Re:Obligitory... by Quantum+Fizz · · Score: 3, Interesting
    The Finder is the most prolific and outrageous example of this, and anybody who's ever lost a network connection while a network share was mounted knows what I'm talking about (the system virtually hangs for 45 seconds until the connection times out. awful. simply awful)

    Hopefully you won't need to wait too much longer. As reported on Mac Rumors , as of at least Jan. 26, Apple has been seeking a "Finder Software Engineer". Hopefully we can see a better Finder out in Leopard.

    The job requirements were listed as

    • Participate in all of the various stages of feature development from design brainstorms, through feature development, all the way to fixing that last critical elusive bug under a tight release deadline.
    • You will be required to produce clear designs, excellent implementation and tight code.
    • Deliver tight, well implemented features, fix bugs and develop Finder into the best file browser on the planet.
    • Work on performance and responsiveness of the Finder, making it feel lightweight, fast, snappy and pleasant to use.