Skip to content

Freie Universität Bozen

Operating Systems

Semester 2 · 76270 · Bachelor in Informatik · 9KP · EN · IT


This course belongs to the type "Attività formative di base" and the subject area is "Informatica".

The goal of this module is to provide students with a solid understanding of operating systems and their core components and functionalities, the fundamentals of programming in C, scheduling algorithms, process management and synchronization, as well as memory management techniques.

Lehrende: Andrea Alexander Janes, Nicola Gigante

Vorlesungsstunden: 50
Laboratoriumsstunden: 40
Anwesenheitpflicht: Attendance is not compulsory; non-attending students may contact the lecturer at the start of the course to get support on the modalities of the independent study.

Themen der Lehrveranstaltung
- Operating Systems Structures - Processes, Threads and Concurrency - CPU Scheduling and Synchronization - Memory and Mass-Storage - I/O, File Systems - Networks and Distributed Systems - Data types, variables, operators, control structures (loops, conditionals), functions, and pointers - Dynamic memory allocation, arrays, structures, linked lists, stacks, and queues - File handling, bitwise operations, multi-file programs, debugging, and optimization

Unterrichtsform
The course includes frontal lectures and lab sessions.

Bildungsziele
Knowledge and Understanding - Know the fundamental principles of programming. - Know the innovative aspects of the last generation of operating systems. Applying knowledge and understanding - Ability to develop programs to interact with microcontrollers and the operating systems of modern computers. Ability to make judgments - Be able to work autonomously according to the own level of knowledge and understanding. Communication skills - Be able to use one of the three languages English, Italian and German, and be able to use technical terms and communication appropriately. Learning skills - Have developed learning capabilities to pursue further studies with a high degree of autonomy. - Be able to follow the fast technological evolution and to learn cutting edge IT technologies and innovative aspects of last generation information systems.

Art der Prüfung
Assessment includes programming assignments and projects aimed at implementing operating system functionalities or simulating system behavior, as well as a written exam designed to evaluate the understanding of fundamental concepts and in-depth knowledge of operating systems. The exam features open-ended questions that cover both theoretical topics and practical lab exercises. Non-attending students are expected to contact the lecturer at the beginning of the course to arrange an appropriate plan for independent study.

Bewertungskriterien
The final grade is a weighted average of the grades obtained in the two modules: Operating Systems and Networking (70%) and Programming in C (30%). In each module, the grade is based entirely on a written exam, which consists of two parts: a written part (counting 2/3 of the exam) assessing conceptual understanding, problem-solving skills, and the ability to explain key principles, and a practical part (counting 1/3 of the exam) evaluating hands-on proficiency in applying the concepts through code. The practical part is assessed based on the correctness of the solution, the structure and readability of the code, and the ability to explain the implementation. Attending students (attendance will be verified) can cover the practical part (1/3 of the exam) during the semester by participating in lab sessions and submitting exercises. Working students or those who do not attend the labs can present or solve a sub-set of the lab exercises during the final exam. A passing grade in both parts is required to pass the module. Project grades remain valid for the entire academic year. All grades reflect both correctness and, to a lesser extent, clarity of answers. Attending and non-attending students are assessed in the same way.

Pflichtliteratur
  • Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, and Riccardo Melen. Sistemi operativi. Concetti ed esempi. Ediz. Mylab. Con Contenuto digitale per accesso online. Pearson, 10th edition, February 2019. ISBN 978-88-919-0455-3. 
  • C tutorial at https://www.w3schools.com/c/ 


Weiterführende Literatur
  • Burattini and P. Chianese. Che C serve? Per iniziare a programmare. Maggioli Editore, 2nd edition, 2016. ISBN 978-88-916-1173-4. 
  • Andrew Tanenbaum and Herbert Bos. Modern Operating Systems. Pearson, Boston, 4th edition, March 2014. ISBN 978-0-13-359162-0. 


Weitere Informationen
The following software will be used during the course: - Ubuntu (https://ubuntu.com) - C (https://gcc.gnu.org) - Oracle VirtualBox (https://www.virtualbox.org) - Visual Studio Code (https://code.visualstudio.com) - Code Runner (https://marketplace.visualstudio.com/items?itemName=formulahendry.code-runner) - clang-format (https://docs.kernel.org/dev-tools/clang-format.html)


Als PDF herunterladen

Ziele für nachhaltige Entwicklung
Diese Lehrtätigkeit trägt zur Erreichung der folgenden Ziele für nachhaltige Entwicklung bei.

4

Modules

Semester 2 · 76270A · Bachelor in Informatik · 6KP · EN

Module A — Operating Systems M1:Operating Systems and Networking

This course belongs to the type "Attività formative di base" and the subject area is "Informatica".

The goal of this module is to provide students with a solid understanding of operating systems and their core components and functionalities, the fundamentals of programming in C, scheduling algorithms, process management and synchronization, as well as memory management techniques.

Lehrende: Andrea Alexander Janes

Vorlesungsstunden: 40
Laboratoriumsstunden: 20

Themen der Lehrveranstaltung
- Operating Systems Structures - Processes, Threads and Concurrency - CPU Scheduling and Synchronization - Memory and Mass-Storage - I/O, File Systems - Networks and Distributed Systems

Unterrichtsform
The course includes frontal lectures and lab sessions.

Pflichtliteratur
  • Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, and Riccardo Melen. Sistemi operativi. Concetti ed esempi. Ediz. Mylab. Con Contenuto digitale per accesso online. Pearson, 10th edition, February 2019. ISBN 978-88-919-0455-3.


Semester 2 · 76270B · Bachelor in Informatik · 3KP · IT

Module B — Operating Systems M2: Programming in C

This course belongs to the type "Attività formative di base" and the subject area is "Informatica".

The goal of this module is to provide students with a solid understanding of operating systems and their core components and functionalities, the fundamentals of programming in C, scheduling algorithms, process management and synchronization, as well as memory management techniques.

Lehrende: Nicola Gigante

Vorlesungsstunden: 10
Laboratoriumsstunden: 20

Infoanfrage