Week 1) Thurs January 22 - Introduction: kernel terminology and basic kernel services
Week 2) Thurs January 29 - Kernel-resource management: locking
Week 3) Thurs February 5 - Processes: process structure and process management
Week 4) Thurs February 12 - Security: security framework and policies, Capsicum, and jails
Week 5) Thurs February 26 - Virtual memory: virtual-memory management, paging, and swapping
Week 6) Weds March 4 - Kernel I/O system: multiplexing I/O, support for multiple filesystems, the block I/O system (buffer cache), and stackable filesystems
Week 7) Tues March 17 - Devices: special files, pseudo-terminal handling, autoconfiguration strategy, structure of a disk device driver, and machine virtualization
Week 8) Thurs March 26 - Local filesystem implementation: fast filesystem (FFS)
Week 9) Weds April 1 - Local filesystem implementation: zettabyte filesystem (ZFS)
Week 10) Thurs April 9 - Remote filesystem implementation: network filesystem (NFS)
Week 11) Thurs April 23 - Interprocess communication: concepts and terminology, basic IPC services, system layers and interfaces, and code review of a simple application that demonstrates use of the IPC and network facilities
Week 12) Thurs April 30 - Network layer: IPv4 and IPv6 protocols, firewalls, and routing
Week 13) Thurs May 7 - Transport layer: TCP and SCTP
Week 14) Weds May 13 - System startup: boot loaders, kernel startup, and system launch
Week 15) Thurs May 21 - System tuning: performance measurement, system tuning, and crash dump analysis
Students should acquire a copy of the course textbook by Marshall Kirk McKusick, George V. Neville-Neil, and Robert N.M. Watson: The Design and Implementation of the FreeBSD Operating System, Second Edition, published by the Addison-Wesley subsidiary of Pearson Education. In preparation for the first class, students should read the first three sections of chapter 2 and all of chapter 3. Optionally they can read the Preface and Chapter 1.
Enrolled students will be notified when the course notes are ready to be downloaded (about a week before class begins). Students ordering the printed notes can pick them up at the first class.
Each week (other than the last) five exercises from the textbook will be assigned. The assignments are to be turned in at or before the next class when and answer sheet will be handed out. The graded assignments will be returned the following week. Each problem is worth one point (thus with 14 assignments, up to 70 points may be earned). To get a certificate of completion, you must score at least 40 points; To get a certificate of completion with distinction, you must score at least 55 points.