Subscribe
Tutorial search

Linux Kernel Tutorials


Sort by:
High availability with the Linux Distributed Replicated Block Device
High availability with the Linux Distributed Replicated Block Device
The 2.6.33 Linux kernel has introduced a useful new service called the Distributed Replicated Block Device (DRBD). This service mirrors an entire block device to another networked host during run time, permitting the development of high-availability clusters for block data. Explore the ideas behind the DRBD and its implementation in the Linux kernel.
Difficulty:
User space memory access from the Linux kernel
User space memory access from the Linux kernel
As the kernel and user space exist in different virtual address spaces, there are special considerations for moving data between them. Explore the ideas behind virtual address spaces and the kernel APIs for data movement to and from user space, and learn some of the other mapping techniques used to map memory.
Difficulty:
Live Kernel Patches with Ksplice
Live Kernel Patches with Ksplice
Ksplice applies kernel patches on-the-fly - no reboot required — in a fraction of a second. Here's a hands-on guide to performing painless system updates. Learn how to patch a live kernel and give reboots the boot.
Difficulty:
Learn inotify efficient Linux file system event-monitoring in the 2.6 kernel
Learn inotify efficient Linux file system event-monitoring in the 2.6 kernel
learn how to use inotify functions for a simple monitoring app. Download the sample code and Use inotify when you need efficient, fine-grained, asynchronous monitoring of Linux file system events. Use it for user-space monitoring for security, performance, or other purposes.
Difficulty:
Anatomy of Linux Kernel Shared Memory
Anatomy of Linux Kernel Shared Memory
An interesting change in the 2.6.32 kernel is Kernel Shared Memory (KSM). KSM allows the hypervisor to increase the number of concurrent virtual machines by consolidating identical memory pages. Explore the ideas behind KSM (such as storage de-duplication), its implementation, and how you manage it.
Difficulty:
Kernel APIs, Part 3: Timers and lists in the 2.6 kernel
Kernel APIs, Part 3: Timers and lists in the 2.6 kernel
The Linux kernel includes a variety of APIs intended to help developers build simpler and more efficient driver and kernel applications. Two of the more common APIs that can be used for work deferral are the list management and timer APIs. Discover these APIs, and learn how to develop kernel applications with timers and lists.
Difficulty:
Kernel APIs, Part 2: Deferrable functions, kernel tasklets, and work queues
Kernel APIs, Part 2: Deferrable functions, kernel tasklets, and work queues
For high-frequency threaded operations, the Linux® kernel provides tasklets and work queues. Tasklets and work queues implement deferrable functionality and replace the older bottom-half mechanism for drivers. This article explores the use of tasklets and work queues in the kernel and shows you how to build deferrable functions with these APIs.
Difficulty:
Kernel APIs, Part 1: Invoking user-space applications from the kernel
Kernel APIs, Part 1: Invoking user-space applications from the kernel
The Linux® system call interface permits user-space applications to invoke functionality in the kernel, but what about invoking user-space applications from the kernel? Explore the usermode-helper API, and learn how to invoke user-space applications and manipulate their output.
Difficulty:
Virtio: An I/O virtualization framework for Linux
Virtio: An I/O virtualization framework for Linux
With all the virtualization schemes running on top of Linux, how do they exploit the underlying kernel for I/O virtualization? The answer is virtio, which provides an efficient abstraction for hypervisors and a common set of I/O virtualization drivers. Discover virtio, and learn why Linux will soon be the hypervisor of choice.
Difficulty:
Tune your Linux-based server for power efficiency
Tune your Linux-based server for power efficiency
Part 1 introduces the components and concepts you'll need to tune your system for power efficiency. Part 2 compares the five in-kernel governors: performance, powersave, userspace, ondemand, and conservative. Part 3 show you what results you can achieve by power tuning your system.
Difficulty:
Linux introspection and SystemTap
Linux introspection and SystemTap
Modern operating system kernels provide the means for introspection, the ability to peer dynamically within the kernel to understand its behaviors. With this knowledge, you can tune or modify the kernel to avoid failure conditions. Discover an open source infrastructure called SystemTap that provides this dynamic introspection for the Linux® kernel.
Difficulty:
X WIndow System Internals
X WIndow System Internals
This week I have completed the "X Window Internals" tutorial. It is found at http://xwindow.angelfire.com/ This tutorial aims to fill the gap of Linux and other Unix-like systems source code commentaries when it comes to the graphic system. Although there is huge bibliography in the net and the textbooks for topics like Unix system programming, kernel programming, open source code, etc, I think there are not adequate references about the X11 graphics system internals. What my text provides is a study of the X server starting from main() and the interaction with the X Client and the input/output devices. Some of the strong points are: a complete example of a client request and the X server dispatching of the same Xlib request. I go as deep as much I could to the device drivers interface, for instance the screen driver and the mouse driver. The relationship of the framebuffers with the video card memory is explored. The mouse events creation and the compete path in the source until the events reach the client is followed. Some of the graphics Context operations that take place in the frame buffers are also examined. Christos Karayiannis
Difficulty:
Reduce Linux power consumption
Reduce Linux power consumption
Start tuning your Linux system for power efficiency. This article will get you up to speed on the components and concepts you need to fine-tune a Linux-based System x server for power efficiency. Learn how to enable the Linux CPUfreq subsystem, get instruction on C and P states, and determine which of the five Linux in-kernel governors you need to boost power efficiency on your system.
Difficulty:
Linux Kernel Virtual Machine improves build performance
Linux Kernel Virtual Machine improves build performance
KVM acts as the host for the guest operating systems that build the target software for the user. By switching from VMware build guests to Linux KVM guests, build times for each guest are reduced by as much as 50 percent. Learn how to set up the build server and create guests, customize build requests, and organize and access build results.
Difficulty:
Installing and Configuring Xen
Installing and Configuring Xen
Basic Installation and configuration guide for the Xen hypervisor. Learn to compile the Xen kernel, and configure both the host and guest domains, configuring separate dom0 & domU kernels, networking, and launching guest domains.
Difficulty:
Search Term(s) (1): kernel