page header

course: Linux Kernel Internals

This course is specific to the Linux system

A view below the surface

Nowadays, many companies use Linux-based servers. As the use of Linux for mission critical applications increases, the need for specialised Linux-knowledge will grow proportionally.

In this course the internal concepts of the Linux kernel will be covered. The focus of the course is on the architecture and the functionality of the kernel code, not on a detailed examination of the source code (which changes continuously). Various kernel mechanisms are reviewed which contribute to the right perspective about the design of the Linux kernel. Besides, the internal kernel administration is discussed along with the possibilities to investigate and analyze serious system malfunctioning with help of kernel debugger tools. Also the internal structure of filesystems on disk will be explained.

Sample course material

We are proud to present a sample chapter from the course handouts, in PDF-format. This material is a proprietary AT Computing development.

Target audience

  • Experienced Linux system administrators who need a deeper understanding of the consequences of their daily system management activities and the possibilities to analyze problem situations.
  • Experienced application programmers who want to know how the kernel manages system calls in order to be able to write their programs more efficiently.

Objectives

This course covers the internal concepts of the Linux kernel without the details of the source code. It enables you to manage your daily system activities in a more efficient way and to track the causes of complicated problems. For this purpose additional debugging tools will be provided during the course.

Prerequisite knowledge

For this course detailed knowledge about and experience with Linux/UNIX system administration, or experience as a Linux/UNIX system programmer, is required.

Knowledge of the C programming language is not required.

Technical content of the course

The course is based on Linux kernel version 2.6. In case of hardware dependencies, the focus is on Intel based systems.

The following topics will be covered:

  • Introduction to the kernel: Overview of the kernel source tree. Layers within the kernel.
  • File subsystem: Layout of the ext2 and ext3 file systems. File system switch in the kernel (VFS). Pseudo-filesystem '/proc'. Disk cache implementation. In-core administration of open files. In-core mount list. Handling of pipes.
  • Process subsystem: Process management via system calls fork() and exec(). The boot mechanism. State transitions of processes. Process groups and sessions. Processes and multithreading via the system call clone().
  • Process scheduling and priorities.
  • Interrupts and traps: Handling clock and device interrupts. Handling CPU-traps.
  • Signals: Source of signals. Handling signals upon receipt.
  • Memory management: Layout of the physical memory. Virtual memory concept. Swap devices. The paging mechanism.
  • General structure of device drivers: Loadable modules. Characteristics of disk- and tty-drivers.
  • Sockets: the framework of networking in the kernel.
  • Kernel analysis: Investigation of kernel-administration with the program atkins.

The theorical lectures are varied with practical exercises. These exercises will focus on the usage of various tools to analyze problem situations.

Not covered in this course

  • System installation and administration.
  • Device driver programming.

Documentation

Exercises, solutions to the exercises, and copies of the presentation with extensive student notes are provided.

Certificate

Shortly after the course the student will receive a certificate as a proof of participation.

Duration and cost

This is a five day course.

The price is € 1.980 plus 19% VAT in 2008. The price is € 2.095 plus 19% VAT in 2009.

Scheduled dates

This course is part of our regular programme, and scheduled once or twice yearly. The course material is in English, and the teaching language will be English unless the attendants prefer the Dutch language unanimously.
Currently scheduled dates are: November 13,14,17,18,19 2008 in our location in Utrecht.

Valid XHTML 1.0 Strict   Valid CSS2   Best viewed with any browser