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
Week 6 27 February
Processes and Context Switches
1 March
Memory Management
Week 7 6 March
Virtual Memory
8 March
Midterm
Week 8 13 March
SPRING BREAK
15 March
SPRING BREAK
Week 9 20 March
Virtual Memory Continued
22 March
VM wrapup, Filesystems overview
Week 10 27 March
Filesystems: Overview
29 March
Filesystems: FAT16
Week 11 3 April
Filesystems: EXT2
5 April
Advanced Filesystems, Linux interface (VFS)
Week 12 10 April
Graphics / Raspberry Pi Framebuffer
12 April
More Graphics / Framebuffer
Week 13 17 April
Process Scheduler
19 April
Threads/IPC
Week 14 24 April
Locking/Deadlock/Multiprocessing
26 April
Second Midterm
Week 15 1 May
NSF?
3 May
Project Presentations

Homework Assignments


Final Project


Readings

Optional Useful Textbooks


Useful Links


Back to my homepage
Last updated 16 February 2018, 13:06