Till KTH:s startsida Till KTH:s startsida

Lectures

The lectures and experiments are loosely coordinated. You're expected to do the experiments as we progress through the lectures. Give them a try in advance of the corresponding lectures and then go back and do them again when we have covered the topic in the lectures.

1: Introduction

2: Linux 101

3: Processes

4: Scheduling

5: Memory Virtualization

6: Memory managment

7: Paging

8: Swapping

9: Concurrency

10: Locks and Semaphores

11: Storage

12: File Systems

13: Journaling

14: Virtual Machines

Lärare Johan Montelius skapade sidan 26 juni 2016

Johan Montelius redigerade 29 juli 2016

There will be 14 lectures (this is a first draft)

1: Introduction
* 2 Introduction to Operating Systems
* 3 A Dialoge on Virtualization
2: Linux 101
* The shell and basic command line interface.
* The file system, navigation, files, directories, user rights, basic operations.
* Processes, compiling, linking, running programs.
* Installing and configuration of a virtual machine.
3: Processes
* Slides - Processes
* 4 The Abstraction: The Process
* 5 Interlude: Process API
* 6 Mechanism: Limited Direct Execution
4: Scheduling
* Slides - Scheduling
*
7 Scheduling: Introduction
* 8 Scheduling: The Multi Level Feedback Queue
* 9 Scheduling: Proportional Share
5: Memory Virtualization
* Slides - Memory
* 12: A Dialogue on Memory Virtualization
* 13: The abstraction: Address Spaces
* 14: Interlude: Memory API
* 15: Address Translation
* 16: Segmentation
6: Paging Memory managment
* Slides - Management

* 17: Free-Space Management
* 18: Paging: Introduction
7: Paging
* Slides - Paging
* 19: Paging: Faster Translations (TLBs)
* 20: Paging: Smaller Tables
8: Swapping
* 21: Beyond Physical Memory: Mechanisms
* 22: Beyond Physical Memory: Policies
9: Concurrency
* 26 Concurrency an Introduction
* 27 Interlude: Thread API
* 28 Locks
10: Locks, Monitors and Semaphores
* 29 Lock-based Concurrent Data Structures
* 30 Condition Variables
* 31 Semaphores
* 32 Common Concurrency Problems
11: Storage
* 36 I/O Devices
* 37 Hard Disk Drives
* 38 Redundant Arrays of Inexpensive Disks (RAIDs)/a>
* Appendix I, Flash-based SSDs
12: File Systems
* 39 Interlude: Files and Directories
* 40 File System Implementation
* 41 Locality and the Fast File System
13: Journaling
* 42 Crash Consistency: FSCK and Journaling
* 43 Log-structured File Systems
14: Virtual Machines
* Appendix B Virtual Machine Monitors

Johan Montelius redigerade 5 september 2016

There will be 14 lectures (this is a first draft)

1: Introduction
* Slides
* Handout
* 2 Introduction to Operating Systems
* 3 A Dialoge on Virtualization
2: Linux 101
* Slides
* Handouts
* The shell and basic command line interface.
* The file system, navigation, files, directories, user rights, basic operations.
* Processes, compiling, linking, running programs.
* Installing and configuration of a virtual machine.
* A tutorial that shows the usage of the most basic commands
Most common commands.
* Environment variables and expansion.
* Using pipes to combine commands
* A bit on writing a thesis.

3: Processes
* Slides
* Handout
* 4 The Abstraction: The Process
* 5 Interlude: Process API
* 6 Mechanism: Limited Direct Execution
4: Scheduling
* Slides
* Handout
* 7 Scheduling: Introduction
* 8 Scheduling: The Multi Level Feedback Queue
* 9 Scheduling: Proportional Share
5: Memory Virtualization
* Slides
* Handout
* 12: A Dialogue on Memory Virtualization
* 13: The abstraction: Address Spaces
* 14: Interlude: Memory API
* 15: Address Translation
* 16: Segmentation
6: Memory managment
* Slides
* Handout
* 17: Free-Space Management
* 18: Paging: Introduction
7: Paging
* Slides
* Handout
* 19: Paging: Faster Translations (TLBs)
* 20: Paging: Smaller Tables
8: Swapping
* Slides
* Handout
* 21: Beyond Physical Memory: Mechanisms
* 22: Beyond Physical Memory: Policies
9: Concurrency
* 26 Concurrency an Introduction
* 27 Interlude: Thread API
* 28 Locks
10: Locks, Monitors and Semaphores
* 29 Lock-based Concurrent Data Structures
* 30 Condition Variables
* 31 Semaphores
* 32 Common Concurrency Problems
11: Storage
* 36 I/O Devices
* 37 Hard Disk Drives
* 38 Redundant Arrays of Inexpensive Disks (RAIDs)/a>
* Appendix I, Flash-based SSDs
12: File Systems
* 39 Interlude: Files and Directories
* 40 File System Implementation
* 41 Locality and the Fast File System
13: Journaling
* 42 Crash Consistency: FSCK and Journaling
* 43 Log-structured File Systems
14: Virtual Machines
* Appendix B Virtual Machine Monitors