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, supportfor multiprocessor systems is improved, and whole new classes of hardware devices have been added. The authors explore each new feature in detail. Other topics in the book include: Memory management including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem and the Second Extended Filesystem; Process creation and scheduling; Signals, interrupts, and the essential interfaces to device drivers; Timing; Synchronization in the kernel; Interprocess Communication (IPC); and Program execution. "Understanding the Linux Kernel", Second Edition will acquaint you with all the inner workings of Linux, but is more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. If knowledge is power, then this book will help you make the most of your Linux system.
Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.
received a degree in mathematics in 1992 and a Ph.D. in computer science (University of Rome, "La Sapienza") in 1995. He is now a research assistant in the computer science department of the School of Engineering (University of Rome, "Tor Vergata"). In the past, he served as system administrator and Unix programmer for the university (as a Ph.D. student) and for several institutions (as a consultant).
Preface; The Audience for This Book; Organization of the Material; Overview of the Book; Background Information; Conventions in This Book; How to Contact Us; Acknowledgments; Chapter 1: Introduction; 1.1 Linux Versus Other Unix-Like Kernels; 1.2 Hardware Dependency; 1.3 Linux Versions; 1.4 Basic Operating System Concepts; 1.5 An Overview of the Unix Filesystem; 1.6 An Overview of Unix Kernels; Chapter 2: Memory Addressing; 2.1 Memory Addresses; 2.2 Segmentation in Hardware; 2.3 Segmentation in Linux; 2.4 Paging in Hardware; 2.5 Paging in Linux; Chapter 3: Processes; 3.1 Processes, Lightweight Processes, and Threads; 3.2 Process Descriptor; 3.3 Process Switch; 3.4 Creating Processes; 3.5 Destroying Processes; Chapter 4: Interrupts and Exceptions; 4.1 The Role of Interrupt Signals; 4.2 Interrupts and Exceptions; 4.3 Nested Execution of Exception and Interrupt Handlers; 4.4 Initializing the Interrupt Descriptor Table; 4.5 Exception Handling; 4.6 Interrupt Handling; 4.7 Softirqs, Tasklets, and Bottom Halves; 4.8 Returning from Interrupts and Exceptions; Chapter 5: Kernel Synchronization; 5.1 Kernel Control Paths; 5.2 When Synchronization Is Not Necessary; 5.3 Synchronization Primitives; 5.4 Synchronizing Accesses to Kernel Data Structures; 5.5 Examples of Race Condition Prevention; Chapter 6: Timing Measurements; 6.1 Hardware Clocks; 6.2 The Linux Timekeeping Architecture; 6.3 CPU’s Time Sharing; 6.4 Updating the Time and Date; 6.5 Updating System Statistics; 6.6 Software Timers; 6.7 System Calls Related to Timing Measurements; Chapter 7: Memory Management; 7.1 Page Frame Management; 7.2 Memory Area Management; 7.3 Noncontiguous Memory Area Management; Chapter 8: Process Address Space; 8.1 The Process’s Address Space; 8.2 The Memory Descriptor; 8.3 Memory Regions; 8.4 Page Fault Exception Handler; 8.5 Creating and Deleting a Process Address Space; 8.6 Managing the Heap; Chapter 9: System Calls; 9.1 POSIX APIs and System Calls; 9.2 System Call Handler and Service Routines; 9.3 Kernel Wrapper Routines; Chapter 10: Signals; 10.1 The Role of Signals; 10.2 Generating a Signal; 10.3 Delivering a Signal; 10.4 System Calls Related to Signal Handling; Chapter 11: Process Scheduling; 11.1 Scheduling Policy; 11.2 The Scheduling Algorithm; 11.3 System Calls Related to Scheduling; Chapter 12: The Virtual Filesystem; 12.1 The Role of the Virtual Filesystem (VFS); 12.2 VFS Data Structures; 12.3 Filesystem Types; 12.4 Filesystem Mounting; 12.5 Pathname Lookup; 12.6 Implementations of VFS System Calls; 12.7 File Locking; Chapter 13: Managing I/O Devices; 13.1 I/O Architecture; 13.2 Device Files; 13.3 Device Drivers; 13.4 Block Device Drivers; 13.5 Character Device Drivers; Chapter 14: Disk Caches; 14.1 The Page Cache; 14.2 The Buffer Cache; Chapter 15: Accessing Files; 15.1 Reading and Writing a File; 15.2 Memory Mapping; 15.3 Direct I/O Transfers; Chapter 16: Swapping: Methods for Freeing Memory; 16.1 What Is Swapping?; 16.2 Swap Area; 16.3 The Swap Cache; 16.4 Transferring Swap Pages; 16.5 Swapping Out Pages; 16.6 Swapping in Pages; 16.7 Reclaiming Page Frame; Chapter 17: The Ext2 and Ext3 Filesystems; 17.1 General Characteristics of Ext2; 17.2 Ext2 Disk Data Structures; 17.3 Ext2 Memory Data Structures; 17.4 Creating the Ext2 Filesystem; 17.5 Ext2 Methods; 17.6 Managing Ext2 Disk Space; 17.7 The Ext3 Filesystem; Chapter 18: Networking; 18.1 Main Networking Data Structures; 18.2 System Calls Related to Networking; 18.3 Sending Packets to the Network Card; 18.4 Receiving Packets from the Network Card; Chapter 19: Process Communication; 19.1 Pipes; 19.2 FIFOs; 19.3 System V IPC; Chapter 20: Program Execution; 20.1 Executable Files; 20.2 Executable Formats; 20.3 Execution Domains; 20.4 The exec Functions; System Startup; Prehistoric Age: The BIOS; Ancient Age: The Boot Loader; Middle Ages: The setup( ) Function; Renaissance: The startup_32( ) Functions; Modern Age: The start_kernel( ) Function; Modules; To Be (a Module) or Not to Be?; Module Implementation; Linking and Unlinking Modules; Linking Modules on Demand; Source Code Structure; Chapter 21: Bibliography; 21.1 Books on Unix Kernels; 21.2 Books on the Linux Kernel; 21.3 Books on PC Architecture and Technical Manuals on Intel Microprocessors; 21.4 Other Online Documentation Sources; Colophon;
Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.
GRATIS per la spedizione in U.S.A.
Destinazione, tempi e costiEUR 3,67 per la spedizione in U.S.A.
Destinazione, tempi e costiDa: SecondSale, Montgomery, IL, U.S.A.
Condizione: Very Good. Item in very good condition! Textbooks may not include supplemental items i.e. CDs, access codes etc. Codice articolo 00092057530
Quantità: 1 disponibili
Da: BooksRun, Philadelphia, PA, U.S.A.
Paperback. Condizione: Fair. Second. The item might be beaten up but readable. May contain markings or highlighting, as well as stains, bent corners, or any other major defect, but the text is not obscured in any way. Codice articolo 0596002130-7-1
Quantità: 1 disponibili
Da: Idaho Youth Ranch Books, Boise, ID, U.S.A.
Condizione: Good. A copy that has been read, but remains in clean condition. All pages are intact, and the cover is intact (including dust cover, if applicable). The spine may show signs of wear. Pages can include limited notes and highlighting, and the copy can include "From the library of" labels or limited small stickers. Book may have a remainder mark or be a price cutter. Codice articolo CU-05-07-04-0437
Quantità: 1 disponibili
Da: HPB-Emerald, Dallas, TX, U.S.A.
paperback. Condizione: Very Good. Connecting readers with great books since 1972! Used books may not include companion materials, and may have some shelf wear or limited writing. We ship orders daily and Customer Service is our top priority! Codice articolo S_436891957
Quantità: 1 disponibili
Da: Better World Books: West, Reno, NV, U.S.A.
Condizione: Very Good. 2nd. Former library book; may include library markings. Used book that is in excellent condition. May show signs of wear or have minor defects. Codice articolo 9983745-6
Quantità: 1 disponibili
Da: Better World Books, Mishawaka, IN, U.S.A.
Condizione: Very Good. 2nd. Used book that is in excellent condition. May show signs of wear or have minor defects. Codice articolo 4245146-20
Quantità: 1 disponibili
Da: Better World Books, Mishawaka, IN, U.S.A.
Condizione: Good. 2nd. Former library book; may include library markings. Used book that is in clean, average condition without any missing pages. Codice articolo 9038926-6
Quantità: 1 disponibili
Da: HPB Inc., Dallas, TX, U.S.A.
paperback. Condizione: Very Good. Connecting readers with great books since 1972! Used books may not include companion materials, and may have some shelf wear or limited writing. We ship orders daily and Customer Service is our top priority! Codice articolo S_431553148
Quantità: 1 disponibili
Da: St Vincent de Paul of Lane County, Eugene, OR, U.S.A.
Condizione: Acceptable. Paperback 100% of proceeds go to charity! Acceptable reading copy with obvious signs of use, wear, and/or cosmetic issues. Item is complete and remains readable despite notable condition issues. Codice articolo 2EE-02-2749
Quantità: 1 disponibili
Da: WorldofBooks, Goring-By-Sea, WS, Regno Unito
Paperback. Condizione: Fine. Codice articolo GOR010734257
Quantità: 1 disponibili