Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CSEC209

Fundamentals of Operating Systems

Online
Apr 12, 2021 - Apr 30, 2021
From computer architecture to processes and kernel, the Fundamentals of Operating Systems course will cover the computer organization, and the basic components of operating systems.
Online
Apr 12, 2021 - Apr 30, 2021
Kseniia Leonteva

Faculty

Kseniia Leonteva

Data Scientist at GoodsForecast

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Online

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

C++Computer NetworkingUnix Command LineDebugging existing code
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

The course focuses on understanding how computers work on a low level and what Operating Systems abstractions help us to use it. Awareness of these concepts helps to understand and optimize many processes happening underneath actual code, which is beneficial for various fields of Computer Science. We briefly discuss computer organization, then start from practical tools that allow us to study the subject and cover basic components of operating systems: processes, file systems, network and then briefly discuss how virtualization works.

Learning highlights

  • Understand the basic organization of OS
  • Be able to use main OS abstractions freely
  • Learn about tools allowing to debug low-level issues

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Abstraction levels, computer architecture, CPU

  • Intro
  • Hardware
  • CPU components
Tuesday
2

C/C++ basics, data representation, shell scripting course review

  • Syntax
  • Building, debugging
  • Pointers
  • Chars, numeric types, arrays representation
Wednesday
3

How languages work: compilation, linkage, translation

  • Compilation step-by-step
  • Libraries and linkage: static, dynamic
  • ELF
  • Translation
  • JIT-compilation
Thursday
4

Assembly x86

  • Blocks
  • Commands
  • Registers
Friday
5

Processes and Kernel

  • Process attributes & lifetime
  • Memory protection
  • Privilege levels
  • System calls
Monday
6

Memory addressing, paging, process memory

  • Paging
  • Translation
  • Memory sharing
  • Process memory
Tuesday
7

Signals, interrupts

  • Exceptions
  • Interrupts: software, hardware
  • Signal types
Wednesday
8

Midterm exam

Thursday
9

Threads, deadlocks, memory in multitask OS

  • Thread attributes
  • Deadlocks
  • Atomics
  • Ordering
  • Memory models
Friday
10

Synchronization primitives overview

  • Spinlock
  • Mutex
  • Barrier

Schedulers in a multitask OS

Monday
11

Flash memory: HDD, SSD

Tuesday
12

FS

  • File types: regular, dirs, links, devices
  • FS types: fat, swap, smbfs, sshfs
Wednesday
13

Network

  • Sockets
  • Tcp/ip
  • OSI layer-by-layer
Thursday
14

Virtualization

  • Software: execution, protection, QEMU
  • Hardware: VT-x, DUNE
Friday
15

Final exam

Methodology

Every session will consist of a lecture mixed with practical assignments relevant to the topic.

After every topic students will receive a home assignment with a soft deadline.

There will be two exams after each half of the course. Exams will include individual tasks and mini-group activities.

Grading

The final grade will be composed of the following criteria:
60% - Assignments
20% - Midterm exam
20% - Final exam
Kseniia Leonteva

Faculty

Kseniia Leonteva

Data Scientist at GoodsForecast

Kseniya is a data scientist with a background as a cross-platform software developer. She thoroughly resolved various platform-dependent issues and gained hands-on practical experience with Unix-like systems. As a data scientist, she had an internship at Yandex working as a dialogue assistant and now works on NLP problems for retail companies.

She graduated with a master’s degree in applied mathematics and informatics from the Moscow Institute of Physics and Technology. She is passionate about programming and participated in various coding challenges, also took 1st place in the Google Dev Group & Women Techmakers hackathon in 2017.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Fundamentals of Operating Systems

by Kseniia Leonteva

Total hours

45 Hours

Dates

Apr 12 - Apr 30, 2021

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.