28%
Linux Kernel Development

Linux Kernel Development

5       |  7 Reviews 
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

The Linux kernel is one of the most important and far-reaching open-source projects. That is why Novell Press is excited to bring you the second edition of Linux Kernel Development, Robert Love's widely acclaimed insider's look at the Linux kernel. This authoritative, practical guide helps developers better understand the Linux kernel through updated coverage of all the major subsystems as well as new features associated with the Linux 2.6 kernel. You'll be able to take an in-depth look at Linux kernel from both a theoretical and an applied perspective as you cover a wide range of topics, including algorithms, system call interface, paging strategies and kernel synchronization. Get the top information right from the source in Linux Kernel Development.

Table of Contents:
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 Community.     The Community      Linux Coding Style        Indention        Braces        Line Size        Naming        Functions        Comments        Typedefs        Using What Is Already Provided        No ifdefs in the Source        Structure Initializers        Fixing Code Up Ex Post Facto      Chain of Command      Submitting Bug Reports      Generating Patches      Submitting Patches      Conclusion  Appendix A. Linked Lists.     Circular Linked Lists        Moving Through a Linked List      The Linux Kernel’s Implementation        The Linked-List Structure      Manipulating Linked Lists      Traversing Linked Lists  Appendix B. Kernel Random Number Generator.     Design and Implementation        The Dilemma of System Startup      Interfaces to Input Entropy      Interfaces to Output Entropy  Appendix C. Algorithmic Complexity.     Algorithms      Big-O Notation      Big Theta Notation      Putting It All Together      Perils of Time Complexity  Bibliography and Reading List.     Books on Operating System Design      Books on Unix Kernels      Books on Linux Kernels      Books on Other Kernels      Books on the Unix API      Books on the C Programming Language      Other Works      Websites  Index.


Best Sellers


Product Details
  • ISBN-13: 9780672327209
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Novell Press
  • Depth: 25
  • Height: 229 mm
  • No of Pages: 432
  • Weight: 670 gr
  • ISBN-10: 0672327201
  • Publisher Date: 20 Jan 2005
  • Binding: Paperback
  • Edition: 2
  • Language: English
  • Spine Width: 25 mm
  • Width: 178 mm


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

5       |  7 Reviews 
out of (%) reviewers recommend this product
Top Reviews
Rating Snapshot
Select a row below to filter reviews.
5
4
3
2
1
Average Customer Ratings
5       |  7 Reviews 
00 of 0 Reviews
Sort by :
Active Filters

00 of 0 Reviews
SEARCH RESULTS
1–2 of 2 Reviews
    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!

    BoxerLover2 - 5 Days ago
    A Thrilling But Totally Believable Murder Mystery

    Read this in one evening. I had planned to do other things with my day, but it was impossible to put down. Every time I tried, I was drawn back to it in less than 5 minutes. I sobbed my eyes out the entire last 100 pages. Highly recommend!


Sample text
Photo of
    Media Viewer

    Sample text
    Reviews
    Reader Type:
    BoxerLover2
    00 of 0 review

    Your review was submitted!
    Linux Kernel Development
    Pearson Education (US) -
    Linux Kernel Development
    Writing guidlines
    We want to publish your review, so please:
    • keep your review on the product. Review's that defame author's character will be rejected.
    • Keep your review focused on the product.
    • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
    • Refrain from mentioning competitors or the specific price you paid for the product.
    • Do not include any personally identifiable information, such as full names.

    Linux Kernel Development

    Required fields are marked with *

    Review Title*
    Review
      Add Photo Add up to 6 photos
      Would you recommend this product to a friend?
      Tag this Book
      Read more
      Does your review contain spoilers?
      What type of reader best describes you?
      I agree to the terms & conditions
      You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

      CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

      These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


      By submitting any content to Bookswagon, you guarantee that:
      • You are the sole author and owner of the intellectual property rights in the content;
      • All "moral rights" that you may have in such content have been voluntarily waived by you;
      • All content that you post is accurate;
      • You are at least 13 years old;
      • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
      You further agree that you may not submit any content:
      • That is known by you to be false, inaccurate or misleading;
      • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
      • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
      • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
      • For which you were compensated or granted any consideration by any unapproved third party;
      • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
      • That contains any computer viruses, worms or other potentially damaging computer programs or files.
      You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


      For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


      All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

      Accept

      New Arrivals


      Inspired by your browsing history


      Your review has been submitted!

      You've already reviewed this product!
      ASK VIDYA