Operating systems
Spring 2020
Home
Site navigation
Modules
Learning and examination
Course material
Grading
Pairs and groups
Timeline and schedule
0 - Preparations
The shell and terminal
Linux
Background
The department Linux system
Private computer
Useful shell commands
Git and GitHub
Mips and Mars
Mips memory layout
Clone repository
Introduction to Mars
Mips assembly examples
Useful links
C programming
Important concepts
Learning resources
Programming exercise
1 - Fundamental concepts
Initial definitions
Exception and interrupt handling
Waiting for keyboard input
Multiprogramming
System call design
Coprocessor 0
Memory mapped I/O
Clone repository
Assignment
Higher grade assignment
Workshop and seminar
Code grading
2 - The process concept
Clone repository
The exec family
Process management
Signals
Pipeline
Shell
Workshop and seminar
Code grading
3 - CPU Scheduling
Workshop and seminar
4 - Threads, synchronization and deadlock
Definitions
Workshop and seminar
Clone repository
Mutual exclusion
Portable semaphores
Rendezvous
Bounded buffer
Implementing threads
Simple Threads™
Code grading
5 - Memory management, files and file systems
Workshop and seminar
6 - Case study
Requirements
OS (1DT044)
OSPP (1DT096)
7 - Written exam
Formalities
Exam topics
Workshops
8 - Erlang
Workshop and seminar
Get started
If and case
Sequential Erlang
FIFO and TDD
Stateful FIFO process
Process links
Random death
Process supervision
Ping Pong
Concurrent search
Code grading
9 - Group project
Kom igång
Timeline
Bedömning
Arbetstid
Översikt
Muntlig presentation
Workshop 1
Presentation av projektförslag
Handledning 1a & 1b
Milstolpe 1
Handledning 2
Milstolpe 2
Handledning 3
Milstolpe 3 (genrep)
Handledning 4
Slutpresentation
Slutseminarium
Upcomming modules
Built with
from
Grav
and
Hugo
Module 8
Module 8
Concurrent programming with Erlang