TDDB68: Concurrent Programming and Operating Systems
Labs Spring 2013
Registration, Documentation, Assignments
Lab Registration
The last day to sign up for the labs in Webreg is 2013-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).Reccomended Deadlines
We recommend you to follow these soft deadlines to be able to finish the labs until March 11:
Lab1: January 29, 2013.
Lab2: February 7, 2013.
Lab3: February 27, 2013.
Lab4: March 5, 2013.
Deadline for bouns
To get 4 point bonus on the exam all labs (1-4) have to be passed by March 11, 2013 in webreg. This deadline is unnegotiable! Only students who are registered on the course for the first time in spring 2013 are eligible for this bonus.
Working from home
It is possible to access your home directory and run programs 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 your-liu-id@astmatix.ida.liu.se
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 your-liu-id@astmatix.ida.liu.se:/home/your-liu-id ./astmatix
General Information
We encourage you to do the introductory lab00 lab. If you finish it, you know that you have the programming skills that you need when doing the Pintos laborations.
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.
There are 17 lab sessions in VT1. In addition to this, 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 documentation
Some of the lessons slides are from last year; 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 2013.
- Lesson 2, 2x2 -- Updated 2012. Will be updated for 2013
- A DDD lesson.
- Some general debugging topics.
Assignments
- Lab00: Introduction to C programming - Writing and debugging simple C programs - an example solution will be available after the first lab session
- Lab0: Pintos: Introduction and installation
- Lab1: System calls
- Lab2: Threads, interrupts and synchronization
- Lab3: Execution, Termination and Synchronization of User Programs
- Lab4: File systems
Pintos limitations
- 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.
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.
Don't cheat!
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: 2013-01-21
