TDDB68: Concurrent Programming and Operating Systems
Labs Spring 2017
Registration, Documentation, Assignments
Lab demonstrations after the course has finishedThere will be three occasions during 2017 to demonstrate solutions:
- April 24/4
- June re-exam period (5-9/6)
- August re-exam period (21-25/8)
- Which labs you wish to demonstrate (note that we only accept demonstrations when you have completed all the labs)
- If you have any hard constraints with other courses (if so indicate which courses)
- 2017-04-17 for the April demonstration
- 2017-05-24 for the June demonstration
- 2017-08-14 for the August demonstration
The last day to sign up for the labs in Webreg is Monday 2017-01-16. If you encounter any problems with registration, please contact Simon Ståhlberg (firstname.lastname@example.org).
We recommend you to follow these soft deadlines to be able to finish the labs until March 10:
Lab00: January 17, 2017.
Lab1: January 27, 2017.
Lab2: February 3, 2017.
Lab3: February 24, 2017.
Lab4: March 7, 2017.
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 10, 2017 in webreg. This deadline is unnegotiable! Only students who are registered on the course for the first time in spring 2017 are eligible for this bonus.
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).
- 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. (Updated 25-01-17)
- Lesson 2. (Updated 09-02-17)
- Lesson 3. (Updated 09-02-17)
- 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
Handing in code
In order to ensure that the code being examined by the lab assistant has been submitted by both students in the lab group the following process should be followed.
- Always send email from your LiU student account.
- Always include the course code in the subject of your email and also information about whether you want to submit code or ask a question. Do not mix the two.
- When submitting the code to your lab assistant, include your lab partner in the list of recipients.
- Include the following text in your submission:
We hereby submit this program code as part of the examination for the programming labs in TDDB68 Process programming and operating systems. We guarantee that all submitted code except for parts included from the lab skeleton has been written entirely by us.
- The student not sending the email should reply to all and state: I confirm the contents of the email to which this is a reply.
Working on the lab computer from home
It is possible to access your account on the lab computer systems remotely and run program using Thinlinc and connect to thinlinc-und.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 remote-und: mkdir remote-und
- sshfs -o idmap=user email@example.com:/home/your-liu-id ./remote-und
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: Mikael Asplund
Last updated: 2017-05-11