191.002 Operating Systems
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2023W, VU, 4.0h, 6.0EC
TUWELLectureTube

Properties

  • Semester hours: 4.0
  • Credits: 6.0
  • Type: VU Lecture and Exercise
  • LectureTube course
  • Format: Hybrid

Learning outcomes

After successful completion of the course, students are able to describe the structure and operation of computer systems, as well as the role and the functions of operating systems, judge design decisions for the management of OS resources, use mechanisms for the coordination of and the synchronization between parallel processes, and elaborate on OS security mechanisms.

Further, the graduates of the course are able to implement programs in the system programming language C in compliance with common coding standards and guidelines, which are able to realize interprocess communication and synchronization by leveraging resources offered by a UNIX system.

Subject of course

  • introduction to operating systems (definition, history, important abstractions, OS architectures)
  • processes and threads (process states, data structures and mechanisms for process management, multithreading)
  • process synchronization and deadlock (mutual exclusion & condition synchronization, synchronization mechanisms and constructs, synchronization problems: producer-consumer, reader-writer, dining philosophers, deadlock, deadlock conditions, deadlock avoidance, deadlock prevention, deadlock detection
  • memory management (allocation, relocation, segmentation, paging, virtual memory management, page replacement, protection and sharing)
  • input-output and disk management (devices and device characteristics, I/O operations, drivers, buffering, disks, file systems, file system organization)
  • networking (introduction, protocols, OS and networking)
  • security and protection (threats, security measures, design for security, access control, authentification, encryoption)
  • System programming in C (incl. coding standards and guidelines)
  • Programming environments (GNU/Linux)
  • Inter-process synchronization and communication
  • Signals and signal handling

Teaching methods

The listed topics will be introduced in the lecture, illustrative examples will be presented. Selected programming problems will have to be programmed in the lab assignments.

Mode of examination

Immanent

Additional information

All relevant information concerning the organization of this course will be announced during the course introduction, on Oct. 3, 13:00 c.t.!

Please consider online participation in the course introduction to avoid that the number of participants exceeds the seat capacity of the lecture hall (Link to live stream). Remote participants will be able to ask questions online.

Students who have passed the course 182.711 and still need to take the former 182.709 OS lab course are asked to do the lab part of the new OS VU 191.002. Please make sure you register for the course in TUWEL in time.

Students who have completed the OS lab 182.709 and still need to take the exam for the OS lecture (182.711) please register for an oral exam at the 182.737 course page. After the exam you'll receive a report for the old OS VO course 182.711.

This exercise class is only offered during the winter term.

ECTS breakdown: 6 ECTS = 150 hours

Hours Purpose
60 Lectures (Operating Systems, Introduction to C, Unix, and assignments), including postprocessing of lecture and preparation for test
82.5 Programming assignments
1.5 Delivery talks (3 x 0.5h)
6 Tests (3 x 2h)

Please send all emails regarding organizational questions to lva-betriebssysteme@tuwien.ac.at

Lecturers

Institute

Course dates

DayTimeDateLocationDescription
Tue13:00 - 15:0003.10.2023 - 23.01.2024Informatikhörsaal - ARCH-INF Vorlesung
Tue15:00 - 17:0003.10.2023 - 05.12.2023Informatikhörsaal - ARCH-INF Übung
Thu15:00 - 17:0005.10.2023 - 19.10.2023Informatikhörsaal - ARCH-INF Exercise
Mon12:00 - 20:0009.10.2023InfLab Frogger Getting Started Tutorial
Mon12:00 - 20:0009.10.2023InfLab Q*bert Getting Started Tutorial
Tue08:00 - 13:0010.10.2023InfLab Frogger Getting Started Tutorial
Tue08:00 - 13:0010.10.2023InfLab Q*bert Getting Started Tutorial
Thu08:00 - 15:0012.10.2023InfLab Frogger Getting Started Tutorial
Thu08:00 - 15:0012.10.2023InfLab Q*bert Getting Started Tutorial
Thu16:00 - 17:0012.10.2023InfLab Frogger Getting Started Tutorial
Fri10:00 - 11:0013.10.2023InfLab Frogger Getting Started Tutorial
Tue07:00 - 13:0024.10.2023 - 09.01.2024InfLab Frogger Lab Hours
Tue07:00 - 13:0024.10.2023 - 09.01.2024InfLab Q*bert Lab Hours
Tue18:00 - 20:0024.10.2023 - 09.01.2024InfLab Q*bert Lab Hours
Tue18:00 - 20:0024.10.2023 - 09.01.2024InfLab Frogger Lab Hours
Thu08:00 - 20:0009.11.2023 - 11.01.2024InfLab Frogger Lab Hours
08:00 - 20:0014.11.2023 - 24.11.2023InfLab Pong Delivery Talk 1
Tue13:00 - 16:0014.11.2023 - 21.11.2023InfLab Frogger Abgabegespräch 1
Tue13:00 - 16:0014.11.2023 - 21.11.2023InfLab Q*bert Abgabegespräch 1
Thu08:00 - 20:0016.11.2023 - 23.11.2023InfLab Q*bert Abgabegespräch 1
Thu20:00 - 21:0016.11.2023InfLab Q*bert Abgabegespräch 1
Fri08:00 - 20:0017.11.2023 - 24.11.2023InfLab Q*bert Abgabegespräch 1
Fri08:00 - 20:0017.11.2023 - 24.11.2023InfLab Frogger Abgabegespräch 1
Mon08:00 - 10:0020.11.2023InfLab Frogger Abgabegespräch 1
Mon08:00 - 12:0020.11.2023InfLab Q*bert Abgabegespräch 1
Mon16:00 - 18:0020.11.2023InfLab Q*bert Abgabegespräch 1
Wed08:00 - 10:0022.11.2023InfLab Q*bert Abgabegespräch 1
Wed14:00 - 16:0022.11.2023InfLab Q*bert Abgabegespräch 1
08:00 - 20:0012.12.2023 - 14.12.2023InfLab Pong Delivery Talk 2
Tue13:00 - 16:0012.12.2023InfLab Frogger Abgabegespräch 2
Tue13:00 - 16:0012.12.2023InfLab Q*bert Abgabegespräch 2
Thu08:00 - 20:0014.12.2023InfLab Q*bert Abgabegespräch 2
Mon08:00 - 10:0018.12.2023InfLab Q*bert Abgabegespräch 2
Mon08:00 - 10:0018.12.2023InfLab Frogger Abgabegespräch 2
08:00 - 20:0018.12.2023 - 21.12.2023InfLab Pong Delivery Talk 2
Tue13:00 - 16:0019.12.2023InfLab Q*bert Abgabegespräch 2
Tue13:00 - 16:0019.12.2023InfLab Frogger Abgabegespräch 2
Thu08:00 - 20:0021.12.2023InfLab Q*bert Abgabegespräch 2
Tue08:00 - 16:0016.01.2024InfLab Frogger Abgabegespräch 3
Tue08:00 - 16:0016.01.2024InfLab Q*bert Abgabegespräch 3
Tue18:00 - 20:0016.01.2024InfLab Frogger Abgabegespräch 3
Tue18:00 - 20:0016.01.2024InfLab Q*bert Abgabegespräch 3
08:00 - 20:0018.01.2024 - 19.01.2024InfLab Frogger Abgabegespräch 3
08:00 - 20:0018.01.2024 - 19.01.2024InfLab Q*bert Abgabegespräch 3
08:00 - 20:0018.01.2024 - 23.01.2024InfLab Pong Delivery Talk 3
Mon08:00 - 11:0022.01.2024InfLab Frogger Abgabegespräch 3
Mon08:00 - 20:0022.01.2024InfLab Q*bert Abgabegespräch 3
Mon14:00 - 20:0022.01.2024InfLab Frogger Abgabegespräch 3
Tue08:00 - 16:0023.01.2024InfLab Frogger Abgabegespräch 3
Tue08:00 - 16:0023.01.2024InfLab Q*bert Abgabegespräch 3
Thu13:30 - 15:3008.02.2024InfLab Frogger 2. Programmiertest
Operating Systems - Single appointments
DayDateTimeLocationDescription
Tue03.10.202313:00 - 15:00Informatikhörsaal - ARCH-INF Vorlesung
Tue03.10.202315:00 - 17:00Informatikhörsaal - ARCH-INF Übung
Thu05.10.202315:00 - 17:00Informatikhörsaal - ARCH-INF Exercise
Mon09.10.202312:00 - 20:00InfLab Frogger Getting Started Tutorial
Mon09.10.202312:00 - 20:00InfLab Q*bert Getting Started Tutorial
Tue10.10.202308:00 - 13:00InfLab Frogger Getting Started Tutorial
Tue10.10.202308:00 - 13:00InfLab Q*bert Getting Started Tutorial
Tue10.10.202313:00 - 15:00Informatikhörsaal - ARCH-INF Vorlesung
Tue10.10.202315:00 - 17:00Informatikhörsaal - ARCH-INF Übung
Thu12.10.202308:00 - 15:00InfLab Frogger Getting Started Tutorial
Thu12.10.202308:00 - 15:00InfLab Q*bert Getting Started Tutorial
Thu12.10.202315:00 - 17:00Informatikhörsaal - ARCH-INF Exercise
Thu12.10.202316:00 - 17:00InfLab Frogger Getting Started Tutorial
Fri13.10.202310:00 - 11:00InfLab Frogger Getting Started Tutorial
Tue17.10.202313:00 - 15:00Informatikhörsaal - ARCH-INF Vorlesung
Tue17.10.202315:00 - 17:00Informatikhörsaal - ARCH-INF Übung
Thu19.10.202315:00 - 17:00Informatikhörsaal - ARCH-INF Exercise
Tue24.10.202307:00 - 13:00InfLab Frogger Lab Hours
Tue24.10.202307:00 - 13:00InfLab Q*bert Lab Hours
Tue24.10.202313:00 - 15:00Informatikhörsaal - ARCH-INF Vorlesung

Examination modalities

Students have to solve three system programming tasks and take two practical tests as well as a theory test. The grading is based on the test results and the solutions to the programming tasks.

Submission of exercises and registration to tests/quiz in TUWEL.

Exams

DayTimeDateRoomMode of examinationApplication timeApplication modeExam
Fri08:00 - 20:0029.11.2024InfLab Frogger assessedunknownExam 1
Fri08:00 - 20:0029.11.2024InfLab Pong assessedunknownExam 1
Fri08:00 - 20:0029.11.2024InfLab Q*bert assessedunknownExam 1
Thu15:00 - 17:0016.01.2025GM 1 Audi. Max.- ARCH-INF assessedunknownTheorietest
Thu15:00 - 17:0016.01.2025Informatikhörsaal - ARCH-INF assessedunknownTheorietest
Thu15:00 - 19:0016.01.2025EI 3 Sahulka HS - UIW assessedunknownTheorietest
Thu15:00 - 19:0016.01.2025Hörsaal AE U1 - 1 - CEE assessedunknownTheorietest
Wed08:00 - 20:0022.01.2025InfLab Q*bert assessedunknownExam 2
Wed08:00 - 20:0022.01.2025InfLab Pong assessedunknownExam 2
Wed08:00 - 20:0022.01.2025InfLab Frogger assessedunknownExam 2
Mon16:00 - 18:0017.03.2025Informatikhörsaal - ARCH-INF writtenunknownTheorietest (Ersatz)

Course registration

Begin End Deregistration end
11.09.2023 12:00 08.10.2023 23:59 08.10.2023 23:59

Curricula

Study CodeObligationSemesterPrecon.Info
033 521 Informatics Mandatory3. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 526 Business Informatics Mandatory electiveSTEOP
Course requires the completion of the introductory and orientation phase
033 533 Medical Informatics Mandatory electiveSTEOP
Course requires the completion of the introductory and orientation phase
033 534 Software & Information Engineering Mandatory3. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 535 Computer Engineering Mandatory3. SemesterSTEOP
Course requires the completion of the introductory and orientation phase

Literature

No lecture notes are available.

Previous knowledge

Programming skills; systematic program development and evaluation.
Analysis of dependencies and interaction patterns, design of modular systems with interacting components.

Language

German