ECE531 (ECE 598): Advanced Operating Systems

University of Maine ECE

Fall 2023

Instructor: Vincent Weaver
The class meeting time is Tuesday/Thursday 12:30pm-1:45pm.
The meeting place is Barrows Hall 123.




Syllabus

ece531_2023f.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 29 August
Operating System Overview
Lecture 1 Notes
31 August
Building Linux/Toolchains
Lecture 2 Notes
Week 2 5 September
Bootloaders/Booting
Lecture 3 Notes
7 September
Bare-Metal Pi Programming in C and ASM
Lecture 4 Notes
Week 3 12 September
Serial Ports
Lecture 5 Notes
14 September
Pi UART Driver
Lecture 6 Notes
Week 4 19 September
ARM Interrupts
Lecture 7 Notes
21 September
Interrupt Handlers and Timers
Lecture 8 Notes
Week 5 26 September
Userspace / Syscalls / ABI
Lecture 9 Notes
28 September
Avoiding Syscalls, Executables
Lecture 10 Notes
Week 6 3 October
Context Switches and the Scheduler
5 October
Memory Management
Week 7 10 October
No Class, Fall Break
12 October
Virtual Memory
Week 8 17 October
Midterm
19 October
VM wrapup, Device Types
Week 9 24 October
Filesystems: Overview
26 October
More Filesystems
Week 10 31 October
Filesystems: Fat and EXT2
2 November
Graphics / Raspberry Pi Framebuffer
Week 11 7 November
Advanced Filesystems, Linux interface (VFS)
9 November
Multicore
Week 12 14 November
Locking/Deadlocks/IPC
16 November
Computer Security
Week 13 21 November
OS Security
23 November
Thanksgiving Break
Week 14 28 November
Second Midterm
30 November
Wrapup
Week 15 5 December
Project Presentations
7 December
Project Presentations

Homework Assignments


Final Project


Readings

Optional Useful Textbooks


Useful Links


Back to my homepage
Last updated 1 October 2023, 17:00