FreeBSD Developer Summit OS Course Working Group

Or... Teaching an operating system course with FreeBSD.

May 1th (Thursday), room will be announced when it is known.


The purpose of this May 2012 developer summit working group session is to discuss teaching undergraduate- and graduate-level operating system courses using FreeBSD. Several members of the academic community already teach such courses -- others would like to create them, and more generally encourage the teaching of OS courses using FreeBSD. Further, we have industrial consumers of FreeBSD who would love to see more graduating students with a background in operating systems, especially FreeBSD. Finally, we have current students involved in teaching and research, Google Summer of Code, etc. We hope to bring these groups together to identify goals, requirements, methodology, and resources to work towards a common teaching platform that might allow coursework that might be shared across universities. We are also interested in alternative outlets for this material -- for example, a YouTube lecture series on operating systems and teaching exercises useful outside of a traditional university context.

If you would like to participate, contact the chairperson below and CC devsummit@. You will be then added to this page. Please include a list of things you want to talk about or the areas you are interested in. This helps in planning the session and to bring people together with common interests.





Topics of interest

Other notes


University of Cambridge

Developing a new masters-level OS course at the University of Cambridge Computer Laboratory

As an undergrad, took CMU's OS course, and it clearly influenced what I do today!



FreeBSD Project, University of Applied Sciences, Darmstadt, Germany

teaching, creating/sharing course materials, adapting courses like this one to *BSD


May join session late



Ermal Lu├ži


Warner Losh




aggregating which FreeBSD courses are available, courseware creation, video courses


Notes from the session are here:

Brainstorming projects/modules section of notes:


* graphing

* benchmarking

* round robin scheduler

* I/O priority boost experiment

* detecting/fixing priority inversion (why theory matters)


* GEOM: I/O tracing, replay, add dtrace probes, RAID module, integrity checking module on a memory disk, write aggregation module, I/O scheduler, module for content storage (e.g. dedup-ish)

* stackable filesystems: add access control, encryption

* fuse: simple inode based fs + optimization project, distributed fs?

* specialized filesystems: e.g. does one thing well


* MAC framework: implement a policy

* Capsicum-ize an app

* security auditing

* write IDS

* write exploits


* netgraph: write error correction

* tap/tun: write a simple VPN or simple encapsulation layer

* write a firewall

* implement a simple network protocol

* write a device driver

* tweak packet loss properties

* network tracing

Action Items:

* find existing materials (doc people, master students can help in prepping material): Kirk, Ken, Backman,

* create a repo e.g. that credits content creators

* VM generation tools (multiple VMs using templates), nested VM support

* develop teaching plans, homework assignments, reading lists, how to structure the course (e.g. template for 1 week course, semester course, etc.)

* generate ebook and CD from selected modules (ideal for e-learning)

* gather contacts, arrange guest lectures (in person and by video)

* record sample lectures on !Youtube channel

* make modules easily translatable

* identify universities to partner in initiative e.g. Darmstadt (bcr)

* recognize younger generation's learning style, show course's relevance to industry

* teaser talk for EuroBSDCon (get students interest)

DevSummit/201205/OSCourse (last edited 2021-04-25T07:13:44+0000 by JethroNederhof)