Go to:
Logótipo
You are here: Start > EIC0027

Operating Systems

Code: EIC0027     Acronym: SOPE

Keywords
Classification Keyword
OFICIAL Operating Systems and Networks

Instance: 2020/2021 - 2S Ícone do Moodle

Active? Yes
Web Page: https://moodle.up.pt/course/view.php?id=1639
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 177 Syllabus since 2009/2010 2 - 6 56 162
Mais informaçõesLast updated on 2021-01-22.

Fields changed: Objectives, Resultados de aprendizagem e competências, Pre_requisitos, Métodos de ensino e atividades de aprendizagem, Fórmula de cálculo da classificação final, Avaliação especial, Bibliografia Complementar, Obtenção de frequência, Programa, Observações, Modo de trabalho, Componentes de Avaliação e Ocupação, Bibliografia Obrigatória, Melhoria de classificação

Teaching language

Suitable for English-speaking students
Obs.: Se houver alunos inscritos não fluentes em Português, as aulas e as provas, na generalidade, serão em Inglês.

Objectives

The main objectives of this curricular unit are to provide the fundamental knowledge on:
O1- the structure and the operation of a generic operating system;
O2- the use of the Application Programming Interface (API) of a real operating system.

Learning outcomes and competences

The students who complete successfully this curricular unit should be able to:
LO1- describe the functions and the general structure of an operating system and identify the main abstractions that it provides;
LO2- describe the operation of the essential components of an operating system, the way they interact and the fundamental algorithms used to implement them;
LO3- develop programs using and exploring the API of an Unix-type operating system.

Working method

B-learning

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

Previous knowledge of programming with the C language is required. Approval in the curricular unit of "Programming" is recommended.

Program

INTRODUCTION TO OPERATING SYSTEMS
- Objectives and functions of an operating system
- Abstractions supported and their programming interface
PROCESS MANAGEMENT
- Processes and threads
- Concurrent execution: problems and solutions
- Synchronization mechanisms between processes/threads
MEMORY MANAGEMENT
- Basic physical memory management
- Virtual memory: need and management mechanisms
INPUT/OUPUT SYSTEMS
- hardware and software
- Abstraction of differences between devices (to the user and the programmer)
FILE SYSTEMS
- File-system importance and interface to the user and the programmer
- File-system internal structure and storage on "durable" devices

Complementar practical part (covered along the course )
SYSTEM PROGRAMMING (UNIX/LINUX API)
- 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

Tanenbaum, A & Bos, H. ; Modern Operating Systems. , Pearson Education Limited, 2015
Arpaci-Dusseau, R.& Arpaci-Dusseau, A.; Operating Systems: Three Easy Pieces, Arpaci-Dusseau Books, 2018 ( (freely available at: http://pages.cs.wisc.edu/~remzi/OSTEP/))
Miguel Pimenta Monteiro; O Sistema Operativo Unix - Alguns aspectos da sua API
Richard W. Stevens, Stephen A. Rago; Advanced Programming in the UNIX Environment (2nd edition), Addison-Wesley Professional, 2005. ISBN: 0201433079

Complementary Bibliography

Stallings, W. ; Operating Systems: Internals and Design Principles (9th ed), Pearson, 2017
Silberschatz, A.; Galvin, P. & Gagne, G.; Operating System Concepts (9th ed), John Wiley & Sons, Inc.
Stevens, W. Richard; Unix network programming. ISBN: 0-13-081-081-9
Marques,J.; Ferreira P.; Ribeiro,C. ; Veiga,L. & Rodrigues, R. ; Sistemas Operativos (2.a ed), FCA, 2012
Robbins, K. & Robbins , S.; UNIX systems programming: Communication, Concurrency And Threads (2th ed), Prentice Hall. , 2015

Teaching methods and learning activities

- Theoretical classes: presentation and discussion of the subject matter, accompanied by the resolution of small illustrative exercises.
- Theoretical/practical classes: resolution of programming exercises involving the use of the 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
Trabalho prático ou de projeto 50,00
Total: 100,00

Amount of time allocated to each course unit

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

Eligibility for exams

The continuous assessment grade (NotFreq) results from the expression:
   NotFreq =  0.4 * NotMP1 + 0.3 * NotMP2a + 0.3 *NotMP2b
where
   NotMP1 - grade of the 1st assignment
   NotMP2a, NotMP2b - grades of the 2nd assignment, respectively, of its 1st part and of its 2nd part

Remarks:
1- To be admitted to exams, students have to achieve a minimum mark of 40% of the continuous assement grade and to have attended at least 75% of the practical classes.
2- Although the mini-projects are carried out by students in a group, members of the same group may have a different classification in any of the works: this will depend on the opinion of the teacher and the self-assessment within the group.
3- 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 practical classes.

Calculation formula of final grade

The final mark (NotFinal) results from the expression:
   NotFinal =  0.5 * NotFreq + 0.5 * NotExam
where
   NotFreq - grade of the continuous assessment
   NotExam - grade of the final exam

However, in order to pass the course unit a minimum grade in the written exam of 40% of the scale is required.

Special assessment (TE, DA, ...)

Students with special status are subject to the same assessment conditions as regular students, except that they are exempt from attending practical classes.
Special-season exams are therefore equivalent to the written exams of normal and resit periods for regular students.

Classification improvement

The overall grade of the practical works can only be improved in the following academic year.
The grade of the written exam can be improved in the exam seasons legally provided.

Observations

If in person, the individual written exam will be done without consultation of any documentation other than that provided by the teacher.
Very important: cases of dishonest academic conduct will be presented to the Course Director.
Recommend this page Top
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2024-09-02 at 17:39:15 | Acceptable Use Policy | Data Protection Policy | Complaint Portal