rent-now

Rent More, Save More! Use code: ECRENTAL

5% off 1 book, 7% off 2 books, 10% off 3+ books

9780596002138

Understanding the Linux Kernel

by
  • ISBN13:

    9780596002138

  • ISBN10:

    0596002130

  • Edition: 2nd
  • Format: Paperback
  • Copyright: 2003-01-01
  • Publisher: Oreilly & Associates Inc

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $29.97 Save up to $7.49
  • Buy Used
    $22.48

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Summary

The new edition of "Understanding the Linux Kernel takes you on a guided tour through the most significant data structures, many algorithms, and programming tricks used in the kernel. Probing beyond the superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Relevant segments of code are dissected and discussed line by line. The book covers more than just the functioning of the code, it explains the theoretical underpinnings for why Linux does things the way it does. The new edition of the book has been updated to cover version 2.4 of the kernel, which is quite different from version 2.2: the virtual memory system is entirely new, support for multiprocessor systems is improved, and whole new classes of hardware devices have been added. You'll learn what conditions bring out Linux's best performance, and how it meets the challenge of providing good system response during process scheduling, file access, and memory managementin a wide variety of environments. If knowledge is power, then this book will help you make the most of your Linux system.

Table of Contents

Preface ix
Introduction
1(33)
Linux Versus Other Unix-Like Kernels
2(4)
Hardware Dependency
6(1)
Linux Versions
7(1)
Basic Operating System Concepts
8(4)
An Overview of the Unix Filesystem
12(6)
An Overview of Unix Kernels
18(16)
Memory Addressing
34(38)
Memory Addresses
34(1)
Segmentation in Hardware
35(5)
Segmentation in Linux
40(4)
Paging in Hardware
44(10)
Paging in Linux
54(18)
Processes
72(37)
Processes, Lightweight Processes, and Threads
72(2)
Process Descriptor
74(15)
Process Switch
89(10)
Creating Processes
99(7)
Destroying Processes
106(3)
Interrupts and Exceptions
109(52)
The Role of Interrupt Signals
110(1)
Interrupts and Exceptions
111(10)
Nested Execution of Exception and Interrupt Handlers
121(1)
Initializing the Interrupt Descriptor Table
122(3)
Exception Handling
125(3)
Interrupt Handling
128(17)
Softirqs, Tasklets, and Bottom Halves
145(11)
Returning from Interrupts and Exceptions
156(5)
Kernel Synchronization
161(32)
Kernel Control Paths
161(1)
When Synchronization Is Not Necessary
162(1)
Synchronization Primitives
163(21)
Synchronizing Accesses to Kernel Data Structures
184(5)
Examples of Race Condition Prevention
189(4)
Timing Measurements
193(24)
Hardware Clocks
194(3)
The Linux Timekeeping Architecture
197(5)
CPU's Time Sharing
202(1)
Updating the Time and Date
203(1)
Updating System Statistics
204(2)
Software Timers
206(7)
System Calls Related to Timing Measurements
213(4)
Memory Management
217(46)
Page Frame Management
217(22)
Memory Area Management
239(17)
Noncontiguous Memory Area Management
256(7)
Process Address Space
263(40)
The Process's Address Space
264(1)
The Memory Descriptor
265(3)
Memory Regions
268(17)
Page Fault Exception Handler
285(13)
Creating and Deleting a Process Address Space
298(2)
Managing the Heap
300(3)
System Calls
303(15)
POSIX APIs and System Calls
303(1)
System Call Handler and Service Routines
304(12)
Kernel Wrapper Routines
316(2)
Signals
318(30)
The Role of Signals
318(9)
Generating a Signal
327(5)
Delivering a Signal
332(11)
System Calls Related to Signal Handling
343(5)
Process Scheduling
348(24)
Scheduling Policy
348(4)
The Scheduling Algorithm
352(15)
System Calls Related to Scheduling
367(5)
The Virtual Filesystem
372(55)
The Role of the Virtual Filesystem (VFS)
372(6)
VFS Data Structures
378(16)
Filesystem Types
394(3)
Filesystem Mounting
397(10)
Pathname Lookup
407(9)
Implementations of VFS System Calls
416(4)
File Locking
420(7)
Managing I/O Devices
427(47)
I/O Architecture
427(10)
Device Files
437(4)
Device Drivers
441(8)
Block Device Drivers
449(22)
Character Device Drivers
471(3)
Disk Caches
474(23)
The Page Cache
476(5)
The Buffer Cache
481(16)
Accessing Files
497(31)
Reading and Writing a File
497(16)
Memory Mapping
513(10)
Direct I/O Transfers
523(5)
Swapping: Methods for Freeing Memory
528(46)
What Is Swapping?
529(2)
Swap Area
531(14)
The Swap Cache
545(3)
Transferring Swap Pages
548(3)
Swapping Out Pages
551(5)
Swapping in Pages
556(3)
Reclaiming Page Frame
559(15)
The Ext2 and Ext3 Filesystems
574(34)
General Characteristics of Ext2
574(3)
Ext2 Disk Data Structures
577(7)
Ext2 Memory Data Structures
584(4)
Creating the Ext2 Filesystem
588(2)
Ext2 Methods
590(2)
Managing Ext2 Disk Space
592(8)
The Ext3 Filesystem
600(8)
Networking
608(24)
Main Networking Data Structures
609(9)
System Calls Related to Networking
618(9)
Sending Packets to the Network Card
627(2)
Receiving Packets from the Network Card
629(3)
Process Communication
632(29)
Pipes
633(9)
FIFOs
642(2)
System V IPC
644(17)
Program Execution
661(24)
Executable Files
662(12)
Executable Formats
674(2)
Execution Domains
676(2)
The exec Functions
678(7)
A. System Startup 685(7)
B. Modules 692(10)
C. Source Code Structure 702(5)
Bibliography 707(4)
Source Code Index 711(38)
Index 749

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program