ECE598: Advanced Operating Systems

University of Maine ECE

Spring 2016

Instructor: Vincent Weaver
The class meeting time is Tuesday/Thursday 9:30-10:45am.
The meeting place is Barrows Hall 133.




Syllabus

ece598_2016s.pdf

Course Summary

We will investigate at a low level the features of a modern operating system: virtual memory, filesystems, scheduling, device drivers, and multi-tasking. We will also write a simple operating system from scratch that will run on a Raspberry Pi.

Class Schedule

TuesdayThursday
Week 1 19 January
Operating System Overview
Lecture 1 Slides
21 January
Building Linux/Toolchains
Lecture 2 Slides
Week 2 26 January
OS Booting
Lecture 3 Slides
28 January
Bare-Metal Pi Programming in C and ASM
Lecture 4 Slides
Week 3 2 February
Serial Ports
Lecture 5 Slides
4 February
Pi UART Driver
Lecture 6 Slides
Week 4 9 February
ARM Interrupts
Lecture 7 Slides
11 February
Interrupt Handlers and Timers
Lecture 8 Slides
Week 5 16 February
Interrupt Wrapup
Lecture 9 Slides
18 February
Userspae / Syscalls / ABI
Lecture 10 Slides
Week 6 23 February
Processes and Context Switches
Lecture 11 Slides
25 February
Memory Management
Lecture 12 Slides
Week 7 1 March
Virtual Memory
Lecture 13 Slides
3 March
Midterm
Week 8 8 March
SPRING BREAK
10 March
SPRING BREAK
Week 9 15 March
SPRING BREAK
17 March
SPRING BREAK
Week 10 22 March
Virtual Memory Continued
Lecture 14 Slides
24 March
VM wrapup, Filesystems overview
Lecture 15 Slides
Week 11 29 March
Filesystems: Overview
Lecture 16 Slides
31 March
Filesystems: FAT16
Lecture 17 Slides
Week 12 5 April
Filesystems: EXT2
Lecture 18 Slides
7 April
Advanced Filesystems, Linux interface (VFS)
Lecture 19 Slides
Week 13 12 April
Graphics / Raspberry Pi Framebuffer
Lecture 20 Slides
14 April
More Graphics / Framebuffer
Lecture 21 Slides
Week 14 19 April
Process Scheduler
Lecture 22 Slides
21 April
Threads/IPC
Lecture 23 Slides
Week 15 26 April
Locking/Deadlock/Multiprocessing
Lecture 24 Slides
28 April
Second Midterm
Week 16 3 May
Security
Lecture 25 Slides
5 May
Project Presentations

Homework Assignments


Final Project


Readings

Optional Useful Textbooks


Useful Links


Back to my homepage
Last updated 3 May 2016, 11:19