Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Feb 2006 00:05:09 GMT
From:      Kirk McKusick <mckusick@FreeBSD.org>
To:        cvs-all@FreeBSD.org
Subject:   FreeBSD -current Code Reading Class
Message-ID:  <200602140005.k1E059sc027792@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602140005.k1E059sc027792>