Template for Preliminary Document --------------------------------- 1. Introduction Briefly state what is the problem and what is expected out of the project (deliverables) 2. Data Structures Explain the data structures that you intend to use. Briefly comment on what purpose the data structure will serve in the overall project. Example: +-----+ | PID | +-----+ | List|->|R1|->|R2|->... |Rn|->NULL +-----+ The PCB is a structure having Process ID and a pointer to a linked list of resources it is using. The linked list will be used by the process manager to update the resource usage list. 3. System Architecture o Details on calling hierarchy. For example, in the filesystem project, read_block() and write_block() are low level functions called by one or more high level filesystem functions. o What are the main functions ? For example, in case of current project, the testing shell that waits for user input -or- a helper function that removes/adds elements to a linked list o What is the flow ? Who calls whom, starting from main(). o What data structures will the functions be using/modifying ? For example, destroy(pid) function will remove a pid's PCB entry from the list of processes. 4. Test Cases What are the test cases you're planning to use in order to check the correctness of the project. Try to design test cases so that it covers a large part of functionality of the project. 5. Psuedo Code Need not be very detailed. The idea is for you to write down the pseudo code so that you have a fair idea on what needs to be implemented. NOTE: * The idea of high level document is for you to think over the entire project early. Use the high level document to enumerate/plan what you will be eventually coding. Try to get the overall idea of the project into writing using the high level document. Once you do a good job on high level document (especially sections 2. 3. and 5. above), the rest is just implementation. * This document is more of a guideline. If you have any other way of structuring the document, please do it and make sure you cover all the sections mentioned above.