Week 1) Introduction: kernel terminology and basic kernel services
Week 2) Kernel-resource management: locking
Week 3) Processes: process structure and process management
Week 4) Security: security framework and policies, Capsicum, and jails
Week 5) Virtual memory: virtual-memory management, paging, and swapping
Week 6) Kernel I/O system: multiplexing I/O, support for multiple filesystems, the block I/O system (buffer cache), and stackable filesystems
Week 7) Devices: special files, pseudo-terminal handling, autoconfiguration strategy, structure of a disk device driver, and machine virtualization
Week 8) Local filesystem implementation: fast filesystem (FFS)
Week 9) Local filesystem implementation: zettabyte filesystem (ZFS)
Week 10) Remote filesystem implementation: network filesystem (NFS)
Week 11) 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) Network layer: IPv4 and IPv6 protocols, firewalls, and routing
Week 13) Transport layer: TCP and SCTP
Week 14) System startup: boot loaders, kernel startup, and system launch
Week 15) System tuning: performance measurement and system tuning
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 two) 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 13 assignments, up to 65 points may be earned). To get a certificate of completion, you must score at least 45 points; To get a certificate of completion with distinction, you must score at least 55 points.