Code: | EEC0139 | Acronym: | SO |
Keywords | |
---|---|
Classification | Keyword |
OFICIAL | Informatics |
Active? | Yes |
Web Page: | http://web.fe.up.pt/~pfs/aulas/so2015/ |
Responsible unit: | Department of Informatics Engineering |
Course/CS Responsible: | Master in Electrical and Computers Engineering |
Acronym | No. of Students | Study Plan | Curricular Years | Credits UCN | Credits ECTS | Contact hours | Total Time |
---|---|---|---|---|---|---|---|
MIEEC | 69 | Syllabus | 3 | - | 6 | 56 | 162 |
1- Background
The perating system is an essential component of virtually all (micro)processor-based systems. The knowledge of its organization and of its implementation is essential to be able to take advantage of the physical resources of these kinds of systems. This knowledge is especially useful for the development of very simple embedded systems (typically the domain of the electrical/electronics and computer engineer) because thes systems usually do not use a full-fledged operating system, but need some of its functionalities.
Operating systems are inherently concurrent, and their study provides a context in which to study concurrency, which is increasingly important given that multi-core processors are now ubiquitous.
2- Specific objectives
The objectives of this course are:
- their organization
- the services they provide
- the implementation of these services
3- Percentual distribution
Scientific: 30%
Technological: 70%
After successful completion of this course, students should be able to:
It is expected that the students have the knowledge and the skills typically acquired in courses on:
Introduction to operating systems (OS): concepts, functionality and interfaces. Organization of an OS. Kernel of an OS. Monolithic OS vs micro-kernel based OS. Processes: Model, scheduling and inter-process communication. API for process management. Concurrency: multiprogramming, synchronization and deadlocks. POSIX threads and its synchronization primitives. I/O: device controllers, interrupts and device drivers. Memory management: physical vs. virtual memory, paging and segmentation. Files and file systems, and their implementation. File system API. Security in OS. Authentication and authorization. Protection and confinement mechanisms.
Theoretical classes are expository. Whenever appropriate, examples are used to help the understanding of the material being taught. The course contents follows closely that of the main bibliography. The lab classes take place in a computer lab, and are used both to solve small programming assignments using system calls and a project where students develop a simple char device drirver.
In the second half of April, students will have to take a 3 hour programming exam, consisting in the development of programs similar to the programming assignments presented in the lab classes.
By the end of the semester, students will have to submit a small project consisting in the development of a simple char device driver for Linux.
The final exam, whith a duration of 2 hours, covers not only the theoretical issues but also programming issues, including the project.
Designation | Weight (%) |
---|---|
Exame | 50,00 |
Participação presencial | 10,00 |
Teste | 20,00 |
Trabalho laboratorial | 20,00 |
Total: | 100,00 |
Designation | Time (hours) |
---|---|
Estudo autónomo | 76,00 |
Frequência das aulas | 56,00 |
Trabalho laboratorial | 30,00 |
Total: | 162,00 |
Students must not miss more than 25% of the lab classes, and must have a minimum of 40% in the project and of the programming test. Furthermore the average of these two grades must not be lower than 45%.
0,5ET + 0,1 PA + 0,2 PP + 0,2 Pr
where:
ET- Final exam
PA- Class participation
PP- Programming test
Pr- Project
In special exam sessions, students that have not achieved a score above 45% in the average of the programming exam and the project, are required to take another programming and or handing in a new project, which must be approved by the staff.
For students who are allowed by law to skip classes, the score assigned to class participation are reallocated to the programming exam and to the project, which will have a weight of 25% each. The programming exam must be taken together with the other students. The project must be presented in the last week of classes, in a date a place to agree between each student and the class staff.
The grade in the final exam may be improved by taking another exam during the official exam sessions.
Classes may be given in English if all the enrolled students agree or if some of the enrolled students do not understand Portuguese.