Labs

All labs will be in 1549D.

If you are not used to using a UNIX system, it might be a good idea to read datorhandboken. Unfortunately it is only available in swedish. The most relevant parts for the lab are grundläggande kommandon and processer. You also need to know how to unpack the lab package: Komprimering och arkivering. Here's the quick way to do it: tar -xzvf lab1.solaris.tar.gz

You may work in groups of two. I can accept groups of three as well, but thats not recommended since it will be harder for everyone to understand the solution. Note that there will be questions on the exam regarding the labs, so make sure you understand your solutions.

Lab 1

Here is the lab package for the first lab: lab1.solaris.tar.gz.
The instructions and the documentation are included in the package, but also available separately here.

Don't forget to look in the docs subdirectory of the package for full documentation
on the jtux library that is used in the lab.

Hand it in by sending Magnus an email with answers to the questions in step 1, and with the source code to your program attached. Don't forget to tell who worked on the solution, if more than one person worked on it.

Lab 2

Please read up on the following in the textbook before doing the lab:

  • Semaphores (Section 7.4 in the 6th edition, or section 6.5 in the 7th edition.)
  • Deadlocks (Chapter 8 in the 6th edition, or chapter 7 in the 7th edition, in particular about deadlock prevention.)
  • The dining philosophers (Section 7.5.3 in the 6th edition, or section 6.6.3 in the 7th edition.)

Here is the package for the second assignment: lab2.solaris.tar.gz.
The instructions are included in the package, but also available separately here.

Hand it in by sending Magnus an email with the source code to your program attached. Don't forget to tell who worked on the solution, if more than one person worked on it.

Lab 3

Here is the package for the third assignment: lab3.solaris.tar.gz.
The instructions are included in the package, but also available separately here.
Here is some additional documentation you may find useful: lab3-documentation.pdf

There was a bug in create_ls.sh so that ls.sh would pass arguments properly. It has now been fixed (I believe), and the lab package has been updated. If you don't want to download it again, just get the updated version of create_ls.sh.

Hand it in by sending Magnus an email with the source code to your program attached. Don't forget to tell who worked on the solution, if more than one person worked on it.

Deadlines

The deadline for the first two labs is June 1st. The third deadline is June 8. If you hand them in earlier I might give you earlier feedback. I will try to mark stuff handed in before the deadline as soon as possible. If you hand in after the deadline I will mark them as time permits (which could be very late).