FreeBSD -current Code Reading Class
Kirk McKusick
mckusick at FreeBSD.org
Mon Feb 13 16:05:10 PST 2006
For those of you living in the Bay Area, I am organizing a FreeBSD
code reading seminar to be run in Berkeley starting next week (dates
below). I would really appreciate having some of the committers
attend and participate as I plan to debate architectural issues as
well as discuss implementation details. Committers are eligible for
a 50% discount, send me email at mckusick at mckusick.com for details.
I do plan to video tape the lectures and make them available on DVD-R
in June for those of you that are interested but unable to attend.
Because of the colossal amount of time that it takes to prepare for
and run this class, I only do it about once every six years.
Kirk McKusick
=-=-=-=-=-=
Upcoming FreeBSD Kernel Code Reading Evening Course
The ``FreeBSD Kernel Internals: An Intensive Code Walkthrough''
course will be taught during the Spring of 2006. The class will
be held at the historic Hillside Club at 2286 Cedar Strett, Berkeley,
CA 94709 just three blocks north of the Berkeley campus once per
week from 6:30PM to 9:45PM starting Wednesday February 22nd and
finishing Tuesday June 13th. You can sign up for the class at
http://www.mckusick.com/courses/adveveclass.html
Description
This course will provide a detailed background in the FreeBSD
kernel. The course will cover all the basic parts of the system
including process managment, memory management, scheduling, I/O
structure, local and remote filesystems, and networking. The main
emphasis will be on the machine independent parts of the system;
little time will be spent on the machine specific parts of the
system such as device drivers. Where machine specific topics are
covered, the Intel PC architecture will be used for illustration.
Course Materials
Each student receives a CD-ROM containing the FreeBSD 6.0
kernel sources with tags database, plus a printed copy of the
discussed files from the FreeBSD 6.0 kernel sources (two volumes
totalling approximately 1200 pages).
Course Organization
The evening course meets once per week for fifteen weeks.
The majority of the lecture time is spent reading kernel source
code. The fifteen weeks are structured as follows:
1) Weds February 22: Organization, overview of source layout
2) Weds March 1: Kernel header files
3) Weds March 8: System calls and file open
4) Weds March 15: Pathname translation and file creation
5) Weds March 22: Vnode interface mechanics, write to a local file
6) Weds March 29: Opening, using, and closing locally connected sockets
One week break
7) Tues April 11: User datagram protocol and routing
8) Tues April 18: TCP Algorithms
9) Tues April 25: Fork, exit, and exec
10) Tues May 2: Signal generation and delivery, scheduling
11) Tues May 9: Virtual memory header files and file mapping
12) Tues May 16: Page fault service, pageout processing
13) Tues May 23: NFS client and server operation
One week break
14) Tues June 6: Multiplexing with select, system startup
15) Tues June 13: Special topics: filesystem layering and soft updates
More information about the cvs-all
mailing list