Unlike lab 4c, the application for this lab supports multiple tasks. Your kernel must be able to properly switch between them as YKDelayTask is called and interrupts occur. It must be able to run this application correctly with the default tick frequency and without crashing with a tick frequency of every 750 instructions. (At a high tick rate, there may not be enough time for all tasks to run to their next delay point as they otherwise would, so your output may differ from that shown below, but your code should not malfunction or otherwise fail to make progress.)
Below is a sample of what the application's output should look like:
Notice how the output shows that each task is delayed for the expected number of ticks. Also, note how task priority is enforced, even when multiple tasks become ready after the same tick interrupt. Your kernel's output should match this example unless your kernel cannot dispatch and run the four tasks before the first tick occurs.Creating tasks... Starting kernel... Task A started. Task A, delaying 2. Task B started. Task B, delaying 3. Task C started. Task C, delaying 5. Task D started. Task D, delaying 10. TICK 1 TICK 2 Task A, delaying 2. TICK 3 Task B, delaying 3. TICK 4 Task A, delaying 2. TICK 5 Task C, delaying 5. TICK 6 Task A, delaying 2. Task B, delaying 3. TICK 7 TICK 8 Task A, delaying 2. TICK 9 Task B, delaying 3. TICK 10 Task A, delaying 2. Task C, delaying 5. Task D, delaying 10. TICK 11
In addition to the demonstration, you should submit via Learning Suite a .txt or .pdf document with a written summary of problems you encountered, if any, and the total number of hours you spent on this lab. A realistic estimate is sufficient. You are also invited to include suggestions on additional information that could have been included on the web pages, or additional simulator features that would have cut your debugging time. You will not receive full credit for the lab unless you send a report.
Once again, you may want to look at the problems students had in past semesters. The link below points to the list of comments from student reports for lab 4.
Student Problem List