ECE598: Advanced Operating Systems

University of Maine ECE

Spring 2018

Instructor: Vincent Weaver
The class meeting time is Tuesday/Thursday 2:00pm-3:15pm.
The meeting place is Barrows Hall 131.




Syllabus

ece598_2018s.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 23 January
Operating System Overview
ece598_lec01.pdf
25 January
Building Linux/Toolchains
ece598_lec02.pdf
Week 2 30 January
Bootloaders/Booting
ece598_lec03.pdf
1 February
Bare-Metal Pi Programming in C and ASM
ece598_lec04.pdf
Week 3 6 February
Serial Ports
ece598_lec05.pdf
8 February
Pi UART Driver
ece598_lec06.pdf
Week 4 13 February
ARM Interrupts
ece598_lec07.pdf
15 February
Interrupt Handlers and Timers
ece598_lec08.pdf
Week 5 20 February
Userspace / Syscalls / ABI
ece598_lec09.pdf
22 February
Executables
ece598_lec10.pdf
Week 6 27 February
Context Switches and the Scheduler
ece598_lec11.pdf
1 March
Memory Management
ece598_lec12.pdf
Week 7 6 March
Virtual Memory
ece598_lec13.pdf
8 March
No Class/Snow
Week 8 13 March
SPRING BREAK
15 March
SPRING BREAK
Week 9 20 March
Midterm
22 March
VM wrapup, Device Types
ece598_lec14.pdf
Week 10 27 March
Filesystems: Overview
ece598_lec15.pdf
29 March
More Filesystems
ece598_lec16.pdf
Week 11 3 April
Filesystems: Fat and EXT2
ece598_lec17.pdf
5 April
Graphics / Raspberry Pi Framebuffer
ece598_lec18.pdf
Week 12 10 April
Advanced Filesystems, Linux interface (VFS)
ece598_lec19.pdf
12 April
Multicore
ece598_lec20.pdf
Week 13 17 April
Locking/Deadlocks/IPC
ece598_lec21.pdf
19 April
Computer Security
ece598_lec22.pdf
Week 14 24 April
OS Security
ece598_lec23.pdf
26 April
Project Presentations
Week 15 1 May
NSF / Second Midterm
3 May
Project Presentations

Homework Assignments


Final Project


Readings

Optional Useful Textbooks


Useful Links


Back to my homepage
Last updated 25 April 2018, 11:37