Go to:
Logótipo
You are here: Start > L.EEC017

Computing Systems

Code: L.EEC017     Acronym: SC

Keywords
Classification Keyword
OFICIAL Informatics

Instance: 2022/2023 - 2S Ícone do Moodle

Active? Yes
Responsible unit: Department of Electrical and Computer Engineering
Course/CS Responsible: Bachelor in Electrical and Computer Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
L.EEC 169 Syllabus 3 - 6 52
Mais informaçõesLast updated on 2023-01-21.

Fields changed: Calculation formula of final grade

Teaching language

Suitable for English-speaking students
Obs.: As aulas serão em Inglês sempre que haja pelo menos um estudante em aula que não seja falante de Português

Objectives


  • Expose the diversity of computing systems, from simple patforms for embedded applications to high-performance platforms with multi-core processors.

  • Present a computing system as a set of resources that must be managed in na efficient way to achieve a good performance.

  • Introduce the notion of operating system as a layer mediating the physical resources of a system and its users.

  • Present the different subsystems of an operating system, including the different managers of memory, I/O and processes, show how it can be used in an efficient way and how to measure its performance using benchmarks.

Learning outcomes and competences


  1. Be able to identify different kinds of computational systems and summarize the main differences among them.

  2. Be able to describe the main components of a general-purpose operating system, as well as the main algorithms and data structures used by these components.

  3. Be able to use the operating system API.

  4. Be able to use communication and synchronization primitives in concurrent programs to prevent race conditions.

  5. Be able to develop a device driver for a simple input/output device.

  6. Be able to explain the mechanisms available in an OS to ensure protection and security.

  7. Be able to explain how the configuration of a component of an operating system may affect the performance of applications.

  8. Be able to use evaluate the performance of the different components of an operating system and list the most common benchmarks used to measure their performance.

Working method

B-learning

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

Programming

Program


  1. Organization of a computing system: embedded systems, general purpose systems, multi-core processors and multi-processors, servers and distributed systems.

  2. Role of an operating system (OS) as the manager of the resources of a computing system. Structuring of an OS and its kernel. Monolithic and micro-kernel based OSs. Special purpose OS (e.g. RTOS).

  3. Process management. Multiprogramming and scheduling. Inter-process communication. Process management API.

  4. Threads. Concurrency and synchronization primitives. POSIX API for threads.

  5. Memory management. Pysical and virtual memory. Segmentation and paging.

  6. Device management. Devices, controllers and interrupts. Device drivers.

  7. File systems. Abstractions and their implementation. File system API.

  8. Security and protection. Authentication and authorization. Protection and confinement mechanisms.

  9. Performance evaluation and “benchmarking”.

Mandatory literature

Remzi H. Arpaci-Dusseau; Operating systems
Peter Marwedel; Embedded system design. ISBN: 978-3-319-56045-8

Complementary Bibliography

Jane Holcombe; Survey of operating systems. ISBN: 0-07-222511-4
William Stallings; Operating systems. ISBN: 978-1-292-21429-0
Alan Holt; Embedded operating systems. ISBN: 978-3-319-72977-0
Abraham Silberschatz; Operating system concepts. ISBN: 0-471-69466-5
Jonathan Corbert; LINUX device drivers. ISBN: 0-596-00590-3
José Alves Marques; Sistemas operativos. ISBN: 978-972-722-575-0
Andrew S. Tanenbaum; Modern operating systems. ISBN: 978-1-292-06142-9

Teaching methods and learning activities


  • The lectures are essentially expository. Whenever appropriate, examples are used to help the understanding of the material being taught, promoting interaciton with the students.

  • The lab classes consist of three assignments carried out in group but assessed individually, in which different hardware platforms are used, e.g., Arduino, Raspberry Pi, general purpose computer, to exercize the concepts taught in the lectures.

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 60,00
Trabalho laboratorial 40,00
Total: 100,00

Amount of time allocated to each course unit

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

Eligibility for exams

Having attended the laboratory classes and obtained a minimum grade of 7 over 20 in the laboratorial component.

Calculation formula of final grade

MT1 - Mini-test covering the first lab assignment
MT2 - Mini-test covering the second lab assignment
MT3 - Mini-test covering the third lab assignment
NL - Grade of the laboratory component
NE - Grade of the theory component
NF - Final grade

NL = (MT1 + MT2 + MT3) /3

NF = 50% NL + 50% NE

Passing is subject to a minimum grade of 7 over 20 in the laboratory (NL) and theory (NE) components

Classification improvement

The recourse exam allows replacing, if better, the grade of the theory component, only. The laboratory component cannot be repeated in the recourse.
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-17 at 22:50:45 | Acceptable Use Policy | Data Protection Policy | Complaint Portal