Basic Principles: Operating Systems and System Software (INHN0007)

Summer Term 2022 (Heilbronn)

Intended Learning Outcomes

After successful completion of this module, students are able to understand the basics, problems and solutions of operating systems and current developments. In addition they understand the components like process and memory management and they are able to analyze and evaluate different strategies and techniques. They learn to apply the acquired basic knowledge to new developments in the area of operating systems as well as system software.

Course Information

  • Language: English
  • SWS: 3V + 2Ü
  • ECTS: 6 
  • Module: INHN0007 (Heilbronn)
  • Course description: TUMOnline
  • Prerequisite: Computer Architecture (INHN0003)
    • Only students, who passed INHN0002 or a comparable course, can participate in this course.
    • You must have experience with object-oriented programming in Java.
    • You can find more details below.
  • TUMonline: You must register for this course in TUMonline before the course starts.
  • Course Material: You can find slides and exercises on Artemis
  • Code of Conduct: When participating in this course, you confirm to follow the:
  • Time and Location: 
    • Lecture: 
      • Monday13:00 - 15:00, only on-campus (Heilbronn)
      • Tuesday, 13:00-14:00, only on-campus (Heilbronn)
      • Room D 2.01/02 - BildungsCampus 2.
    • Exercises: 
      • Tuesday, 14:00-16:00, via BBB
      • For Heilbronn students only

Important Information

  • By means of a slide presentation, the lecture introduces the basic concepts and methods of operating systems and explains them using examples.
  • Accompanying tutorials deepen the understanding of the concepts explained in the lecture by means of suitable group exercises and show the application of the different methods with the help of manageable problems in the different aspects of operating system decomposition.
  • Additional programming exercises enable students to deepen their knowledge in self-study. Feedback and help in programming tutoring sessions allow students to measure learning progress and improve their skills.

 

Content

Basic concepts: Operating systems; concurrency; parallel programming; low-level programming (processes, memory, communication, resource management; models (abstract, formal) for concurrency, e.g. petri nets; mutual exclusion, synchronization, deadlocks; compiler/linker/loader with library integration, transition to (adequate) hardware basic, machine-oriented programming and C; I/O especially as preparation for networking)

Recommended Preparation

  1. If you have not used Artemis before, please follow the tutorial (you might need to click on your login in the upper right corner and then on Continue Tutorial).
  2. Check if you meet the most important preconditions with the programming exercise. Try to solve this programming exercise on your own without the help of others. If you can solve all tasks in a few hours, you are well prepared for this course. If you have problems with some tasks, you should have another look at the online tutorials mentioned above. If you cannot solve all tasks in this programming exercise on your own, this course will be very difficult for you and we strongly recommend that you first learn the prerequisites in another course (e.g. INHN0001 and INHN0002) and then take the INHN0006 course.

 

Media

Lecture with digital slides, online exercises (programming, text) with individual feedback, a communication platform for the exchange between instructors, tutors, and students.

Literature

  • A.S. Tanenbaum, H. Bos: Modern Operating Systems, 4/E (Pearson, 2015)

Instructors

Exercise Instructor

Clemens Horn
M.Sc. Student