TDDB68: Concurrent Programming and Operating Systems
Labs Spring 2015
astmatix.ida.liu.se will only be available until midsummer 2015. If you are doing
the labs on Solaris please try to finish them before this date. Otherwise you need to change to Linux, this requires som change of the Pintos setup (e.g make files etc).
Registration, Documentation, Assignments
The last day to sign up for the labs in Webreg is Friday 2015-01-23. It usually takes some time (around 24 hours) for user information to propagate from the central servers to the IDA systems, so if you registread late on a course or changed your password this could be the reason if you have problems logging in to the computers or webreg. You need to be course registered on at least one IDA course, to be able to sign up in Webreg.If you encounter any problems with registration, please contact Erik Hansson (eriha AT ida.liu.se).
We recommend you to follow these soft deadlines to be able to finish the labs until March 17:
Lab00: January 22, 2015
Lab1: January 30, 2015.
Lab2: February 12, 2015.
Lab3: March 3, 2015.
Lab4: March 11, 2015.
Deadline for bonus
To get 4 point bonus on the exam the labs (00, 1, 2, 3 and 4) have to be passed by March 17, 2015 in webreg. This deadline is unnegotiable! Only students who are registered on the course for the first time in spring 2015 are eligible for this bonus.
This year we have a mandatory lab00 lab. It is an introduction to C.
The Pintos labs are intended to be done on Solaris. To get accsess to
solaris on the lab room linux computers do the follwoing:
Click on the Start-menu -> Internet -> Solaris Session
However, It is possible to do the labs on Linux as well, but there can somtimes be some issuse with debuging. Here are some information how to do it.
The assignments are done in pairs, but the examination is individual. This means that it may happen that only one student in a pair recieves the passing grade. You may do the assignments alone if you wish, but a pair always has priority to the computers and assistants.
Beyond the scheduled lab sessions you also have to spend non-scheduled time on these laborations.
For most students Laboration 3 is the most time consuming. You should know that the difficult part of Laborations 1 and 2 lies in understanding the problem, while the difficulty of Laboration 3 lies more in the implementation (especially synchronization issues).
Lab documentationSome of the lessons slides are from last year(s); updated slides will be put here after the lessons.
- The most important piece of documentation is the original pintos documentation [stanford.edu]. Or if you prefer it, as pdf. - The projects referred to in this document are not the same as our laboration assignments!
- Lesson 1, 2x2 Updated for 2015
- Lesson 2, 2x2 Updated for 2015
- Lesson 3, 2x2 Covers Lab 3 & 4. Updated 2015.
- A DDD lesson.
- Some general debugging topics.
- Lab00: Introduction to C programming Writing and debugging simple C programs.
- Lab0: Pintos: Introduction and installation
- Lab1: System calls
- Lab2: Threads, interrupts and synchronization
- Lab3: Execution, Termination and Synchronization of User Programs
- Lab4: File systems
- We only have one emulator, and that is Qemu. This means that there is no way to get deterministic program execution with multiple user processes. This makes race conditions more difficult to debug since you can not easily reproduce the output.
Working on Solaris from home
It is possible to access your home directory and run programs om Solaris remotely using ssh, if you have a ssh client installed (that is usually the case if you run Linux or Mac). In Linux you do the following in a terminal window:
- ssh -Y email@example.com
You can also mount your home directory as a directory on your local machine, in Linux in a terminal:
- Create a new directory, for example astmatix: mkdir astmatix
- sshfs -o idmap=user firstname.lastname@example.org:/home/your-liu-id ./astmatix
Rules of the game
The laboration assignments are part of the examination in the TDDB68
course. Therefore you will have to demonstrate your solutions to your
laboration assistant. And the assistant will test if you understand
the solution. If it is obvious that only one student in a group of two
understands the code and the concepts, then only that student will get
the passing grade.
IDA's general rules and policy for examination of computer labs
Rules for examination of computer lab assignments at IDA
You are expected to do lab assignments in group or individually, as instructed for a course. However, examination is always based on individual performance.
It is not allowed to hand in solutions copied from other students, or from elsewhere, even if you make changes to the solutions. If there is suspicion of such, or any other form of cheating, teachers are obliged to report it to the University Disciplinary Board.
Be prepared to answer questions about detailes in specific code and its connection to theory. You may also be asked to explain why you have chosen a specific solution. This applies to all group members.
If you foresee problems meeting a deadline, contact your teacher. You can then get some help and maybe the deadline can be set to a later date. It is always better to discuss problems, instead of, e.g., to cheat.
Any kind of academic dishonesty, such as cheating, e.g. plagiarism or use of unauthorized assistance, and failure to comply with university examination rules, may result in the filing of a complaint to the University Disciplinary Board. The potential penalties include suspension, warning.
Policy for handing in computer lab assignments at IDA
For all IDA courses having computer lab assignments there will be one deadline during or at the end of the course. If you fail to make the deadline, you must retake the, possibly new, lab course the next time the course is given.
If a course deviates from this policy, information will be given on the course web pages.
Page responsible: Christoph W Kessler
Last updated: 2015-04-22