Tutorial Descriptions [Tutorial Overview]
FreeBSD Kernel Internals: Data Structures, Algorithms, and Networking--Part 1
This two-day course provides a broad overview of how the FreeBSD kernel implements its basic services. It will be most useful to those who need to learn how these services are provided. Individuals involved in technical and sales support can learn the capabilities and limitations of the system; applications developers can learn how to effectively and efficiently interface with the system; systems programmers without direct experience with the FreeBSD kernel can learn how to maintain, tune, and interface with such systems. This course is directed toward users who have had at least a year of experience using a UNIX-like system and the C programming language. The presentations will emphasize code organization, data structure navigation, and algorithms. Machine-specific parts of the system, such as device drivers, will not be covered.
Monday's tutorial will cover kernel resource management and kernel I/O structure. Tuesday will introduce file systems and implementation of networking.
Note: Attendees of Tuesday's session will be expected to possess familiarity with the concepts covered on Monday.
The course text is Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, and
John S. Quarterman, The Design and Implementation of the 4.4BSD Operating
System (Addison-Wesley, 1996).
System and network managers involved with the day-to-day administration of network-connected UNIX boxes will learn the concepts they need to maintain the security of their infrastructure.
Topics include: secure use of telnet and other unencrypted access protocols; SSH; one-time-password access; IPSec configuration and interoperability; how to deal with DoS attacks; worms and viruses; working with law enforcement; and how to recover from a hack.
Participants should be familiar with the basics of UNIX Administration and
T1 FreeBSD Kernel Internals: Data Structures,
Algorithms, and Networking--Part 2
Please see the description under M1.
Note: Attendees of Tuesday's session will be expected to possess
familiarity with the concepts covered on Monday.
This tutorial will show debugging techniques on live systems. The operating
system for most of the tutorial will be FreeBSD, but the (relatively small)
differences in NetBSD and OpenBSD will be explained. Topics include: how and why
kernels fail; interpreting log files; using ps, netstat, top; introduction to
the kernel source tree; preparing for and analyzing panic dumps; and on-line
With Mac OS X now shipping on millions of machines, the BSD community has an unprecedented opportunity to bring their software to an entirely new class of users--people who pay! This talk will cover the essentials of how to turn your trusted BSD code into the latest whiz-bang application for Mac OS X. This tutorial is for you if you: