x
Loading
 Loading
Have a question about Linux? Ask it in the forums
Hello, Guest | Login | Register

Author Archive

Using Kexec and Kdump

Kexec can spawn a
kernel-over-a-kernel without the overhead of boot firmware, while
kdump can reliably collect a crash-dump
using the services of kexec.

Expand Your Debugging Toolkit with Kernel Probes

Tried of booting a debug kernel? Kprobes can intrude into your kernel code and extract debug information or apply run time medication.
The Linux Device Model

Many Linux subsystems, such as the /dev filesystem, hotplug, module autoload, and microcode download have undergone significant changes with the introduction of the new device model. Learn about udev, sysfs, kobjects, classes, and more.
Pardon the Interruption

Interrupt handlers are an integral part of most device drivers. Learn to implement interrupt handlers and bottom halves.
Kernel Boot

Look at messages generated during kernel boot and explore the internals of the more interesting ones.
Notifier Chains and Completion Functions

Kernel helper interfaces make life easier for developers. Learn about notifier chains, completion functions and error handling aids.
Manipulating “Seq” Files

The process filesystem is a window into the mystical innards of the kernel. The seq file interface simplifies the job of process file creators.
Linked Lists and Work Queues

The use of standard kernel helper facilities simplifies your code, weeds out redundancies from the kernel, and helps long-term maintenance. And since the helpers are bug-free and optimized, you inherit those benefits for free.
Down Memory Lane, Part Two

Learn how the kernel views physical memory.
Down Memory Lane, Part One

Most embedded devices boot from flash memory and have data resident on flash-based storage. Here’s how to use flash devices while embedding Linux.
Linux and the BIOS

The x86 kernel has direct and indirect dependencies on the system BIOS. Here’s a look at some of the guts.
Concurrency in the Kernel

Multiple threads of execution need to be synchronized to avoid data corruption and even system freezes.
The Passage of Time

The kernel keeps track of the flow of time. It provides services to sleep wait for long periods and busy wait for short periods, can schedule events to run at a future time, and can do periodic work with microsecond precision. Here’s a look at kernel time.
Kernel Threads

Kernel threads are used to implement background tasks inside the kernel. They are similar to user processes, but live in kernel address space. Here’s how to use them.
Profiling and Tracing

Profiling helps find code bottlenecks. Trace tools provide the ability to extract and interpret details about code execution.
Kernel Debuggers

Debuggers make kernel internals more transparent. On Linux, they come in different flavors: The Kernel debugger, kdb, the Kernel GNU debugger, kgdb, the GNU debugger, gdb, and JTAG- based debuggers. Learn how to use the former three in this month’s column.
Networking and Storage with PC Cards

Thanks to plug-and-play devices like PC cards, you can backup gigabytes of data onto a stamp-sized device or enable your laptop with diverse networking technologies.
Writing PCMCIA/CF Device Drivers

Technologies like Wi-Fi, GPRS, and miniature storage devices are ubiquitous today as PCMCIA or CF cards. The Linux kernel supports PCMCIA devices on a variety of architectures.
Writing a Kernel Line Discipline

Look at the internals of a line discipline and implement a simple line discipline for a serial touch screen controller.