TDDB63 Concurrent Programming and Operating Systems
Laboratory Work HT 2005
General Information
- Laboratory Procedures for TDDB63
- Material useful for the assignments
- Guidelines for writing and changing source code
- Lab Status
- Frequently Asked Questions
Lab registration
Lab registration is done through a web interface.
Nachos IDA Distribution
6th Sep 2004:
Patched Nachos IDA distribution such that it compiles with gcc 3.3.2
Download: Patched Nachos IDA distrib
Download: Nachos IDA distribution (unpacked).
Assignments
- Introduction to NACHOS
- Laboratory Assignment 1
- Laboratory Assignment 2
- Laboratory Assignment 3
- Laboratory Assignment 4 (optional)
- Laboratory Assignment 5 (optional)
Lesson Slides
See the slides page for the lab lesson slides.
Test programs
- Lab 1, Threads.
A test program for testing your bounded buffer code (replace your threadtest.cc) : threadtest.cc. Uses- BoundedBuffer::BoundedBuffer(int size)
- int BoundedBuffer::read()
- void BoundedBuffer::write(int value)
- Lab 4, Filesystem.
The following three source codes could help you test your synchronization. It uses two files "file.1" and "messages". The first file will be written by the two writers with buffers longer than two sectors. Every time a writer writes something in the file, it uses a buffer filled with the same (but different each time) letter. Readers read more than two sectors in their own buffers and test if they contain the same letter all over! "messages" contains only feedback from the readers. In principle, for a good implementation, the messages file should only contain "cool" strings. Don't forget to run it for lots and lots of different random seeds (-rs 873 flag). (Warning: Alpha versions!!! - means never been tested). You might find out that your programs do not fit all together in the memory. In this case, increase the number of your available pages until they do. A Makefile is also provided.
Page responsible: Andrzej Bednarski
Last updated: 2005-08-30
