Hoppa till huvudinnehållet
Till KTH:s startsida Till KTH:s startsida

ID1206 Operating Systems 7,5 hp

Course memo Autumn 2021-50430

Version 1 – 11/02/2021, 3:41:50 PM

Course offering

Engelska (Start date 01/11/2021, English)

Language Of Instruction

English

Offered By

EECS/Computer Science

Course memo Autumn 2021

Course presentation

The course covers the implementation of operating systems and system programming.

Headings denoted with an asterisk ( * ) is retrieved from the course syllabus version Autumn 2021

Content and learning outcomes

Course contents

The course provides knowledge of the principles of and how one can implement

  • abstractions of hardware
  • virtualisation of resources and timetabling of assignments; mainly as regards execution, memory and persistent storage.

The structure of an operating system is studied to increase the knowledge of these concepts and also give skills in efficient use of the abstraction level that an operating system offers.

Intended learning outcomes

Having passed the course, the student should be able to:

  • explain how multi-threaded processes are structured
  • explain how an operating system can handle several processes at the same time
  • implement parts of the functions of an operating system.

For higher grades, the student should also be able to

  • explain how virtualisation of memory is implemented
  • explain how memory management is implemented
  • explain properties for different scheduling algorithms
  • explain properties for different types of process communication
  • explain implementation of more advanced file system.

Learning activities

During the course we will have a number of scheduled lectures. At these lectures we will discuss questions related to the topics foudn in the course literature and prerecorded lectures available.

There are also sessions scheduled where teaching assistants will help you with the programming assignments that you will have during the course. The programming assignments are not compulsory and should not be presented but questionson the exam will be based on these assignments.

 

Preparations before course start

Recommended prerequisites

Specific prerequisites autumn 2020:

  • As from HT20 the specific prerequisite for course ID1020 Algorithms and data structures, is considered to be fulfilled if course component “ARBA - Course work, 4.5 credits” is approved.
  • ID1019 Programming II, is not a requirement for eligibility.

Literature

The course is based on:

  • Remzi H. Arpaci-Dusseau och Andrea C. Arpaci-Dusseau, "Operating Systems: Three Easy Pieces", Arpaci-Dusseau Books.

The book is avialable online at OSTEP.  It is a very good book and it does not cost very much so I recomend that you buy a copy.

Equipment

The course is designed so that you shoudl be able to use your own computer. If you do not have access to a computer you can use the computers available in the computer room. All exercises will work fine except for one that requires you to have root access.

We will during the course use the x86 as the example ISA. If you have the latest Mac computer you will have M1 processor but there are no parts of the course that relies on an x86 architecture.

Software

We will use Linux as a reference operating system and it's advisable that you have access to this. You can do this using your won laptop and either:

  • have Ubuntu installed or
  • if you have MacOS you will be fine since it's a Unix operating systems or
  • if you have WIndows installed use Windows Subsystem for Linux.

If you have  Windows or MacOS you can also run a Ubuntu system under a virtual machine.

All programing tasks are in C so you need a programming environment where you can write, compiel and run small C programs.

 

Programming

The course will use C programs to understand how an operating system works. The course is however not a programming course. The course requires that you either have enough C programing experience form before or can gain the knowledge by yourself during the course. The assistants that are working with teh course could help you if you have problems.

Examination and completion

Grading scale

A, B, C, D, E, FX, F

Examination

  • SEMA - Seminar, 1.5 credits, Grading scale: P, F
  • TENA - Examination, 6.0 credits, Grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

The section below is not retrieved from the course syllabus:

Seminar ( SEMA )

Three projects should be proesented in written and by attending at scheduled seminas. In addition to this other studens reports should be read and evaluated.

Examination ( TENA )

The examin will (if nothing else stated) be given in Canvas.

Grading criteria/assessment criteria

The examin will be divided into several parts where each part adress a learning goal.

The first part is for grade E and is about how processes are structured and how an operating system can handle multiple processes at the same time. This does not inklude how this is implemented but the consequences this has for a programmer.

The other parts are related to how things are implemented under the hood. The areas are:

  • virtualisation of memory
  • memory management by a process (malloc/free)
  • scheduling algorithms
  • process communication
  • file systems

Each part is given pass/fail and the grade is then based on how many parts one passed: 2 gives a D, 3 a C, 4 a B and 5 an A.

 

Opportunity to complete the requirements via supplementary examination

FX will be given.

Opportunity to raise an approved grade via renewed examination

You're welcome to go up for an extra exam. Check with your student coordinator.

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

No information inserted

Round Facts

Start date

Missing mandatory information

Course offering

  • Engelska Autumn 2021-50430

Language Of Instruction

English

Offered By

EECS/Computer Science

Contacts