CSEC209
Fundamentals of Operating Systems

Faculty
Kseniia Leonteva
Data Scientist at GoodsForecast
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
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
Abstraction levels, computer architecture, CPU
- Intro
- Hardware
- CPU components
C/C++ basics, data representation, shell scripting course review
- Syntax
- Building, debugging
- Pointers
- Chars, numeric types, arrays representation
How languages work: compilation, linkage, translation
- Compilation step-by-step
- Libraries and linkage: static, dynamic
- ELF
- Translation
- JIT-compilation
Assembly x86
- Blocks
- Commands
- Registers
Processes and Kernel
- Process attributes & lifetime
- Memory protection
- Privilege levels
- System calls
Memory addressing, paging, process memory
- Paging
- Translation
- Memory sharing
- Process memory
Signals, interrupts
- Exceptions
- Interrupts: software, hardware
- Signal types
Midterm exam
Threads, deadlocks, memory in multitask OS
- Thread attributes
- Deadlocks
- Atomics
- Ordering
- Memory models
Synchronization primitives overview
- Spinlock
- Mutex
- Barrier
Schedulers in a multitask OS
Flash memory: HDD, SSD
FS
- File types: regular, dirs, links, devices
- FS types: fat, swap, smbfs, sshfs
Network
- Sockets
- Tcp/ip
- OSI layer-by-layer
Virtualization
- Software: execution, protection, QEMU
- Hardware: VT-x, DUNE
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
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 profileApply for this course
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.
