Operating systems
Spring 2019
Home
Site navigation
Modules
Learning and examination
Pairs and groups
Grading
Timeline and schedule
0 - Getting started
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
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
8 - Erlang
Workshop and seminar
Get started
Sequential Erlang
FIFO and TDD
Stateful FIFO process
Process links
Random death
Process supervision
Concurrent addition
Distributed Erlang
Records
Maps
Code grading
Game
Prototype (v0)
EDoc
Right or wrong (v1)
Automatic testing
Statitistics (v2)
Guided guesses (v3)
Advanced statistics (v4)
Generic game server (gen)
Tic-Tac-Toe
Erlang OTP and generic servers
9 - Group project
Kom igång
Timeline
Bedömning
Projektrum
Arbetstid
Supergrupper
Muntlig presentation
Skrivande
Lärjournal
Vetenskaplig rapport
Projektrapport
Workshop 1
Workshop 2
Handledning 1a & 1b
Milstolpe 1
Handledning 2
Workshop 3
Milstolpe 2
Handledning 3
Utkast 1
Milstolpe 3 (genrep)
Workshop 4
Utkast 2
Slutpresentation
Slutrapport
Slutreflektion
Lärjournal
Slutseminarium
Built with
from
Grav
and
Hugo
Module 8
Module 8
Concurrent programming with Erlang