Description of Course Unit: Operating Systems

Code: EIC0027     Acronym: SOPE

Keywords
Classification Keyword
OFICIAL Operating Systems and Networks

Instance: 2018/2019 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEIC 196 Plano de estudos a partir de 2009/10 2 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
Jorge Alves da Silva

Teaching - Hours

Lectures: 2,00
Recitations: 2,00
Type Teacher Classes Hour
Lectures Totals 1 2,00
Jorge Alves da Silva 2,00
Recitations Totals 7 14,00
João Pedro Matos Teixeira Dias 2,00
José Manuel de Magalhães Cruz 6,00
Flávio Henrique Ferreira Couto 2,00
Pedro Miguel Moreira da Silva 4,00

Teaching language

Portuguese - Suitable for English-speaking students

Objectives

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 .

Learning outcomes and competences

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

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Previous knowledge: C programming language. Aproval in the curricular unit of Programming is recommended.

Program

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
PROCESS MANAGEMENT
- Processes and threads; process status
- Scheduling strategies
- Concurrent execution: problems and solutions
- Synchronization mechanisms between processes
- Deadlocks
MEMORY MANAGEMENT
- Basic memory management: overlays, swapping and partitions
- Virtual memory systems: paging and segmentation
- Implementation of virtual memory; strategies for memory allocation/ release
INPUT/OUPUT SYSTEMS
- Input/output hardware and software
- Abstraction of differences between devices
FILE SYSTEMS
- 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.

Mandatory literature

Avi Silberschatz, Peter Baer Galvin, Greg Gagne; Operating System Concepts (8th edition), John Wiley & Sons, Inc., 2008. ISBN: ISBN 0-470-12872-0
Robbins, Kay A.; UNIX systems programming. ISBN: 0-13-042411-0
Miguel Pimenta Monteiro; O Sistema Operativo Unix - Alguns aspectos da sua API

Complementary Bibliography

Andrew S. Tanenbaum; Modern operating systems. ISBN: 0-13-813459-6
William Stallings; Operating Systems: Internals and Design Principles, 6/E, Prentice Hall, 2008. ISBN: 0136006329
Richard W. Stevens, Stephen A. Rago; Advanced Programming in the UNIX Environment (2nd edition), Addison-Wesley Professional, 2005. ISBN: 0201433079
Stevens, W. Richard; Unix network programming. ISBN: 0-13-081-081-9
José Alves Marques, Paulo Ferreira, Carlos Ribeiro, Luís Veiga, Rodrigo Rodrigues; Sistemas Operativos, FCA, 2009. ISBN: 978-972-722-575-0

Teaching methods and learning activities

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

 

Software

Sistema de desenvolvimento em C
Sistema operativo LINUX

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 50,00
Teste 20,00
Trabalho laboratorial 30,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 78,00
Frequência das aulas 56,00
Trabalho laboratorial 28,00
Total: 162,00

Eligibility for exams

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 distributed evaluation and a minimum of 30% in the short exam.

Continuous assessment (CA)= 0.4*MT + 0.6*TP, whre MT="short exam grade" and "TP"="assignment grade").

Students who have attended to this course last year and have a passing mark in the continuous assessment component can keep the previous grade; in this case, they need to inform the teacher during the first week of the semester, and should not enroll in the classes.

Calculation formula of final grade

Final Mark= 0.5*CA + 0.5*FE, where CA="continuous assessment grade" and FE="final exam grade".

The final mark cannot exceed by more than 4 points the mark of the final exam rounded to the nearest integer.

Special assessment (TE, DA, ...)

The short exame and the practical assignment are compulsory for all students, even those who are exempt from attending classes. Students who are exempt from attending classes should contact the teacher responsible for the course for scheduling sessions to follow up their work. The defense of practical work is compulsory for all students.

Classification improvement

The improvement of the grade obtained in this occurrence of the curricular unit can be done as follows:
- The grade of the short exam can be improved in the exams of this edition of the curricular unit, the mark attributed to the short exam being equal to the mark obtained in the exam.
- The grade of the practical work can be improved in the next edition of the curricular unit.
- The grade of the exam can be improved in future exam seasons, according to the rules.

The improvement of the grade obtained in the previous academic year can be done as follows:
- The classification of the distributed component can be improved by doing the short-exam and the practical work, on the dates scheduled for the remaining students;
- The grade of the exam can be improved in the exam seasons, according to the rules.