For queries, arrange always a
meeting with a previous email. All email addresses finish with @ac.upc.edu
Yolanda Becerra (coordinator, email: yolandab)
Office: D6-117
Queries: Wednesday from 10:00 to 13:00; Thursday from 8:00 to 10:00 and from 12:00 to 13:00
Jordi Garcia (email: jordig)
Office: C6-120
Queries: Monday from 10:00 to 13; Thursday from 10:00 to 13:00
Marisa Gil (email: marisa )
Office: C6-110
Queries: pending to update
This subject has 7.5 credits assigned. It implies a total of 150 work hours per course. Remind it has a high component of extra work due to the type of course. It is not remommendable to enrol into other project course a the same time.
You can find a whole and accurate description of the course goals in the ProSO page in the FIB web pages.
We will use the Racó web application to publish all grades and all notices regarding the course. In the Racó the students also have available a discussion forum dedicated to the ProSO course.
Test to
self-evaluate your knowledge about previous concepts :
before starting to develop the ProSO projects all students should be able to
answer all the questions of this test.
Accordingly, students taking this course must previously have passed SO, EC2 and
PRED in the FIB, or the equivalent courses in other engineering schools.
Prior skills required to course ProSO are:
Back to top
The theory classes will review the basic concepts underlying operating systems
needed to carry out the project, and will set out the project
requirements.
The Operating Systems Project is composed by
two parts:
During the course the students should make two partial submissions for the
project 1 and a final submission for each project. After each delivery, the
advisor will show to each student the incorrect issues that must be
solved/improved for the following deliveries.
At the end of each delivery the student will validate his project with his
advisor. This validation will be done through a quiz about the
knowledge required to develop his project. Each project will be evaluated based
on: the software delivered, a global evaluation about the student evolution and
a continuous assesment grade (that will be calculated based on the answers to his advisor's questions both in laboratory classes and in the final quiz for each submission).
Project 1 will have two partial submissions and a final submission, and project
2 will have only one final submission.
This is the course scheduling per weeks. You can see in the figure the scheduling for
the theory classes associated to each partial submission. You can also see the deadline for each partial
submission as well as the scheduling for each quiz. These dates are firm:
we will not evaluate any code submitted after the deadline and all the students have to take each quiz
on the scheduled date (no exception will be made).
The students have to prepare previously the theory classes.
They have to read previously the documentation of this part and had
reviewed the concepts of previous subjects that they find troublesome.
Submissions for P1 P0:
The first one is an
introductory session which introduces the tools that will be used
during the project and it also deals with the mechanism to start up
the system. This first session does not have an associated mark but
it must be done. In the project quizzes can appear questions related
to this delivery. Not being able to use the work environment, for
example the debugger or commands like objdump can be a cause for
losing points in the project mark.
S1.1:
The second part corresponds to
the input mechanisms of the system: interrupts (clock and
keyboard), exceptions and system calls. This part corresponds to
the first partial submission that will be done by March 2nd through the
Racó. S1.2:
The third part corresponds
mainly to the processes management. This part corresponds to
the second partial submission that will be done by March 30th through the
Racó. S1.3:
The fourth part corresponds to the Input/output management. This submission
should also include a document describing the most relevant design and
implementation issues involved in this project part. Moreover, you have to
deliver the code for the full project (in a file .tar.gz). This submission will
be done by April 27 through the Racó Submission for P2 S2.1 (unique P2 submission): Submission for project 2 will be done by May 25th.
The project will be implemented in lab classes (usually with support being
provided by the lab teacher). Students will be given time in the lab to complete
the project. Teachers will be in the lab classes during a previously arranged set of hours. It is mandatory to attend those arranged laboratory classes as the teacher will assess the evolution of your projects on them.
Course Scheduling
Projects and Submissions Description
After each submission the students will have to validate the delivered code answering a set of questions related to the concepts needed to develop the code of their projects. The result of this quiz will be taken into account as part of the continuous assessment grade. Those students that fail to deliver the code for a submission are not allowed to answer the quiz associated to that submission.
The project 1 has three submissions:
Project 2: 30%
- For the final submission: Description of the document to submit at the end of project 1.
- Tests Libraries: This package contains libraries with tests that can be helpful to validate your code. Take into account that there are some things which can not be controlled with a generic test for everybody (it means that it is possible to have errors in your code not detected by these libraries). To execute the tests you only have to call the runjp routine from your user.c file. and link the user executable with the corresponding library (in the package you will find a README file with more detailed instructions).
- i386
assembler appendix (written in spanish)
-
C preprocesser Appendix (written in spanish)
- C programming appendix: conventionand pointers (written in catalan)
In this link you will find a video about how to install bochs 2.3 in Ubuntu.
This video has been provided by a previous ProSO student (Lluis M. Garcia,
2006-2007 course, spring semester).
http://www.labav1.org/bochs_proso/bochs_proso.html
The Linux Documentation
project
Willian Stallings web page (provides slides for his book and other interestings links)
Slides
for the EC2 course (written in spanish). Assembler code.
Manuals
about PC architecture and about Intel 80x86
Intel, Intel
Architecture Software Developer's Manual, vol 3: System programming
![]()
Aquesta obra estŕ subjecta a una Llicčncia de Creative
Commons.
Última modificació:13 September, 2010