From: mckus...@toe.CS.Berkeley.EDU (Kirk McKusick) Subject: Advanced 4.4BSD Kernel Internals Class Date: 1995/12/12 Message-ID: <4ajdv7$gdj@agate.berkeley.edu> X-Deja-AN: 121746195 organization: University of California, Berkeley newsgroups: comp.unix.bsd.netbsd.misc,comp.unix.bsd.freebsd.misc This is your opportunity to get an intensive code-level BSD-based internals class taught by some of us that were in charge of developing it. The short summary of the course is given below followed by a more detailed course description. Course: ``4.4BSD UNIX Kernel Internals: An Intensive Code Walkthrough'' Instructor: Marshall Kirk McKusick plus selected guests Dates: Thursday evenings 7PM to 10PM, February 8th to May 30th except April 4th and April 11th (15 class meetings). Site: 60 Evans Hall, University of California at Berkeley Campus Registration Number: EDP 313189 Priority Code: 594DS Fee: $1425 includes complete source listing (printed or on CD-ROM) and weekly lecture notes. Further Information and Reservations: 510-642-4151 Sign-up: 510-642-4111 (voice); 510-642-0374 (FAX) Postal: Continuing Education in Engineering UC Berkeley Extension 1995 University Ave Berkeley, CA 94720-7010 Enrollment is limited, so if you think that you will want to take the class, call to get a `reservation'; they will give you several weeks to get permission and money from your boss. Full course description follows. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 4.4BSD Kernel Internals: An Intensive Code Walkthrough Dr. Marshall Kirk McKusick Author and Consultant Thursday evenings 7:00-10:00PM February 8 to May 30, 1996 (no meeting April 4 and 11) 60 Evans Hall U. C. Berkeley Campus Who Should Take this Course --------------------------- This course provides an in depth study of the source code of the 4.4BSD-Lite Kernel. This course is aimed at users with a good understanding of the algorithms used in 4.4BSD-Lite that want to learn the details of their implementation. Students are expected to have either taken the one week UNIX Kernel Internals class taught by the instructor or to have throughly read and understood ``The Design and Implementation of the 4.3 BSD UNIX Operating System'' (published by Addison-Wesley Publishing Company). They are also expected to have a complete background in reading and programming in the C programming language. Students will not need to prove relationship with a source license holder, as the course will be based on the non-proprietary kernel sources released by The University of California at Berkeley. Description ----------- This course will provide a detailed background in the BSD UNIX kernel, including 4.3BSD, 4.3BSD-Tahoe, 4.3BSD-Reno, and the latest non-proprietary release by the University of California at Berkeley, 4.4BSD-Lite, Release 2. The BSD kernel is used as the porting base for most of the major commercial UNIX vendors, although some replace the BSD user interface with the UNIX System V user interface. Beginning with System V Release 4, this will no longer be necessary as System V will have directly adopted most of the BSD code. In this course, only the BSD system interface and services will be covered since the other systems would require students to be covered by a Novell source license. The course will cover all the basic parts of the system including process managment, memory management, scheduling, I/O structure, 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 Organization ------------------- The course will meet once per week for fifteen weeks. Each student will receive either a printed kernel source listing or a CD-ROM with the source code at the beginning of the course; additional handouts of the weeks lecture material will be provided at the beginning of most classes. Assignments will include reading the code to be covered the following week and one ten-page paper or a project. Although the overall structure of the course has been set, the set of topics to be emphasized will be determined by the interests of the class. Enrollment will be limited to a size that encourages interaction. The fifteen weeks will be structured as follows: 1) Organization, overview of source layout 2) Kernel header files 3) Basic kernel services (sleep/wakeup, clock management) 4) Process structure (fork/exec, exit/wait, signal handling) 5) Memory management (header files, private and shared objects) 6) Paging, swapping, and scheduling 7) Pathname resolution (open, namei, lookup, ufs_lookup) 8) I/O (write, ufs_write, spec_write, block allocation, close, vrele) 9) Special files, line disciplines, multiplexing I/O 10) Autoconfiguration strategy, device driver structure 11) Support for multiple filesystems, stackable filesystems 12) Network File System (NFS), union filesystem, portals 13) Framework for networking and interprocess communication 14) Unix domain, UDP 15) TCP/IP (connection setup, send/receive, algorithms) About the instructor -------------------- Dr. McKusick got his undergraduate degree in Electrical Engineering from Cornell University. His graduate work was done at the University of California, where he received Masters degrees in Computer Science and Business Administration, and a Ph.D. in the area of programming languages. While at Berkeley he implemented the 4.2BSD fast file system and was involved in implementing the Berkeley Pascal system. He was the Research Computer Scientist at the Berkeley Computer Systems Research Group, overseeing the development of 4.3BSD and 4.4BSD. He is currently an independent consultant teaching courses and writing a book on the design and implementation of 4.4BSD. He is a past president of the Usenix Association, a member of the editorial board of UNIX Review Magazine, and a member of ACM and IEEE.