Program B Documentation Last Update: Thu, Nov. 29, 2007 (1700 Hours) [[ Fill out this file (call it README) and include it in your electronic and hardcopy submissions. >>>>> In doing so, you should REPLACE all of the text enclosed in square brackets with what is requested. <<<<< ]] 1. Program Status [[ State explicitly if your program is deficient or bug free or not. List the features that you did not fully implement and their status (e.g., designed, buggy implementation). If not bug free, list the problem(s). If you have clear conjectures as to the causes of the problems, list them. Summarize how your program deviates from the assignment (e.g., additional features). ]] 2. Overview 2.1 How to Build Executables [[ Give instructions on how to build each executable. This should include the working milestone code(s) (e.g., mileA, mileB, mileC) and any other test code. ]] 2.2 Library Interface [[ Indicate any differences between your library interface functions and the specification (omissions, additions, variations). ]] 3. Program Description (Abbreviated) 3.1 Major Data Structures [[ Give a brief summary of the major data structures used in the library. Especially important is the run queue structure. If you are only using structures from the STL, it is sufficient to give a table with the 3 columns "Name", "Declaration", "Access"; e.g., Data Structure Declaration Access ------------------------------------------------- Run Queue deque runQ; push_back pop_front ... etc ... ]] 3.2 Implementation Notes [[ Below is a list of thread library functions. For each function, indicate HOW the execution of the function changes the state of the library. For example, one thing uth_init does is put the main thread and the idle thread on the run queue with the main thread in front. Although your code might do this by initializing a thread desriptor, and calling get_context() and push_back(), this section does not care about that. ]] o uth_init o uth_create o uth_yield o uth_join o uth_sleep o uth_exit 3.3 Extra Functionality [[ Summarize any extra functionality that you added. If none, just say "None". Be brief but not cryptic. ]] 4. Program Testing >>>>> <<<<< >>>>> ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION <<<<< >>>>> <<<<< >>>>> If your program has no bugs, and you can demonstrate mileC <<<<< >>>>> by Tuesday Dec 11, 230 PM, you can omit this section. <<<<< >>>>> Send email for an demo appointment. <<<<< >>>>> <<<<< 4.1 Most Successful Test [[ The course Web site provided three test programs (mileA.c, mileB.c, and mileC.c) with mileC.c the most challenging. Choose your most successful test and explain why the output with debugging on (i.e., run queue trace) is correct. ]] 4.2 Partially Successful Test [[ If your mileB or mileC tests were not completely successful but you did work on the new library functions for those tests, briefly describe any partial success you have achieved. ]] Appendix A: Source Code Listing Table of Contents: [[ Provide a list of the attached files ]] Listings: [[ Attach the printouts in the order specified in the Table of Contents. ]] Appendix B: [[ Put other details in additional appendices as needed. Omit if none. ]]