Homework 2 — iPhone OS

Due Monday, March 22, 2010

NOTE: The hard copy of this assignment, like others in this class, is due at the beginning of the class period. This means that if you are even a minute late, you lose 20%. If you are worried about potentially being late, turn in your assignment ahead of time. Do this by submitting it to me during office hours or by sliding it under my office door. The electronic copy of this assignment is due at 9:00pm on the due date. Submit the electronic copy using the appropriate dropbox in D2L. Do not send assignments to me through email or leave them in my departmental mail box.

As discussed in class, the primary job of an operating system is to be a resource manager. However, the resources on a mobile device such as an iPod Touch or iPhone are much more limited than on a modern desktop or laptop computer. For this reason, there are differences between the way iPhone OS and typical Unix or Unix-like operating systems manage their resources.

The assignment.

  1. List three differences between the way iPhone OS and a typical Unix-style OS manage their resources. Explain how these differences simplify the job of resource management in a way that is appropriate for a mobile device.


  2. As a resource manager, iPhone OS provides four primary abstraction layers through which its resources can be accessed.
    1. List those four layers, from highest to lowest.
    2. Give a concrete example of a resource that can be accessed through a higher layer abstraction and through a lower layer abstraction. (Be sure to say not only what the resource is but also at which layers abstractions are provided through which that resource can be accessed.)
    3. Explain one reason an iPhone software developer would want to access that resource through the higher abstraction layer.
    4. Explain one reason an iPhone software developer would want to access that resource through the lower abstraction layer.

What to turn in.

Turn in both printed and electronic copies of your answers.