From owner-freebsd-arch@FreeBSD.ORG Mon Dec 12 00:17:09 2005 Return-Path: X-Original-To: arch@freebsd.org Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 88EDB16A41F for ; Mon, 12 Dec 2005 00:17:09 +0000 (GMT) (envelope-from mckusick@chez.mckusick.com) Received: from chez.mckusick.com (dsl081-247-049.sfo1.dsl.speakeasy.net [64.81.247.49]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0FDF043D46 for ; Mon, 12 Dec 2005 00:17:08 +0000 (GMT) (envelope-from mckusick@chez.mckusick.com) Received: from chez.mckusick.com (localhost [127.0.0.1]) by chez.mckusick.com (8.13.1/8.13.1) with ESMTP id jBC0HMZx061845 for ; Sun, 11 Dec 2005 16:17:22 -0800 (PST) (envelope-from mckusick@chez.mckusick.com) Message-Id: <200512120017.jBC0HMZx061845@chez.mckusick.com> To: arch@freebsd.org X-URL: http://WWW.McKusick.COM/ Date: Sun, 11 Dec 2005 16:17:22 -0800 From: Kirk McKusick Cc: Subject: FreeBSD 6.0 Code Reading Class X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Kirk McKusick List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Dec 2005 00:17:09 -0000 For those of you living in the Bay Area, I am organizing a FreeBSD code reading seminar to be run in Berkeley early next year (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 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