CS520
Spring 2016
Laboratory 9
Friday April 8
The lab must be submitted prior to noon on Wednesday April 13.


This lab is foundation of Program 5 and is very difficult. It is critical that you start this lab before coming to lab so that any problems that you encounter can be dealt with in lab.

Because the lab is difficult there is an extended due date. See above.

The goal for this lab is to complete the createGoroutine, yieldGoroutine and cleanupGoroutines functions.

You need to build and manage a FIFO list of goroutine control blocks. So, be sure you know how to implement a linked list in C. If you do not know how to do this, get help before the lab.

There is some tricky Intel-64 assembly langugage code that needs to be written. If you are confused about what needs to be done, you may want to watch this video.

We will test with the following files (available in ~cs520/public/prog5):

Put all your C source code in a single file, "goroutines.c". Put all your Intel-64 assembly language code in a single file, "asm.s".

To turn in this laboratory, type:

% ~cs520/bin/submit lab9 goroutines.c asm.s

Submissions can be checked by typing:

% ~cs520/bin/scheck lab9

Remember that there are no late submissions of labs. Submit what you have prior to noon on Wednesday April 13.


Last modified on April 3, 2016.

Comments and questions should be directed to pjh@cs.unh.edu