Operating Systems for Mobile Devices

A New Course Proposal

Prabhaker Mateti
Department of Computer Science and Engineering
Wright State University

This working draft is written for the Undergraduate Studies Committee of the Department. Upon approval it will need to be re-written in a format expected by UCAPC.

 

Course Design Issues

This is a senior-level 4 credit hour course. Its goal is to discuss present-day OS for mobile devices, such as cell phone, PDA and MP3 players. It should interest CS/CEG seniors and first year graduate students who already have had a standard course (such as WSU CEG 433) in OS. 

Related Course

The proposed number for the course is CEG 437.  WSU has a course titled Mobile Computing (CEG 436). Its catalog description is reproduced below.

Study networking protocol and system design in mobile computing. Focus on concepts, architecture, design, and performance evaluation of mobile computing principles, protocols and applications, including: wireless TCP, Mobile IP, 802.11, agent techniques, etc.

CEG 437 is not a sequel to 436.

Prerequisites

Prerequisites:  CEG 433. CEG 434 and CEG 402 would have been useful also but that makes it nearly impossible for this new course to be an elective.

Lab Oriented

This course is lab-oriented.  Lab work is worth about 40%.  It is suggested that the lab work be split into perhaps 8 labs, about one per week.

Teaching Orientation

It is a "how-does-it-work" kind of course.  Several lectures should be of the show-and-tell kind.


Catalog Description

Introduction to operating systems designed for mobile devices. Embedded OS. Real-time OS. Ubiquitous computing. Opportunistic Connectivity.  Application Development for Mobile Devices. Security and Privacy. Case studies such as Embedded Linux, Symbian, Palm OS and Windows Mobile.     4 credit hours. 3 hours lectures, 2 hours labs. Prerequisites:  CEG 433.

Content

The topics are grouped based on coherence.  Even though there are nine items below, worth at least one week each, they are not to be taken literally as weekly schedules.

  1. Handheld and Wearable computers. Ubiquitous computing.

  2. Embedded OS, Processes with no VM. Battery Power Conservation. Crash proof programs.

  3. Opportunistic Connectivity.
  4. Application Development for Mobile Devices
  5. Case Study 1:  Windows Mobile
  6. Case Study 2:  Palm OS
  7. Case Study 3:  Symbian
  8. Case Study 4:  Embedded Linux.
  9. Security and Privacy

Grading

Two on-line exams worth 25% and 35%.  Lab work worth 40% each.


Source Material

  1. Ubiquitous Computing
    1. UbiComp 2007 http://www.ubicomp2007.org/  is the Ninth in the international conference series previously known as Handheld and Ubiquitous Computing (HUC).
    2. Mark Weiser, Some computer science issues in ubiquitous computing, ACM SIGMOBILE Mobile Computing and Communications Review, Volume 3,Issue 3  (July 1999), ISSN:1559-1662.
    3. IEEE Pervasive Computing, http://www.computer.org/portal/site/pervasive/
  2. OS
    1. S. Baskiyar, and N. Meghanathan, A Survey of Contemporary Real-time Operating Systems,
      June 2004, http://ai.ijs.si/informatica/PDF/29-2/12_Baskiyar-A%20Survey%20of%20Contemporary...pdf
    2. Kolding, Denmark, Every joule is precious: the case for revisiting operating system design for energy efficiency, Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system, ISBN:1-23456-789-0, pp 31 - 36, 2000.
    3. Frank Adelstein, Sandeep K. S. Gupta, Golden G. Richard III, Loren Schwiebert, Fundamentals of Mobile and Pervasive Computing, McGraw-Hill, 2004.
  3. Opportunistic Connectivity
    1. Teatherless Computing. http://blizzard.cs.uwaterloo.ca/tetherless
    2. Thabotharan Kathiravelu, Towards Content Distribution in Opportunistic Networks, Ph.D. Thesis,
      June 2007, Uppsala University, Sweden.
  4. Application Development
    1. Lawton, G., Moving Java into mobile phones, IEEE Computer, Jun 2002, Volume: 35,  Issue: 6, 17- 20, ISSN: 0018-9162. 
    2. JavaFX http://www.sun.com/software/javafx/
    3. Daniel Schall, Web Services on Embedded Devices, J. Web Infor. Syst. Vol. 1, No. 1, March 2005.
  5. Windows Mobile
    1. Windows Mobile Developers Wiki, http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.HomePage
  6. Palm OS
    1. Mihai Ciocarlie, Marcela-Simona Atanasoae, Horia Ciocarlie, "System of Programs for Rapid Development and Execution of Palm OS Applications." pp 260-263, IEC (Prague), 2005.
    2. http://en.wikipedia.org/wiki/Palm_OS
    3. Palm OS Development Documentation, http://prc-tools.sourceforge.net/doc/
  7. Symbian
    1. Symbian OS: Mobile smart phone operating system, http://www.symbianone.com/
    2. http://developer.symbian.com/main/academy/university/
    3. R Harrison, P Northam, Symbian OS C++ for Mobile Phones, 2003, John Wiley & Sons, Inc. New York, NY.
  8. Mobile Linux
    1. Craig Hollabaugh, Embedded Linux: Hardware, Software, and Interfacing, March 2002, Addison Wesley Professional , ISBN-10: 0672322269, ISBN-13: 978-0672322266.
    2. http://moblin.org/
    3. Embedded Linux Consortium. 2007. http://www.embedded-linux.org/
  9. Security and Privacy
    1. Tanenbaum, A.S.   Herder, J.N.   Bos, H., Can we make operating systems reliable and secure?, Computer, May 2006, Volume: 39,  Issue: 5, pp. 44- 51, ISSN: 0018-9162.
    2. Leavitt, N., Mobile phones: the next frontier for hackers?, IEEE Computer, April 2005, Volume: 38,  Issue: 4, pp. 20- 23, ISSN: 0018-9162.
  10. Hardware
    1. OpenMoko "is a GNU / Linux based open software development platform. Developers have full access to OpenMoko source and they can tailor their implementations to underlying hardware platforms." http://www.openmoko.com/
    2. Mobile Internet Devices (MIDs) & Ultra Mobile PCs (UMPCs), http://www.intel.com/products/mid/

October 12, 2007