CIS332 (Spring 1998) Principles of Operating Systems;
Professor Franz J. Kurfess

Home page:http://www.cis.njit.edu/franzE-mail:franz@cis.njit.edu 

Faculty Assistant: Mrinalini Lankala;  E-mail:cis332fk@cis.njit.edu 
(All questions regarding homework should be sent to this address)

Homework Task Deadline Points Student Name:
1 Computer and Operating System Structures Monday, Feb. 2, 1998 10
The following is an excerpt from a report written by Mike Jones Mars Pathfinder Report on some of the software problems that occurred during the Mars Pathfinder mission.

The Mars Pathfinder mission was widely proclaimed as "flawless" in the early days after its July 4th, 1997 landing on the Martian surface. Successes included its unconventional "landing" -- bouncing onto the Martian surface surrounded by airbags, deploying the Sojourner rover, and gathering and transmitting voluminous data back to Earth, including the panoramic pictures that were such a hit on the Web. But a few days into the mission, not long after Pathfinder started gathering meteorological data, the spacecraft began experiencing total system resets, each resulting in losses of data. The press reported these failures in terms such as "software glitches" and "the computer was trying to do too many things at once". This week at the IEEE Real-Time Systems Symposium I heard a fascinating keynote address by David Wilner, Chief Technical Officer of Wind River Systems. Wind River makes VxWorks, the real-time embedded systems kernel that was used in the Mars Pathfinder mission. In his talk, he explained in detail the actual software problems that caused the total system resets of the Pathfinder spacecraft, how they were diagnosed, and how they were solved. I wanted to share his story with each of you. VxWorks provides preemptive priority scheduling of threads. Tasks on the Pathfinder spacecraft were executed as threads with priorities that were assigned in the usual manner reflecting the relative urgency of these tasks. Pathfinder contained an "information bus", which you can think of as a shared memory area used for passing information between different components of the spacecraft. A bus management task ran frequently with high priority to move certain kinds of data in and out of the information bus. Access to the bus was synchronized with mutual exclusion locks (mutexes). The meteorological data gathering task ran as an infrequent, low priority thread, and used the information bus to publish its data. When publishing its data, it would acquire a mutex, do writes to the bus, and release the mutex. If an interrupt caused the information bus thread to be scheduled while this mutex was held, and if the information bus thread then attempted to acquire this same mutex in order to retrieve published data, this would cause it to block on the mutex, waiting until the meteorological thread released the mutex before it could continue. The spacecraft also contained a communications task that ran with medium priority. Most of the time this combination worked fine. However, very infrequently it was possible for an interrupt to occur that caused the (medium priority) communications task to be scheduled during the short interval while the (high priority) information bus thread was blocked waiting for the (low priority) meteorological data thread. In this case, the long-running communications task, having higher priority than the meteorological task, would prevent it from running, consequently preventing the blocked information bus task from running.

Your task is to analyse the Pathfinder scenario with respect to Hardware and Operating Systems requirements. At this point, you don't need to understand the details of the threads and tasks, and what caused the problem. The main intention for this homework is to familiarize you with the Mars Pathfinder mission, and the computing facilities it used. Some helpful information can be found at the following web sites:

You might also have to search for more information concerning the Sojourner vehicle and its computing facilities on the World Wide Web.

Please answer the following questions. Note that it is not acceptable to copy and paste material from other sources, you have to write it in your own words. Also include the additional sources you used (e.g. Web pages, magazine articles).








What are the main requirements on the computer hardware for the Mars Sojourner vehicle?








What are the main requirements on the operating system for the Mars Sojourner vehicle?








Additional Sources: