This assignment is worth 100 points and is broken into two parts: Activity Set A (50 points): A number of guided programming exercises with discussion questions which all together are worth 50 points. You may work on these guided programming exercises in small groups, but you must make your own writeup of the results of these exercises and turn that in as part of this assignment. Activity Set B (50 points): You will write your own set of subroutines to implement “readerswriter locks” using existing primitives. You will be required to demonstrate that your implementation functions by linking your code to a multi-threaded test application that will be provided. The test application must run without race conditions or locking of any kind. The text describing your specific deliverables is given in line with the narrative writeup and is rendered in green text. Included with this narrative writeup is a MS Word format answer sheet template that contains all of the green text questions and space for you to fill in your answers. Please use that template to produce a single PDF containing your Activity Set A answers. Your activity set B answer should be a single C code source file containing the source code of your readers-writer lock library. This source file should be commented in detail to explain what you are doing and why. Please refer to the answer template file for more details on how to format and submit your answers.