|OFICIAL||Operating Systems and Networks|
|Responsible unit:||Department of Informatics Engineering|
|Course/CS Responsible:||Master in Informatics and Computing Engineering|
|Acronym||No. of Students||Study Plan||Curricular Years||Credits UCN||Credits ECTS||Contact hours||Total Time|
|MIEIC||176||Syllabus since 2009/2010||2||-||6||56||162|
The main objectives of this curricular unit are to provide the fundamental knowledge on:
O1- the structure and the functioning of an operating system;
O2- the use of the Application Programming Interface (API) of a real .
The students who complete successfully this curricular unit must be able:
LO1- to describe the functions and the general structure of an operating system and to identify the main abstractions that it provides;
LO2- to describe the functioning of the essential components of an operating system, the way they interact and the fundamental algorithms used to implement them;
LO3- to develop programs using and exploring the API of a real operating system (Unix/Linux).
Previous knowledge: C programming language. Aproval in the curricular unit of Programming is recommended.
INTRODUCTION TO OPERATING SYSTEMS
- Objectives and functions of an operating system
- Evolution of operating systems; structure of modern operating systems
- Abstractions supported by an operating system and their programming interface
- Hardware support and protection requirements
- Processes and threads; process status
- Scheduling strategies
- Concurrent execution: problems and solutions
- Synchronization mechanisms between processes
- Basic memory management: overlays, swapping and partitions
- Virtual memory systems: paging and segmentation
- Implementation of virtual memory; strategies for memory allocation/ release
- Input/output hardware and software
- Abstraction of differences between devices
- File-system interface
- File-system implementation; disk management
SYSTEM PROGRAMMING (API, UNIX/LINUX) - covered along the course
- File and directory manipulation.
- Process and thread creation and management.
- Interprocess communication: signals, pipes, FIFOs, and shared memory.
- Process and thread synchronization: semaphores, mutexes and condition variables.
- Theoretical classes: exposure and discussion of the subject matter, accompanied by the resolution of small illustrative exercises.
- Theoretical/practical classes: resolution of programming exercises envolving the use of Unix/Linux API.
- Self-learning: study of the programme themes, using the bibliography and the materials available at the web page of the curricular unit; resolution of exercises and development of two projects, involving the use of the API.
|Frequência das aulas||56,00|
To be admitted to exams students have to attend to 75% of the classes and have to achieve a minimum mark of 40% in the practical assignments.
Continuous Assessment= 0.5*AG1 + 0.5*AG2 (AG1 and AG2- Assignment grade).
Even though practical assignments are group assignments, students can be graded in a different way, depending on the result of the evaluation of their performance during the project presentation and discussion.
Students who have attended to this course last year and have a passing mark in the continuous assessment component can keep the previous grade and do not need to attend classes and to do the practical assignments; for that, they need to inform the teacher at the beginning of the semester.
Final Mark= 0.5*CA + 0.5 *FE (CA- Continuous assessment; FE- Final Exam).
To be approved, students have to achieve a minimum grade of 40% in both components.
Students with a special status will be assessed in the same way as ordinary students. They have to do all the assignments and the final exames. Whenever possible the assignments should be done in the periods established for the regular students and submited in the same dates.
Students can only improve the mark of the continuous assessment component in the following year. Students can improve the mark of the written exam at the corresponding seasons (according to the rules).
Project work groups are composed by two students or, exceptionally, three students.