sane 2006
Tutorial W5
Time: Wednesday 17 May 2006 09:00 - 17:30 Location: Senaatszaal
Inside the Linux Kernel

Abstract

Topics included:

  • How the kernel is organized (scheduler, virtual memory system, filesystem layers, device driver layers, networking stacks)
    • The interface between each module and the rest of the kernel
    • Kernel support functions and algorithms used by each module
    • How modules provide for multiple implementations of similar functionality
  • Ground rules of kernel programming (races, deadlock conditions)
  • Implementation and properties of the most important algorithms
    • Portability
    • Performance
    • Functionality
  • Comparison between Linux and UNIX kernels, with emphasis on differences in algorithms
  • Details of the Linux scheduler
    • Its VM system
    • The ext2fs filesystem
  • The requirements for portability between architectures

Topics not covered:
This class will not contain a detailed examination of the kernel source, but will rather offer an overview and roap of Linux's design and functionality, as the ground work for future exploration.

Who should attend:
Application programmers and beginning kernel developers. You should be reasonably familiar with C programming in the UNIX environment, but no prior experience with the UNIX or Linux kernel code is assumed.


Ted Ts'o
Massachusetts Institute of Technology (MIT)

Theodore Ts'o has been a Linux kernel developer since almost the very beginnings of Linux: he implemented POSIX job control in the 0.10 Linux kernel and was the original author of the serial driver. He is the maintainer and author of ext2/ext3 filesystem utilities package, and he architected and implemented Linux's tty layer. Theodore is currently employed by IBM Linux Technology Center.



Last modified: Mon, 23 Jan 2006 22:36:51 +0100