Operating Systems Project (ProSO)

2011/2012 Course (autum semester)

Català English

 

Lecturers

Course Description

Prior Skills

Docent Methodology

Course Scheduling

Projects and Submissions Description

Assessment

Documentation and Projects Statement

Bibliography

 


Lecturers

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


Back to top


Course Description

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.

Back to top


Prior Skills

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.

Prior skills required to course ProSO are:

Accordingly, students taking this course must previously have passed SO, EC2 and PRED in the FIB, or the equivalent courses in other engineering schools.



Back to top


Docent Methodology

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 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.

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.


Back to top


Course Scheduling

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.


Back to top


Projects and Submissions Description

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.


Back to top


Assessment

Plagiarism normative

The source code of your projects has to be totally of your own. If we detect that it is not, it will be considered a copy case and that submission will be marked with a 0. If this situation happens for more than one submission, then the course will be marked with a 0. In addition, copy cases will be notified to the school government board, so they can take the suitable disciplinary actions.

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.

Project 1: 70%

 

    The project 1 has three submissions:


   

Project 2: 30%



Back to top


Documentation and Projects statement

Project 1

- Basic ZeOS files

- Project 1 Statement

- Slides for Project 1

- 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)

Project 2

- Project 2 statement

- Slides for Project 2


Back to top


 

Bibliography

Basic bibliography

Complementary bibliography

Useful links

About bochs

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

Bochs debugging

Bochs Installation

About Linux

The Linux Documentation project

Linux i386 Boot Code HOWTO

Linux 2.4.x Initialization for IA-32 HOWTO

Linux kernel online book

Linux Cross-Reference

Linux source code

Linux kernel coding style

About general concepts on Operating Systems

Willian Stallings web page (provides slides for his book and other interestings links)

About computer architecture

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

About compilers

GCC Manuals

Makefile manual

 

Back to top


Creative Commons License
Aquesta obra estŕ subjecta a una Llicčncia de Creative Commons.

Última modificació:13 September, 2010