Computer Systems DV1, HT 2004, Project Assignment
General information
The Lecturers
- Jakob Engblom, Adjunct Lecturer (with a main job at [www.virtutech.com|Virtutech]), is responsible for the project overall. He has a desk in room 1445, but rarely sits there, and is best contacted via email to [1].
- Dan Wallin, PhD Student in the UART group, is the lab assistant. He sits in room 1241, and can be reached via email at [2].
Lab Assistant Hours
Groups
- The project is performed in groups of 4 to 5 students.
- The groups will be formed by the following algorithm:
- The students pair up into twos
- In some cases, groups of three are also possible
- These pairs are randomly combined to form groups of four or five students
- The random group forming will be done at 11.15 on September 30th 2004 in room 1211.
- All groups will be required to sign a group declaration form to show their serious intent to complete the project part of the course.
- All groups will appoint a group leader who acts as the face of the group outwards, and who is responsible for making sure that all group members participate in the work.
Students from Previous Years
For students who have taken the course previously, but did not complete the project, the deal is the following:
- You should work in the groups you were the last time you took the project course.
- Please make sure that these groups are declared when we do the final group divisions.
- You will do the same assignment as this year's students.
Group 1
Johan Andersson
Goten Gutgesell
Jonas Falkevik
Majd Mirza
Mattias Wadman
Markus Kristo
Group 2
Kristoffer Ramqvist
Christina Nilsson
Peter Malmqvist
Magnus Sjögren
Magnus Tengdahl
Group 3
Amders Söderlund
Rickard Engberg
Thomas Johansson
Robert Andersson
Peter Löfgren
Group 4
Björn Johannisson
Bob Sundholm
Gustav Tano
Rickard Lejon
Group 5
Henrik Back
Andrée Bylund
Fredrik Hultgren
Jens Nyberg
John Edwards
Group 6
Markus Liljergren
Pär Stenhall
Larry Canady
Sassam Askhan Far
Robert Sedzill
Group 7
Hua Dong
Daniel Nibon
Niklas Burwall
Mikael Laaksonen
Joel Björkman
Magnus Ekström
Group 8
Henrik Wallentin
Shaman Mahmoudi
Alexander Harju
Jesper Sundien
Kristoffer Kobosko
Grading
The grades for the prject part are only pass or fail (G or U). However, groups that do a very good project can raise their grades on the exam from a pass (G) to a pass with distinction (VG). Doing a very good project is defined as completing one or more extra credit requirements, as found in the specification of the project.
All projects are to be handed in at a specific date, before Christmas. If the project does not fulfil the basic requirements at this point, you will need to give a good structured explanation for why your project failed to produce the required output to pass the project. There will be no extensions given.
Time Plan
The project starts after the exam of part I of the course, and runs up until Christmas. In detail, this means:
- During period I -- group assignment (precise date for this will come later)
- October 20 -- official starting date of the project
- October 25 -- first lesson
- October 28 -- architecture sketch due
- November 10 -- system design due
- December 17 -- final hand-in
It is a good idea to familiarize yourself with the tools you will be using early on in the project. For example, make sure to setup cvs and do the Simics introduction lab.
Friday, December 17, there will be a final handin session. Each group is given approximately 25 minutes to show their results to the teachers. The sessions are scheduled on every half hour, starting at 08.15. A list will be displayed outside Dan's door for groups to sign up.
Schedule
There are scheduled lessons for the Computer Systems Project each Monday at 13.15-15.00, in room 1245, from October 25 to December 6. These lessons will be used to answer general questions that you might have, and to give a hoc lectures in various subjects that appear as important over the course of the project. We expect to give one or two instances of C-programming; what else happens will depend on your feedback!
The lessons are scheduled on the follwing dates, with preliminary contents:
Date | Preliminary contents |
---|---|
October 25 | Project setup, architecture sketch, system design, group work |
November 1 | Issues from the Architecture Sketch, C Programming (pointers etc.) |
November 8 | Questions on the System Design work, C Programming |
November 15 | Issues from the System Design |
November 19 | At 14.15 in room 1245... |
November 29 | |
December 6 |
For you to make maximal use of these lessons, we want you to:
- Email the project staff with questions about the specification, tools, project work, and C programming.
- Ask questions at the lessons!
- At least someone from each project group should attend each lesson, so that no important information is missed.
Booked Labs
For your convenience, lab rooms 1312 and 1313 are booked for your exclusive use for the Computer Systems Project on Mondays and Thursdays, 15.15 to 17.00 (except the UTNARM Thursday of November 4).
Tools
In the project, you will use a range of programming and project management tools, some of which will be new to you.
- To compile your C code, you will use a gcc MIPS cross-compiler.
- The main execution environment for your operating system kernel will be simulated MIPS computer based on a MIPS 4Kc processor and featuring some simple I/O capabilties. The computer will be simulated using Virtutech Simics, a very capable simulator.
- You will be using '''CVS''', the concurrent versioning system, to track your source files and changes to these files. Documentation for CVS can be found at www.cvshome.org, as well as on the project CVS page.
- To debug your code, you will use a gdb MIPS cross-debugger, with Simics as the remote target.
- There will be a set of example files to help you.