 |
 |
 |
 |
 |
 |
Anatomy of ext4
The fourth extended file system, or ext4, is the next generation of
journaling file systems, retaining backward compatibility with the
previous file system, ext3. Although ext4 is not currently the
standard, it will be the next default file system for most Linux
distributions. Get to know ext4, and discover why it will be your new
favorite file system. |
|
|
|
17 Feb 2009 |
|
|
Anatomy of Linux process management
The creation and management of user-space processes in Linux have many
principles in common with UNIX but also include several unique
optimizations specific to Linux. Here, review the life cycle of Linux
processes and explore the kernel internals for user process creation,
memory management, scheduling, and death. |
|
|
|
20 Dec 2008 |
|
|
Anatomy of Linux dynamic libraries
Dynamically linked shared libraries are an important aspect of
GNU/Linux. They allow executables to dynamically access external
functionality at run time and thereby reduce their overall memory
footprint (by bringing functionality in when it's needed). This article
investigates the process of creating and using dynamic libraries,
provides details on the various tools for exploring them, and explores
how these libraries work under the hood. |
|
|
|
20 Aug 2008 |
|
|
Anatomy of Linux loadable kernel
modules
Linux loadable kernel modules, introduced in version 1.2 of the kernel,
are one of the most important innovations in the Linux kernel. They
provide a kernel that is both scalable and dynamic. Discover the ideas
behind loadable modules, and learn how these independent objects
dynamically become part of the Linux kernel. |
|
|
|
16 Jul 2008 |
|
|
Anatomy of Linux journaling file
systems
In recent history, journaling file systems were viewed as an oddity and
thought of primarily in terms of research. But today, a journaling file
system (ext3) is the default in Linux. Discover the ideas behind
journaling file systems, and learn how they provide better integrity in
the face of a power failure or system crash. Learn about the various
journaling file systems in use today, and peek into the next generation
of journaling file systems. |
|
|
|
04 Jun 2008 |
|
|
Anatomy of Linux flash file systems
You've probably heard of Journaling Flash File System (JFFS) and Yet
Another Flash File System (YAFFS), but do you know what it means to
have a file system that assumes an underlying flash device? This
article introduces you to flash file systems for Linux, and explores
how they care for their underlying consumable devices (flash parts)
through wear leveling, and identifies the various flash file systems
available along with their fundamental designs. |
|
|
|
20 May 2008 |
|
|
Anatomy of Security-Enhanced Linux
(SELinux)
Linux has been described as one of the most secure operating systems
available, but the National Security Agency (NSA) has taken Linux to
the next level with the introduction of Security-Enhanced Linux
(SELinux). SELinux takes the existing GNU/Linux operating system and
extends it with kernel and user-space modifications to make it
bullet-proof. If you're running a 2.6 kernel today, you might be
surprised to know that you're using SELinux right now! This article
explores the ideas behind SELinux and how it's implemented. |
|
|
|
29 Apr 2008 |
|
|
Anatomy of real-time Linux
architectures
It's not that Linux isn't fast or efficient, but in some cases fast
just isn't good enough. What's needed instead is the ability to
deterministically meet scheduling deadlines with specific tolerances.
Discover the various real-time Linux alternatives and how they achieve
real time -- from the early architectures that mimic virtualization
solutions to the options available today in the standard 2.6 kernel. |
|
|
|
15 Apr 2008 |
|
|
Anatomy of the Linux SCSI subsystem
The Small Computer Systems Interface (SCSI) is a collection of
standards that define the interface and protocols for communicating
with a large number of devices (predominantly storage related). Linux
provides a SCSI subsystem to permit communication with these devices.
Linux is a great example of a layered architecture that joins
high-level drivers, such as disk or CD-ROM drivers, to a physical
interface such as Fibre Channel or Serial Attached SCSI (SAS). This
article introduces you to the Linux SCSI subsystem and discusses where
this subsystem is going in the future. |
|
|
|
14 Nov 2007 |
|
|
Anatomy of Linux synchronization
methods
In your Linux education, you may have learned about concurrency,
critical sections, and locking, but how do you use these concepts
within the kernel? This article reviews the locking mechanisms
available within the 2.6 kernel, including atomic operators, spinlocks,
reader/writer locks, and kernel semaphores. It also explores where each
mechanism is most applicable for building safe and efficient kernel
code. |
|
|
|
31 Oct 2007 |
|
|
Anatomy of the Linux file system
When it comes to file systems, Linux is the Swiss Army knife of
operating systems. Linux supports a large number of file systems, from
journaling to clustering to cryptographic. Linux is a wonderful
platform for using standard and more exotic file systems and also for
developing file systems. This article explores the virtual file system
(VFS) -- sometimes called the virtual filesystem switch -- in the Linux
kernel and then reviews some of the major structures that tie file
systems together. |
|
|
|
30 Oct 2007 |
|
|
Anatomy of the Linux networking stack
One of the greatest features of the Linux operating system is its
networking stack. It was initially a derivative of the BSD stack and is
well organized with a clean set of interfaces. Its interfaces range
from the protocol agnostics, such as the common sockets layer interface
or the device layer, to the specific interfaces of the individual
networking protocols. This article explores the structure of the Linux
networking stack from the perspective of its layers and also examines
some of its major structures. |
|
|
|
27 Jun 2007 |
|
|
Anatomy of the Linux kernel
The Linux kernel is the core of a large and complex operating system,
and while it's huge, it is well organized in terms of subsystems and
layers. In this article, you explore the general structure of the Linux
kernel and get to know its major subsystems and core interfaces. Where
possible, you get links to other IBM articles to help you dig deeper. |
|
|
|
06 Jun 2007 |
|
|
Anatomy of the Linux slab allocator
Good operating system performance depends in part on the operating
system's ability to efficiently manage resources. In the old days, heap
memory managers were the norm, but performance suffered due to
fragmentation and the need for memory reclamation. Today, the Linux
kernel uses a method that originated in Solaris but has been used in
embedded systems for quite some time, allocating memory as objects
based on their size. This article explores the ideas behind the slab
allocator and examines its interfaces and their use. |