Operating-Systems

Operating Systems

About

  • Module: Operating Systems (CO-562)
  • Semester: Fall 2024
  • Prerequisites: Algorithms and Data Structures (CH-231)
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
  • TA (Group A): Borsos, Matheas-Roland
  • TA (Group B): Dominguez Ham, Santiago
  • TA (Group C): Jovanoska, Dora
  • TA (Group D): Kenesbek, Serzhan
  • TA (Group E): Murza, Dmytro
  • Lecture: Tuesday, 14:15-15:30 (ICC-East Wing)
  • Tutorial: Tuesday, 15:45-17:00 (ICC-East Wing)
  • Lecture: Thursday, 15:45-17:00 (RLH-172)
  • TA Tutorial: Thursday, 19:30-20:30 (West Hall 2)
  • 1st Module Exam: Thursday, 2024-12-12, 17:00-19:00, IRC Eastwing + Conference Hall
  • 2nd Module Exam: Thursday, 2025-01-30, 17:00-19:00, TBD

Content and Educational Aims

This module introduces concepts and principles used by operating systems to provide programming abstractions that enable an efficient and robust execution of application programs. Students will gain an understanding of how an operating system kernel manages hardware components and how it provides abstractions such as processes, threads, virtual memory, file systems, and inter-process communication facilities. Students learn the principles of event-driven and concurrent programming and the mechanisms that are necessary to solve synchronization and coordination problems, thereby avoiding race conditions, deadlocks, and resource starvation. The Linux kernel and runtime system will be used throughout the course to illustrate how key ideas and concepts have been implemented and how application programs can use them.

Operating Systems

About

  • Module: Operating Systems (CO-562)
  • Semester: Fall 2023
  • Prerequisites: Algorithms and Data Structures (CH-231)
  • Prerequisites: Introduction to Computer Science (CH-232)
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
  • TA (Group A): Muratovic, Haris
  • TA (Group B): Perial, Razvan Andrei
  • TA (Group C): Stefanovska, Tea
  • TA (Group D): Stratulat, Cristian-Mihai
  • Class: Tuesday, 14:15-15:30 (ICC-East Wing)
  • Class: Tuesday, 15:45-17:00 (ICC-East Wing)
  • Class: Thursday, 15:45-17:00 (RLH 172)
  • Tutorial: Thursday, 18:00-19:00 (East Hall 1)
  • 1st Module Exam: Saturday, 2023-12-16 12:30-14:30 (SCC Hall 1-2)
  • 2nd Module Exam: Monday, 2024-01-22 14:00-16:00 (ICC East Wing)
  • 3rd Module Exam: Friday, 2024-08-23 11:00-13:00 (R1-53)

Content and Educational Aims

This module introduces concepts and principles used by operating systems to provide programming abstractions that enable an efficient and robust execution of application programs. Students will gain an understanding of how an operating system kernel manages hardware components and how it provides abstractions such as processes, threads, virtual memory, file systems, and inter-process communication facilities. Students learn the principles of event-driven and concurrent programming and the mechanisms that are necessary to solve synchronization and coordination problems, thereby avoiding race conditions, deadlocks, and resource starvation. The Linux kernel and runtime system will be used throughout the course to illustrate how key ideas and concepts have been implemented and how application programs can use them.

Operating Systems

About

  • Module: Operating Systems (CO-562)
  • Semester: Fall 2022
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
  • TA (Group A): Aydin, Ahmed Hamza
  • TA (Group B): Eshkiki, Hassan
  • TA (Group C): Eshkiki, Hassan
  • TA (Group D): Kvavilashvili, Luka
  • TA (Group E): Sunar, Shishir
  • Class: Tuesday, 14:15-15:30 (RLH 172)
  • Class: Tuesday, 15:45-17:00 (RLH 172)
  • Class: Thursday, 15:45-17:00 (RLH 172)
  • Tutorial: Monday, 20:00-21:00 (West Hall 2)
  • 1st Module Exam: Monday, 2022-12-12, 09:00-11:00, SCC Halls 1-4
  • 2nd Module Exam: Monday, 2023-01-23, 09:00-11:00, ICC East Wing
  • 3rd Module Exam: Thursday, 2023-08-24, 17:00-19:00, Research I, Lecture Hall

Content and Educational Aims

This module introduces concepts and principles used by operating systems to provide programming abstractions that enable an efficient and robust execution of application programs. Students will gain an understanding of how an operating system kernel manages hardware components and how it provides abstractions such as processes, threads, virtual memory, file systems, and inter-process communication facilities. Students learn the principles of event-driven and concurrent programming and the mechanisms that are necessary to solve synchronization and coordination problems, thereby avoiding race conditions, deadlocks, and resource starvation. The Linux kernel and runtime system will be used throughout the course to illustrate how key ideas and concepts have been implemented and how application programs can use them.

Operating Systems

About

  • Module: Operating Systems (CO-562)
  • Semester: Fall 2021
  • Instructor: Jürgen Schönwälder
  • Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
  • TA (Group A): Biehl, Jose Ignacio
  • TA (Group B): Karki, Aabishkar
  • TA (Group C): Merkaj, Edli
  • Class: Tuesday, 15:45-17:00 (RLH-172 CNLH)
  • Class: Tuesday, 17:15-18:30 (RLH-172 CNLH)
  • Class: Thursday, 15:45-17:00 (RLH-172 CNLH)
  • Tutorial: Monday, 20:45-22:15 (TAs, Teams)
  • 1st Module Exam: Thursday, 2021-12-16, 16:00-18:00 (SCC Halls 1+2)
  • 2nd Module Exam: Thursday, 2022-01-27, 14:00-16:00 (ICC-West Wing Conference Hall)

Content and Educational Aims

This module introduces concepts and principles used by operating systems to provide programming abstractions that enable an efficient and robust execution of application programs. Students will gain an understanding of how an operating system kernel manages hardware components and how it provides abstractions such as processes, threads, virtual memory, file systems, and inter-process communication facilities. Students learn the principles of event-driven and concurrent programming and the mechanisms that are necessary to solve synchronization and coordination problems, thereby avoiding race conditions, deadlocks, and resource starvation. The Linux kernel and runtime system will be used throughout the course to illustrate how key ideas and concepts have been implemented and how application programs can use them.

Operating Systems

About

  • Module: Operating Systems (CO-562)
  • Semester: Fall 2020
  • Instructor: Jürgen Schönwälder
  • TA: Balani, Eglis
  • TA: Kabadzhov, Ivan
  • TA: Turcuman, Horia
  • Class: Tuesday, 15:45-17:00 (East Wing)
  • Class: Tuesday, 17:15-18:30 (East Wing)
  • Class: Thursday, 15:45-17:00 (East Wing)
  • Tutorial: Monday, 19:00-20:30 (Horia, group C)
  • Tutorial: Tuesday, 20:30-22:00 (Ivan, group B)
  • Tutorial: Wednesday, 19:00-20:30 (Eglis, group A)
  • 1st Module Exam: Wednesday, 2020-12-09, 12:30-14:30 (SCC Hall 1-2)
  • 2nd Module Exam: Monday, 2021-01-25, 11:00-13:00 (Research I, Lecture Hall)
  • Office: Monday, 11:15-12:30 (Research I, Room 87)

Content and Educational Aims

This module introduces concepts and principles used by operating systems to provide programming abstractions that enable an efficient and robust execution of application programs. Students will gain an understanding of how an operating system kernel manages hardware components and how it provides abstractions such as processes, threads, virtual memory, file systems, and inter-process communication facilities. Students learn the principles of event-driven and concurrent programming and the mechanisms that are necessary to solve synchronization and coordination problems, thereby avoiding race conditions, deadlocks, and resource starvation. The Linux kernel and runtime system will be used throughout the course to illustrate how key ideas and concepts have been implemented and how application programs can use them.

Operating Systems

About

  • Course: Operating Systems (CO20-320202)
  • Semester: Fall 2019
  • Instructor: Jürgen Schönwälder
  • TA: Shala, Ardit
  • TA: Mana, Irsida
  • Class: Monday, 08:15-09:30 (R.1-53 Lecture Hall)
  • Class: Thursday, 09:45-11:00 (R.4-52 Conference Room)
  • Class: Friday, 13:00-14:00 (R.1-53 Lecture Hall)
  • Final Exam: Monday, 2019-12-09 09:00-11:00 (SCC Hall 3)
  • Makeup Exam: Friday, 2020-01-31 17:00-19:00 (East Hall 4)
  • Office: Monday, 11:15-12:30 (Research I, Room 87)

Content

This course provides an introduction to the concepts underlying operating systems. Students will develop an understanding how operating systems realize a virtual machine that can be used to execute multiple concurrent application programs. The course discusses resource allocation algorithms and how concurrency problems can be solved.

Operating Systems

About

  • Course: Operating Systems (CO20-320202)
  • Semester: Fall 2018
  • Instructor: Jürgen Schönwälder
  • TA (Group B): Vitanov, Milen Asenov
  • TA (Group A): Wang, Fanlin
  • Class: Thursday, 15:45-17:00 (Lecture Hall Research II)
  • Class: Friday, 14:15-15:30 (West Hall 5, Lecture Hall Research III)
  • Final: Friday, 2018-12-14, 12:30-14:30 (CNLH)
  • Office: Monday, 11:15-12:30 (Research I, Room 87)

Content

This course provides an introduction to the concepts underlying operating systems. Students will develop an understanding how operating systems realize a virtual machine that can be used to execute multiple concurrent application programs. The course discusses resource allocation algorithms and how concurrency problems can be solved.

Operating Systems

About

  • Course: Operating Systems (CO20-320202)
  • Semester: Fall 2017
  • Instructor: Jürgen Schönwälder
  • TA: Mateen, Tayyab
  • Class: Wednesday, 14:15-15:30, Lecture Hall Research I
  • Class: Thursday, 14:15-15:30, Lecture Hall Research II

Content

This course provides an introduction to the concepts underlying operating systems. Students will develop an understanding how operating systems realize a virtual machine that can be used to execute multiple concurrent application programs. The course discusses resource allocation algorithms and how concurrency problems can be solved.

Operating Systems Lab

About

  • Course: Operating Systems Lab (CO20-320202)
  • Semester: Fall 2016
  • Instructor: Jürgen Schönwälder
  • Labs: Thursday, 15:45-17:00 (West Hall 8)
  • Labs: Thursday, 17:15-18:30 (West Hall 8)
  • Start: 2016-09-01

Content

This lab complements the Operating Systems course. Students will gain practical experience with systems programming above and below the system call interface of operating systems. Students will learn how to write concurrent programs and gain understanding how kernel programming differs from normal application development.

Operating Systems

About

  • Course: Operating Systems (CO20-320202)
  • Semester: Fall 2016
  • Instructor: Jürgen Schönwälder
  • TA: Al-Eryani, Aiman
  • Class: Monday, 08:15-09:30 (Lecture Hall Research III)
  • Class: Tuesday, 14:15-15:30 (Lecture Hall Research III)
  • Final: Friday, 2016-12-14, 12:30-14:30 (CNLH)
  • Office: Monday, 11:15-12:30 (Research I, Room 87)
  • Start: 2016-09-05

Content

This course provides an introduction to the concepts underlying operating systems. Students will develop an understanding how operating systems realize a virtual machine that can be used to execute multiple concurrent application programs. The course discusses resource allocation algorithms and how concurrency problems can be solved.