rent-now

Rent More, Save More! Use code: ECRENTAL

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

9780596000028

Understanding the Linux Kernel

by ;
  • ISBN13:

    9780596000028

  • ISBN10:

    0596000022

  • Format: Paperback
  • Copyright: 2000-11-01
  • Publisher: Oreilly & Associates Inc
  • View Upgraded Edition

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: $39.95 Save up to $9.99
  • Buy Used
    $29.96

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Summary

Why is Linux so efficient? Is it the right operating system for a particular application? What can be learned from looking at the kernel source code? These are the kinds of questions that "Understanding the Linux Kernel takes in stride in this guided tour of the code that forms the core of all Linux operating systems.Linux is presented too often as a casual hacker experiment. It has increasingly become not only a mission-critical part of many organizations, but a sophisticated display of programming skill. It incorporates many advanced operating system concepts and has proven itself extremely robust and efficient for a wide range of uses."Understanding the Linux Kernel helps readers understand how Linux performs best and how it meets the challenge of different environments. The authors introduce each topic by explaining its importance, and show how kernel operations relate to the utilities that are familiar to Unix programmers and users.Major topics include:Memory management, including file buffering, process swapping, and Direct Memory Access (DMA)The Virtual File System and the Second Extended File SystemProcess creation and schedulingSignals, interrupts, and the essential interfaces to device driversTimingSynchronization in the kernelInter-Process Communication (IPC)Program execution

Table of Contents

Preface xi
Introduction
1(4)
Linux Versus Other Unix-Like Kernels
2(3)
Hardware Dependency
5(30)
Linux Versions
6(1)
Basic Operating System Concepts
7(5)
An Overview of the Unix Filesystem
12(7)
An Overview of Unix Kernels
19(16)
Memory Addressing
35(30)
Memory Addresses
35(1)
Segmentation in Hardware
36(4)
Segmentation in Linux
40(5)
Paging in Hardware
45(8)
Paging in Linux
53(11)
Anticipating Linux 2.4
64(1)
Processes
65(35)
Process Descriptor
65(15)
Process Switching
80(9)
Creating Processes
89(8)
Destroying Processes
97(2)
Anticipating Linux 2.4
99(1)
Interrupts and Exceptions
100(38)
The Role of Interrupt Signals
101(1)
Interrupts and Exceptions
102(9)
Nested Execution of Exception and Interrupt Handlers
111(1)
Initializing the Interrupt Descriptor Table
112(3)
Exception Handling
115(3)
Interrupt Handling
118(15)
Returning from Interrupts and Exceptions
133(3)
Anticipating Linux 2.4
136(2)
Timing Measurements
138(20)
Hardware Clocks
139(2)
The Timer Interrupt Handler
141(1)
PIT's Interrupt Service Routine
142(2)
The TIMER_BH Bottom Half Functions
144(10)
System Calls Related to Timing Measurements
154(3)
Anticipating Linux 2.4
157(1)
Memory Management
158(37)
Page Frame Management
158(13)
Memory Area Management
171(17)
Noncontiguous Memory Area Management
188(5)
Anticipating Linux 2.4
193(2)
Process Address Space
195(38)
The Process's Address Space
196(2)
The Memory Descriptor
198(1)
Memory Regions
199(17)
Page Fault Exception Handler
216(12)
Creating and Deleting a Process Address Space
228(2)
Managing the Heap
230(2)
Anticipating Linux 2.4
232(1)
System Calls
233(16)
POSIX APIs and System Calls
233(1)
System Call Handler and Service Routines
234(12)
Wrapper Routines
246(2)
Anticipating Linux 2.4
248(1)
Signals
249(28)
The Role of Signals
249(8)
Sending a Signal
257(3)
Receiving a Signal
260(11)
Real-Time Signals
271(1)
System Calls Related to Signal Handling
271(5)
Anticipating Linux 2.4
276(1)
Process Scheduling
277(22)
Scheduling Policy
277(4)
The Scheduling Algorithm
281(12)
System Calls Related to Scheduling
293(5)
Anticipating Linux 2.4
298(1)
Kernel Synchronization
299(29)
Kernel Control Paths
299(1)
Synchronization Techniques
300(10)
The SMP Architecture
310(4)
The Linux/SMP Kernel
314(13)
Anticipating Linux 2.4
327(1)
The Virtual Filesystem
328(44)
The Role of the VFS
328(6)
VFS Data Structures
334(16)
Filesystem Mounting
350(7)
Pathname Lookup
357(5)
Implementations of VFS System Calls
362(4)
File Locking
366(5)
Anticipating Linux 2.4
371(1)
Managing I/O Devices
372(43)
I/O Architecture
372(6)
Associating Files with I/O Devices
378(5)
Device Drivers
383(8)
Character Device Handling
391(2)
Block Device Handling
393(18)
Page I/O Operations
411(3)
Anticipating Linux 2.4
414(1)
Disk Caches
415(21)
The Buffer Cache
416(15)
The Page Cache
431(3)
Anticipating Linux 2.4
434(2)
Accessing Regular Files
436(20)
Reading and Writing a Regular File
436(9)
Memory Mapping
445(10)
Anticipating Linux 2.4
455(1)
Swapping: Methods for Freeing Memory
456(39)
What Is Swapping?
457(2)
Swap Area
459(12)
The Swap Cache
471(3)
Transferring Swap Pages
474(5)
Page Swap-Out
479(7)
Page Swap-In
486(2)
Freeing Page Frames
488(6)
Anticipating Linux 2.4
494(1)
The Ext2 Filesystem
495(29)
General Characteristics
495(2)
Disk Data Structures
497(8)
Memory Data Structures
505(4)
Creating the Filesystem
509(2)
Ext2 Methods
511(2)
Managing Disk Space
513(8)
Reading and Writing an Ext2 Regular File
521(2)
Anticipating Linux 2.4
523(1)
Process Communication
524(28)
Pipes
525(8)
FIFOs
533(3)
System V IPC
536(15)
Anticipating Linux 2.4
551(1)
Program Execution
552(23)
Executable Files
553(13)
Executable Formats
566(2)
Execution Domains
568(1)
The exec-like Functions
569(5)
Anticipating Linux 2.4
574(1)
Appendix A System Startup 575(7)
Appendix B Modules 582(9)
Appendix C Source Code Structure 591(4)
Bibliography 595(4)
Source Code Index 599(28)
Index 627

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