Programming Assignment 6

User-Level Thread Library

Objective

In this project, you will design and implement a user-level thread library which supports thread creation, thread scheduling, thread synchronization, and inter-thread communication (message passing and mailbox) functions.

Assignment

You will design and implement, in 4 phases, a user-level thread library.

Phase 1

Extra Credits: Challenging test cases...

Phase 2

Phase 3

Phase 4

How to get started

Start the project from the sample thread library (a zip file).

Test Runs

The TA will use the test programs T1, T1x, T1a, T2, T2a, T3, T4, T5, T6, T7, T8, T9, T10, and T11, to test your code against outputs 1, 1x, 1a, 2, 2a, 3, 4, 5, 6, 7, 8, 9 or 9.alt, 10, and 11 or 11.alt, and may use other test programs as well.
Blocking send/receive: [9 with active V], [9 with passive V], [11 with active V], [11 with passive V]

Contributed Test Runs from Students

Phase 1: Phase 2: Phase 3: Phase 4:

Grading