ASST1b - CSE 430 OS/161 Assignment 1b Implementing and...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
CSE 430 OS/161 Assignment 1b Implementing and Testing Condition Variables and Locks Version 3 Tuesday December 1, 2009 In this assignment you will be implementing basic synchronization functionality that is currently missing from the OS/161 kernel – condition variables and locks. Then you will code a test program that uses this functionality and exercises your understanding of concurrency. Hard copy portions of ASST1b are due by class time on the date indicated in the class outline. The patch file must be submitted by midnight on the same date. The OS/161 Information page available via the OS/161_info link in the left frame on the class web site main page has information and links to all the necessary support information on running this project and submitting hard copy and patch file deliverables. Of particular relevance is a Word document called Hints for ASST1b. We will start this assignment by getting the kernel for it built. Building the Kernel You will be building the OS/161 kernel the same way you did in ASST1a. Before you start you should rename the OS161-1.10_asst1 directory you constructed for ASST1a so that you can refer to it and the catsem.c program you wrote in ASST1a. Then repeat the steps under Building the Kernel in ASST1a to generate a new OS161-1.10_asst1 source directory and cs161 object tree in your home directory. See OS/161 Handout #2 for what these should look like. Try test programs sy1 , sy2 and sy3 (see the section on OS/161 Thread Tests later in this write-up for more information on these tests). Only sy1 should work. Programming Section For this assignment, there will be two primary requirements: 1. Implement kernel locks and condition variables 2. Write code to test these locks and condition variables Locking and Thread Management Mechanisms The declarations for locks and condition variables can be found in kern/include/synch.h and the definitions can be found in kern/thread/synch.c . You should read over both of these files to get an idea of their organization. In doing this you will also see that there are skeleton data structures and functions that have not yet been completed. You will have to complete the implementation of these along with possibly adding additional code to existing functions and/or data structures. It is also recommended that you look over
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 05/12/2010 for the course CSE 41412 taught by Professor Hassan during the Fall '10 term at University of Arizona- Tucson.

Page1 / 3

ASST1b - CSE 430 OS/161 Assignment 1b Implementing and...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online