Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| devsummit:201205:oscourse [2012/05/10 16:58] – DruLavigne | devsummit:201205:oscourse [2021/04/25 07:13] (current) – Move to DevSummit namespace. JethroNederhof | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| ===== Overview ===== | ===== Overview ===== | ||
| - | The purpose of this May 2012 developer summit working group session is to discuss teaching undergraduate- and graduate-level operating system courses using %%FreeBSD%%. | + | The purpose of this May 2012 developer summit working group session is to discuss teaching undergraduate- and graduate-level operating system courses using %%FreeBSD%%. |
| If you would like to participate, | If you would like to participate, | ||
| Line 18: | Line 18: | ||
| * Brainstorm teaching exercises and their technical dependencies | * Brainstorm teaching exercises and their technical dependencies | ||
| * Discuss how we could make %%FreeBSD%% a better operating system for teaching about/ | * Discuss how we could make %%FreeBSD%% a better operating system for teaching about/ | ||
| - | * Consider other less standard outlets for OS courses, including | + | * Consider other less standard outlets for OS courses, including |
| ===== Attendees ===== | ===== Attendees ===== | ||
| Line 27: | Line 27: | ||
| | [[/ | | [[/ | ||
| | [[/ | | [[/ | ||
| - | | [[/ | + | | [[/ |
| | Ermal Luçi | pfSense | | | | | Ermal Luçi | pfSense | | | | ||
| | Warner Losh | %%FusionIO%% | | | | | Warner Losh | %%FusionIO%% | | | | ||
| Line 34: | Line 34: | ||
| ===== Results ===== | ===== Results ===== | ||
| - | Notes from the session: | + | Notes from the session |
| - | * hard to find employees who understand operating system internals | + | Brainstorming projects/ |
| - | * consider Foundation sponsoring mentoring | + | |
| - | * Use DTrace to analyze operating system (%%FreeBSD%%, | + | |
| - | * Problem: C is not taught anymore or not as much as it used to be | + | |
| - | * create a repository of tools, modules, materials which can be customized, makes it more appealing to base a OS | + | |
| - | * course on %%FreeBSD%% needs to be very modular: academics want to pick and choose / customise | + | |
| - | industry engagement | + | **schedulers: |
| - | companies might co-sponsor final year projects | + | * graphing |
| - | the Foundation might act as a rendezous service between projects and students | + | * benchmarking |
| - | what do you need to teach an OS course? | + | * round robin scheduler |
| - | notes / slides | + | * I/O priority boost experiment |
| - | concurrency | + | * detecting/ |
| - | lock internals? | + | **filesystems: |
| - | GCD kind of stuff? | + | * 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) |
| - | filesystems | + | * stackable |
| - | how things have changed (e.g. the road to ZFS) | + | * fuse: simple inode based fs + optimization project, distributed fs? |
| - | networking | + | * specialized filesystems: |
| - | device driver | + | **security: |
| - | platform for practical exercises | + | * MAC framework: implement a policy |
| - | Raspberry Pi v. VM | + | * Capsicum-ize an app |
| - | cross-build, | + | * security auditing |
| - | cross-compiling reasonable: %%FreeBSD%% can self-host, toys can be cross-compiled | + | * write IDS |
| - | Toy v. real OS | + | * write exploits |
| - | Kirk: Universities prefer toys these days | + | **networking:** |
| - | goals | + | * netgraph: write error correction |
| - | people to understand operating systems | + | * tap/tun: write a simple VPN or simple encapsulation layer |
| - | people to be familiar with %%FreeBSD%% | + | * write a firewall |
| - | make %%FreeBSD%% | + | * implement |
| - | is it to have a practical sense of the theory? | + | * write a device driver |
| - | is it to demonstrate an ability to do a deep project (and get hired)? | + | * tweak packet loss properties |
| - | identify frameworks for exercises | + | * network tracing |
| - | project structure: | + | **Action Items:** |
| - | analysis / instrumentation | + | * find existing materials (doc people, master students can help in prepping material): Kirk, Ken, Backman, |
| - | modification | + | * create a repo e.g. freebsd.org/ |
| - | evaluation | + | * VM generation tools (multiple VMs using templates), nested VM support |
| - | VMs v real hardware | + | * develop teaching plans, homework assignments, |
| - | Brainstorming for projects/modules: | + | * generate ebook and CD from selected |
| - | schedulers: | + | * gather contacts, arrange guest lectures (in person and by video) |
| - | graphing | + | * record sample lectures on !Youtube channel |
| - | benchmarking | + | * make modules easily translatable |
| - | round robin scheduler | + | * identify universities to partner in initiative e.g. Darmstadt (bcr) |
| - | I/O priority boost experiment | + | * recognize younger generation' |
| - | detecting/ | + | * teaser talk for %%EuroBSDCon%% (get students interest) |
| - | + | ||
| - | filesystems: | + | |
| - | + | ||
| - | 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: | + | |
| - | + | ||
| - | fuse: simple inode based fs + optimization project, distributed fs? | + | |
| - | + | ||
| - | specialized filesystems: | + | |
| - | + | ||
| - | security: | + | |
| - | + | ||
| - | MAC framework: implement a policy | + | |
| - | + | ||
| - | Capsicum-ize an app | + | |
| - | + | ||
| - | security auditing | + | |
| - | + | ||
| - | write IDS | + | |
| - | + | ||
| - | write exploits | + | |
| - | + | ||
| - | networking: | + | |
| - | + | ||
| - | 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 | + | |
| - | + | ||
| - | device driver (storage), KLD, create a system call | + | |
| - | + | ||
| - | concurrency | + | |
| - | + | ||
| - | dtrace, add probes, profiling | + | |
| - | + | ||
| - | optimizing power use | + | |
| - | + | ||
| - | simulated device | + | |
| - | + | ||
| - | interrupt handling (is the course in C or C and assembly? | + | |
| - | + | ||
| - | threads, parallelization | + | |
| - | + | ||
| - | Action Items: | + | |
| - | + | ||
| - | find existing materials (doc people, master students can help in prepping material): Kirk, Ken, Backman, | + | |
| - | + | ||
| - | create a repo e.g. freebsd.org/ | + | |
| - | + | ||
| - | VM generation tools (multiple VMs using templates), nested VM support | + | |
| - | + | ||
| - | develop teaching plans, homework assignments, | + | |
| - | + | ||
| - | 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' | + | |
| - | + | ||
| - | teaser talk for %%EuroBSDCon%% (get students interest) | + | |