CS520
Fall 2018
Laboratory 7
Friday October 19
The lab must be submitted prior to noon on Wednesday October 24.


This lab is the foundation of Program 4 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.

Please see the addendum for this lab for detailed instructions on how to complete it.

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/prog4):

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 lab7 goroutines.c asm.s

Submissions can be checked by typing:

% ~cs520/bin/scheck lab7

Remember that there are no late submissions of labs. Submit what you have prior to noon on Wednesday October 24. Be careful: one minute late is late.


Last modified on October 17, 2018.

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