Apple's take on mobile Unix

Apple's take on mobile Unix

Summary: The Mac community was buzzing in late November when the director of Apple's Unix group showed a slide at the LISA (Large System Adminstration) conference that predicted that the Snow Leopard version of Mac OS X would ship in the first quarter of 2009. However, there were more than 100 other slides in the presentation, and they offered some interesting bits of their own.

SHARE:

Apple’s take on mobile UnixThe Mac community was buzzing in late November when the director of Apple's Unix  group showed a slide at the LISA (Large System Adminstration) conference that predicted that the Snow Leopard version of Mac OS X would ship in the first quarter of 2009. However, there were more than 100 other slides in the presentation, and they offered some interesting bits of their own.

The talk was by Jordan Hubbard the director of Apple's Unix Technology Group. From the PDF of the talk (confirmed by some LISA blog postings), he discussed a number of Mac OS X security features and several open source software projects that Apple is supporting, including Apple Syslog  (a rewrite of the BSD syslog), MacPorts (an easy-to-use system for compiling, installing, and upgrading either command-line, X11 or Aqua based open-source software), MacRuby (a version of Ruby 1.9, ported to run directly on top of Mac OS X core technologies), and WebKit (the Web engine behind Safari).

Here are some of the 117 slides that caught my eye:

Mobility questions. Hubbard said that "ubiquitous computing is not 'coming,' it is already here! He suggested that developers start thinking of ever-smaller devices, meaning power budgets in the milliwatt range.

He offered a number of "lessons" from Apple's iPhone experience. He said programmers need to avoid making assumptions about power and performance when dealing with a small, mobile platform.

•“Enterprise” features (like code signing) can also be substantially leveraged on mobile devices. •Mobile device features (like CoreAnimation) can also encourage innovation in “bigger” devices. •You can actually can run a full Unix on a phone now. •It’s all about the power, and all resources (memory, ?ash, CPU) take power.   We need to challenge our “Unix assumptions” about power being plentiful. •Stability is key for something this critical (it can’t crash while dialing emergency services). You just can’t run everything you want to.

Multiple core computing. Pointing to the roadmaps from Intel, Hubbard said we can expect more than 32 cores arriving in "commodity hardware" in 2010. This will create problems for programmers, he said.

One problem with multi-core computers is that processors can run faster than they can fetch data from memory (don't even talk about retrieving data from the disk!). The processor is said to be "starved," while waiting around for the data. There are different schemes for improving this performance issue, some under the subject heading of NUMA (non-uniform memory access). NUMA is a cache that can help each processor core hold data that it might need.

Now, AMD's high-performance group uses ccNUMA (cache coherent non-uniform memory access), which uses a technology that lets the processors better keep track of the cached information.

Of course, Apple chose Intel. Hubbard appears to warn developers that processor developers (or in this case, Intel) won't spending the money to develop coherency cache engines and that software makers (and OS vendors) would have to figure out ways to do this better. He calls this an "incoming meteor."

•It means that hardware folks are out of headroom on pure clock speed and must go lateral. •The hardware folks are also probably tired of paying for the Software people’s sins. ccNUMA is likely to eventually yield (back) to NUMA. Good for them, bad for us! •Memory access, already very expensive, will become substantially more so. •Forget everything you thought you knew about multi-threaded programming (and, as it turns out, most developers didn’t know much anyway). •The kernel is the only one who really knows the right mix of cores and power states to use at any given time - this can’t be a pure app-driven decision. •We need new APIs and mechanisms for dealing with this incoming meteor.

Topics: Apple, Hardware, Mobility, Open Source, Operating Systems, Processors, Software, Software Development

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

8 comments
Log in or register to join the discussion
  • MacPort! I'm not particularly savvy with UNIX...

    MacPort! I'm not particularly savvy with UNIX, so when I
    download a utility that looks especially useful (but also
    requires it be compiled) I get so frustrated. Inevitably I
    don't have 3 or 4 libraries required, and Google searching
    for them is useless.

    So I jump the UNIX or even Linux board, called a newb and
    left hanging or to read a nonexistent man that I can't
    download because the application won't compile and
    install the man in the first place.

    Hopefully MacPort will make this process easier.

    As a side note, Linux and general UNIX OSes (with the
    exception of OS X) will never be mainstream on the
    consumer desktop. I've had way too many "just use this
    command" and have no idea what it does, or "if you don't
    know how to do it, go back to Windows," or "read blah
    blah book, it tells you how to use it" with the book
    assuming you're a genius with UNIX and doesn't explain
    how it works.

    Support venues for Linux and UNIX are practically non existent for new users.
    olePigeon
    • Hmmm

      MacPorts Is. I guess that's the good news for you.

      It's command-line (sudo port install my-pkg) and compiles
      from source. A corollary is that Developer tools have to be
      installed so there's a compiler. That sounds like bad news for
      you. Some graphical front ends exist (PortCommander, I
      believe) and are free, but not necessarily intuitive.

      I have gotten seemingly unresolvable dependency problems
      which manifest as packages that don't update and the
      premature exit from the "upgrade installed" command, which,
      in my book, is the wrong thing to do. And X11 for the
      graphical packages is problematic as the Mac window(s) where
      the rules are different, and it looks like I picked the wrong
      week to let the ctrl key take vacation. Yet, I'm a happy
      customer and hope that this presentation by Hubbard speaks
      well of polishing the next iteration of MacPorts.
      DannyO_0x98
  • Type is a Type of Typo for Typo

    A couple of possible typos:

    I believe it's MacRuby, not MacRudy.

    In the paragraph which begins "Of course, Apple chose.." a "be"
    seems to be missing from "won't spending" in the second line.

    Interesting that MacPorts and X11 were mentioned, is the thought
    that these are to be promoted from semi-official status a
    reasonable one?
    DannyO_0x98
  • OS X is not really UNIX

    While Jeep Cherokee is technically an off-road vehicle, we know that only dirt jeep Cherokee will see is on the suburban kids soccer field. Same thing with OS X. Just because you are syncing your iPod on your Mac while making cheesy family slides, that does not make you a Unix Admin.

    In fact most Mac advocacy sites are run on Linux and FreeBSD and not on OS X. That tells me that OS X is not really UNIX.
    hamobu-22333136139518773481685514128812
    • Wrong

      You really don't know what you're talking about.

      Your argument should have been, "OS X is BSD Unix. Some
      people claim that's not REAL UNIX (like there is such a thing) so
      I don't think it's UNIX." And you'd have a point. But you didn't
      say such a thoughtful thing.

      And you would be wrong. It has all the utilities and programs
      and capabilities as any other UNIX. It has a mail server (Postfix)
      it has a web server (Apache) and it has all the other programs
      and utilities that come with UNIX. It also has the essentially the
      same folder structure and user accounts, etc.

      Just because some users of OS X don't know that doesn't mean
      squat. What you're saying is the equivalent of, "Because people
      don't understand how internal combustion engines do, they
      aren't really driving cars."

      Yeah, a really dumb argument. (Pathetic, really.)
      ewelch
    • OS X is certified as UNIX tm. Linux is not UNIX.

      OS X Leopard on Intel has been certified as a commercial
      unix operating system. This gives Apple the right to use
      the "UNIX tm" trademark in association with Leopard. Not
      only is Linux not an OS (it is a kernel) but Linux distros use
      GNU as the base to go along with the Linux kernel. GNU
      stands for "GNU NOT Unix".

      Next time, why don't you do us all a favour and google a
      bit before posting out of ignorance.
      aristotle_z
    • OS X is a certified Unix ...

      ... while Linux and BSD are not, but for general purposes they all are POSIX compliant so the difference really comes down to semantics. In fact almost any script that you produce in either Linux, BSD, or even Solaris will run on OS X with little or no modification.

      Then only real difference between OS X and other *nix systems is Cocoa and Carbon. Under the hood they function pretty much the same except for some of the higher level structure that sets them apart. :D
      MisterMiester
  • RE: Apple's take on mobile Unix

    I totally agree with ewelch, people use Linux (which really
    isn't unix) because it runs on cheapo PC's if not they would
    run unix on terminal on macs.
    when you run UNIX on a mac you get a great user experience
    and also dependability.On top of all that you get OS X which
    is the greatest GUI there is for UNIX
    So yes...wrong OS X IS UNIX
    esegre