Linux Internals and Kernel Development

2 votes, average: 4.50 out of 52 votes, average: 4.50 out of 52 votes, average: 4.50 out of 52 votes, average: 4.50 out of 52 votes, average: 4.50 out of 5
Please Log in or register to rate

Linux Internals and Kernel Development


This course focuses on the basic elements of the Linux kernel, which allow programmers to build modules and device drivers. The students will gain a general understanding of the basic tools and interfaces needed in order to successfully modify features and develop new aspects of the kernel.
During the labs, the students will build a full device driver including hardware access and interrupt handling.

Course Objectives

Upon completion of the course, participants will be able to:
Explain the core elements of the Linux kernel
Use the code for modifying and building new modules
Build complex kernel modules
Debug a kernel module and a kernel oops
Explain how the kernel manages memory
Explain the use of interrupt handlers
Understand the flow between user space and kernel space
Understand the network sub system and write network modules


Target Audience:
Programmers and software designers who plan to use the Linux kernel below the application level and to develop kernel space modules and device drivers.

Students should have a working knowledge of Linux user space programming.

Course Topics
  • Introduction to the Linux kernel
  • Writing a simple kernel module
  • Runtime information
  • Memory Management
  • Implementing a character device file
  • Moving data between kernel and user
  • Debugging
  • Locking mechanisms
  • Linux Scheduler
  • Interrupt handling
  • Bottom halves
  • Network device drivers
  • Block Layer and VFS
© Copyright - Skilit - Site by Dweb