Multithreading Operating Systems

Because of the sanitary crises, this course is completely be given online this academic year: part of the course is available in various multi-media formats on these webpages; another part of the course is given in a synchronous manner on online meeting platforms.

For the students of University of Rennes1 with inscription to the Master 1 in Computer Science: you'll receive additional information by email on how to contact me for questions related to this course: your official Rennes1 address should be used for this kind of communications. Please keep an eye on your Rennes1 email account because online meetings, as well as evaluations, will be organized throughout the entire semester for Rennes1 students. For students arriving after the beginning of the semester from abroad, your personal email address can be temporarily used.

Just to make things clear: in spite of the name of our course (which contains the two words "operating" and "systems"), we are not going to code a new operating system. This is out of the scope of the our course. However, programming assignments are planned where we'll try to explore some of the concepts, that we will introduce while studying operating systems, to actually improve the performances of software tools. Differently from other courses focusing on operating systems, we will not work at low level; instead of C programming language or even assembler, we'll code our assignments in Java. For these programming assignments, Rennes1 students are very encouraged to use the Linux distribution provided by ISTIC.

A lot of lectures, given and recorded by other colleagues, are freely available on the Internet. However, the covered topics, and the level of detail that is given, does not always respect the expectations of our course. Therefore, as a replacement to the classical lectures that I was used to give in the past years, I'll not ask you to follow the lectures given for one unique other course. Rather, You'll find on these webpages a collection of YouTube links, with videos and lectures extracted by various courses, given by different colleagues. The idea is to cover the topics of our course by combining this video material. The curious student may want to explore other videos provided by the same authors.

I need to thank the colleagues that have prepared these videos and gave the possibility to everybody to watch them. I hope that some of my didactic material, freely available on these webpages, will be useful to other colleagues who are teaching, or will teach, these same topics.

In particular for this course, I propose my students to watch a selection of videos authored by

  • Prof. Tami Sorgente, Florida Atlantic University, USA.
  • Prof. Gaetano Borriello, who was teaching topics related to our course at University of Washington, USA. Prof. Gaetano Borriello prematurely passed away in 2015.
  • Prof. Prof. Luis Ceze, from the Paul G. Allen School of Computer Science and Engineering at University of Washington, USA.
  • Prof. Carrie Anne Philbin, Director of Education in Cambridge, and a Google Certified Teacher. Her videos were deposited on a dedicated YouTube channel: Crash Course in Computer Science.

Please keep in mind that these videos generally do not contain repetitions, and the time is not stretched with possible answers to questions from the audience. Therefore, consider that, even if these videos may be in time length much shorter than the lecture you were used to attend, it is possible that the number of concepts that are introduced is essentially the same. Since there are no breaks in these videos, consider to pause them and rewind when something is not completely clear to you. Another good approach: watch these videos more than once, possibly over different days.

In order to get started with the topics of this course, I propose to watch this introductory video.

The main topics of our course are grouped together in the following pages:

Consider that all assignments, related to a given topic, can be found at the bottom of these pages.

Back to Teaching page     Back Home