Error title
Some error text about your books and stuff.
Close

Linux Kernel Development

by Robert Love

  • ISBN: 9780672327209
  • ISBN10: 0672327201

Linux Kernel Development

by Robert Love

  • List Price: $54.99
  • Binding: Paperback
  • Edition: 2
  • Publisher: Macmillan Computer Pub
  • Publish date: 01/12/2005
  • ISBN: 9780672327209
  • ISBN10: 0672327201
used Add to Cart $3.20
You save: 94%
Marketplace Item
new Add to Cart $22.91
You save: 58%
Marketplace Item
Description: 1. Introduction to the Linux Kernel. Along Came Linus: Introduction to Linux Overview of Operating Systems and Kernels Linux Versus Classic Unix Kernels Linux Kernel Versions The Linux Kernel Development Community Before We Begin 2. Getting Started with the Kernel. Obtaining the Kernel Source Installing the Kernel Source Using Patches The Kernel Source Tree Building the Kernel Minimizing Build Noise Spawning Multiple Build Jobs Installing the Kernel A Beast of a Different Nature No libc GNU C No Memory Protection No (Easy) Use of Floating Point Small, Fixed-Size Stack Synchronization and Concurrency Portability Is Important So Here We Are 3. Process Management. Process Descriptor and the Task Structure Allocating the Process Descriptor Storing the Process Descriptor Process State Manipulating the Current Process State Process Context The Process Family Tree Process Creation Copy-on-Write fork() vfork() The Linux Implementation of Threads Kernel Threads Process Termination Removal of the Process Descriptor The Dilemma of the Parentless Task Process Wrap Up 4. Process Scheduling. Policy I/O-Bound Versus Processor-Bound Processes Process Priority Timeslice Process Preemption The Scheduling Policy in Action The Linux Scheduling Algorithm Runqueues The Priority Arrays Recalculating Timeslices schedule() Calculating Priority and Timeslice Sleeping and Waking Up The Load Balancer Preemption and Context Switching User Preemption Kernel Preemption Real-Time Scheduler-Related System Calls Scheduling Policy and Priority-Related System Calls Processor Affinity System Calls Yielding Processor Time Scheduler Finale 5. System Calls. APIs, POSIX, and the C Library Syscalls System Call Numbers System Call Performance System Call Handler Denoting the Correct System Call Parameter Passing System Call Implementation Verifying the Parameters System Call Context Final Steps in Binding a System Call Accessing the System Call from User-Space Why Not to Implement a System Call System Calls in Conclusion 6. Interrupts and Interrupt Handlers. Interrupts Interrupt Handlers Top Halves Versus Bottom Halves Registering an Interrupt Handler Freeing an Interrupt Handler Writing an Interrupt Handler Shared Handlers A Real-Life Interrupt Handler Interrupt Context Implementation of Interrupt Handling /proc/interrupts Interrupt Control Disabling and Enabling Interrupts Disabling a Specific Interrupt Line Status of the Interrupt System Don''t Interrupt Me; We''re Almost Done! 7. Bottom Halves and Deferring Work. Bottom Halves Why Bottom Halves? A World of Bottom Halves Softirqs Implementation of Softirqs Using Softirqs Tasklets Implementation of Tasklets Using Tasklets ksoftirqd The Old BH Mechanism Work Queues Implementation of Work Queues Using Work Queues The Old Task Queue Mechanism Which Bottom Half Should I Use? Locking Between the Bottom Halves Disabling Bottom Halves The Bottom of Bottom-Half Processing 8. Kernel Synchronization Introduction. Critical Regions and Race Conditions Why Do We Need Protection? Locking g What Causes Concurrency, Anyway? So, How Do I Know What Needs Protecting? Deadlocks Contention and Scalability Locking and Your Code 9. Kernel Synchronization Methods. Atomic Operations Atomic Integer Operations Atomic Bitwise Operations Spin Locks Other Spin Lock Methods Spin Locks and Bottom Halves Reader-Writer Spin Locks Semaphores Creating and Initializing Semaphores Using Semaphores Reader-Writer Semaphores Spin Locks Versus Semaphores Completion Variables BKL: The Big Kernel Lock Seq Locks Preemption Disabling Ordering and Barriers Synchronization Summarization 10. Timers and Time Management. Kernel Notion of Time The Tick Rate: HZ The Ideal HZ Value Jiffies Internal Representation of Jiffies Jiffies Wraparound User-Space and HZ Hardware Clocks and Timers Real-Time Clock System Timer The Timer Interrupt Handler The Time of Day Timers Using Timers Timer Race Conditions The Timer Implementation Delaying Execution Busy Looping Small Delays schedule_timeout() Out of Time 11. Memory Management. Pages Zones Getting Pages Getting Zeroed Pages Freeing pages kmalloc() gfp_mask Flags kfree() vmalloc() Slab Layer Design of the Slab Layer Slab Allocator Interface Statically Allocating on the Stack Playing Fair on the Stack High Memory Mappings Permanent Mappings Temporary Mappings Per-CPU Allocations The New percpu Interface Per-CPU Data at Compile-Time Per-CPU Data at Runtime Reasons for Using Per-CPU Data Which Allocation Method Should I Use? 12. The Virtual Filesystem. Common Filesystem Interface Filesystem Abstraction Layer Unix Filesystems VFS Objects and Their Data Structures Other VFS Objects The Superblock Object Superblock Operations The Inode Object Inode Operations The Dentry Object Dentry State The Dentry Cache Dentry Operations The File Object File Operations Data Structures Associated with Filesystems Data Structures Associated with a Process Filesystems in Linux 13. The Block I/O Layer. Anatomy of a Block Device Buffers and Buffer Heads The bio structure The Old Versus the New Request Queues Requests I/O Schedulers The Job of an I/O Scheduler The Linus Elevator The Deadline I/O Scheduler The Anticipatory I/O Scheduler The Complete Fair Queuing I/O Scheduler The Noop I/O Scheduler I/O Scheduler Selection Summary 14. The Process Address Space. The Memory Descriptor Allocating a Memory Descriptor Destroying a Memory Descriptor The mm_struct and Kernel Threads Memory Areas VMA Flags VMA Operations Lists and Trees of Memory Areas Memory Areas in Real Life Manipulating Memory Areas find_vma() find_vma_prev() find_vma_intersection() mmap() and do_mmap(): Creating an Address Interval The mmap() System Call munmap() and do_munmap(): Removing an Address Interval The munmap() System Call Page Tables Conclusion 15. The Page Cache and Page Writeback. Page Cache The address_space Object Radix Tree The Old Page Hash Table The Buffer Cache The pdflush Daemon Laptop Mode bdflush and kupdated Congestion Avoidance: Why We Have Multiple Threads To Make a Long Story Short 16. Modules. Hello, World! Building Modules At Home in the Source Tree Living Externally Installing Modules Generating Module Dependencies Loading Modules Managing Configuration Options Module Parameters Exported Symbols Wrapping Up Modules 17. kobjects and sysfs. kobjects ktypes ksets Subsystems Structure Confusion Managing and Manipulating kobjects Reference Counts krefs sysfs Adding and Removing kobjects from sysfs Adding Files to sysfs The Kernel Events Layer kobjects and sysfs in a Nutshell 18. Debugging. What You Need to Start Bugs in the Kernel printk() The Robustness of printk() Loglevels The Log Buffer syslogd and klogd A Note About printk() and Kernel Hacking Oops ksymoops kallsyms Kernel Debugging Options Atomicity Debugging Asserting Bugs and Dumping Information Magic SysRq Key The Saga of a Kernel Debugger gdb kgdb kdb Poking and Probing the System Using UID as a Conditional Using Condition Variables Using Statistics Rate Limiting Your Debugging Binary Searching to Find the Culprit Change When All Else Fails: The Community 19. Portability. History of Portability in Linux Word Size and Data Types Opaque Types Special Types Explicitly Sized Types Signedness of Chars Data Alignment Avoiding Alignment Issues Alignment of Nonstandard Types Structure Padding Byte Order History of Big- and Little-Endian Byte Ordering in the Kernel Time Page Size Processor Ordering SMP, Kernel Preemption, and High Memory Portability Is Fun 20. Patches, Hacking, and the Comm
Expand description
Seller Condition Comments Price  
Seller: Friends of the Phoenix Library
1,114 orders (96% success)
Location: Phoenix, AZ
Condition: Good
Shipping Icon
100% of this purchase will support literacy programs through a nonprofit organization!
Price:
$3.20
Comments:
100% of this purchase will support literacy programs through a nonprofit organization!
Seller: Better World Books West
1,767 orders (95% success)
Location: Mishawaka, IN
Condition: Very Good
Ships from Reno, NV. Former Library book. Great condition for a used book!
[...]
Price:
$3.36
Comments:
Ships from Reno, NV. Former Library book. Great condition for a used book!
[...]
Seller: HPB-Emerald
6,477 orders (96% success)
Location: Dallas, TX
Condition: Good
Shipping Icon
Connecting readers with great books since 1972. Used books may not include
[...]
Price:
$5.38
Comments:
Connecting readers with great books since 1972. Used books may not include
[...]
Seller: HPB-Ruby
7,774 orders (97% success)
Location: Dallas, TX
Condition: Good
Shipping Icon
Connecting readers with great books since 1972. Used books may not include
[...]
Price:
$8.98
Comments:
Connecting readers with great books since 1972. Used books may not include
[...]
Seller: Ergodebooks
16,614 orders (98% success)
Location: Richmond, TX Ask seller a question
Condition: Good
Excellent customer service. Prompt Customer Service. Buy with confidence.Ships Fast. 24*7 Customer Service.
Price:
$9.15
Comments:
Excellent customer service. Prompt Customer Service. Buy with confidence.Ships Fast. 24*7 Customer Service.
Seller: FastBooks100
1,319 orders (89% success)
Location: Franklin, TN Ask seller a question
Condition: Good
Price:
$18.95
Comments:
Seller: Ergodebooks
16,614 orders (98% success)
Location: Richmond, TX Ask seller a question
Condition: New
Buy with confidence. Excellent Customer Service & Return policy.Ships Fast. 24*7 Customer Service.
Price:
$22.91
Comments:
Buy with confidence. Excellent Customer Service & Return policy.Ships Fast. 24*7 Customer Service.
Seller: One Stop Shop Bookstore
1,958 orders (96% success)
Location: Memphis, TN
Condition: Good
Shipping Icon
Price:
$24.88
Comments:
please wait
Please Wait

Notify Me When Available

Enter your email address below,
and we'll contact you when your school adds course materials for
.
Enter your email address below, and we'll contact you when is back in stock (ISBN: ).