ECE531: Advanced Operating Systems

University of Maine ECE

Fall 2025

Instructor: Vincent Weaver
The class meeting time is Mon/Wed/Fri 12:00pm-12:50pm.
The meeting place is Barrows Hall 123.


Syllabus

ece531_2025f.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

MondayWednesdayFriday
Week 1 1 September
No Class -- Labor Day
3 September
Operating System Overview
Lecture 1 Notes
5 September
Linux Kernel Background
Lecture 2 Notes
Week 2 8 September
C compiler / Build Toolchain
Lecture 3 Notes
10 September
Bootloaders/Booting
Lecture 4 Notes
12 September
Bare-Metal Pi GPIO Programming in C
Lecture 5 Notes
Week 3 15 September
Baremetal ASM / Pi Booting Wrapup
17 September
Serial Ports
19 September
Pi UART Driver
Week 4 22 September
ARM Interrupts
24 September
ARM Interrupts
26 September
Interrupt Handlers and Timers
Week 5 29 September
Userspace / Syscalls / ABI
1 October
Userspace / Syscalls / ABI
3 October
Avoiding Syscalls, Executables
Week 6 6 October
Context Switches and the Scheduler
8 October
Memory Management
10 October
Memory Management
Week 7 13 October
No Class, Fall Break
15 October
Linux Memory Allocation
17 October
Midterm Review
Week 8 20 October
Midterm
22 October
Virtual Memory (Career Fair?)
24 October
Virtual Memory
Week 9 27 October
Virtual Memory Wrapup
29 October
Virtual Memory Wrapup
31 October
Virtual Memory Wrapup
Week 10 3 November
OS without MMU, uCLinux, fork/exec
5 November
OS without MMU, uCLinux, fork/exec
7 November
Device Types, Filesystems: Overview
Week 11 10 November
More Filesystems, FAT32
12 November
More Filesystems, FAT32
14 November
ext2/3/4, More Advanced Filesystems
Week 12 17 November
Graphics Programming
19 November
Graphics Programming
21 November
Graphics Programming
Week 13 24 November
Multiprocessing/Locking
26 November
Thanksgiving Break
28 November
Thanksgiving Break
Week 14 1 December
Inter-process Communication
3 December
Review for Midterm
5 December
Second Midterm
Week 15 8 December
Project Presentations
10 December
Project Presentations
12 December
Project Presentations

Homework Assignments


Final Project


Required Hardware

The various types of Raspberry Pi devices available these days have vastly different underlying hardware. This can make it difficult writing an OS that supports all of them. Because of this we're going to try to use one standard platform for class this year.

I should have enough to loan out to everyone so there is no need to obtain things yourself. Here's a list of what will be provided:

Readings


Optional Useful Textbooks


Useful Links


Back to my homepage
Last updated 8 September 2025, 17:00