Warenkorb
Kostenloser Versand
Unsere Operationen sind klimaneutral

Understanding the Linux Kernel Daniel P. Bovet

Understanding the Linux Kernel von Daniel P. Bovet

Understanding the Linux Kernel Daniel P. Bovet


€17.99
Zustand - Sehr Gut
Nur noch 1

Zusammenfassung

This text allows the reader to understand when Linux performs best and how it meets the challenge of different environments that assign varying importance to the system's responsiveness in process scheduling, file access and memory management.

Understanding the Linux Kernel Zusammenfassung

Understanding the Linux Kernel Daniel P. Bovet

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.

Über Daniel P. Bovet

Daniel P. Bovet got a Ph.D. in computer science at UCLA in 1968 and is now full Professor at the University of Rome, Tor Vergata, Italy. He had to wait over 25 years before being able to teach an operating system course in a proper manner because of the lack of source code for modern, well-designed systems. Now, thanks to cheap PCs and to Linux, Marco and Dan are able to cover all the facets of an operating system from booting to tuning and are able to hand out tough, satisfying homework to their students. (These young guys working at home on their PCs are really spoiled; they never had to fight with punched cards.) In fact, Dan was so fascinated by the accomplishments of Linus Torvalds and his followers that he spent the last few years trying to unravel some of Linux's mysteries. It seemed natural, after all that work, to write a book about what he found. Marco Cesati 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).

Inhaltsverzeichnis

Preface 1. Introduction Linux Versus Other Unix-Like Kernels Hardware Dependency Linux Versions Basic Operating System Concepts An Overview of the Unix Filesystem An Overview of Unix Kernels 2. Memory Addressing Memory Addresses Segmentation in Hardware Segmentation in Linux Paging in Hardware Paging in Linux 3. Processes Processes, Lightweight Processes, and Threads Process Descriptor Process Switch Creating Processes Destroying Processes 4. Interrupts and Exceptions The Role of Interrupt Signals Interrupts and Exceptions Nested Execution of Exception and Interrupt Handlers Initializing the Interrupt Descriptor Table Exception Handling Interrupt Handling Softirqs, Tasklets, and Bottom Halves Returning from Interrupts and Exceptions 5. Kernel Synchronization Kernel Control Paths When Synchronization Is Not Necessary Synchronization Primitives Synchronizing Accesses to Kernel Data Structures Examples of Race Condition Prevention 6. Timing Measurements Hardware Clocks The Linux Timekeeping Architecture CPU's Time Sharing Updating the Time and Date Updating System Statistics Software Timers System Calls Related to Timing Measurements 7. Memory Management Page Frame Management Memory Area Management Noncontiguous Memory Area Management 8. Process Address Space The Process's Address Space The Memory Descriptor Memory Regions Page Fault Exception Handler Creating and Deleting a Proces Address Space Managing the Heap 9. System Calls POSIX APIs and System Calls System Call Handler and Service Routines Kernel Wrapper Routines 10. Signals The Role of Signals Generating a Signal Delivering a Signal System Calls Related to Signal Handling 11. Process Scheduling Scheduling Policy The Scheduling Algorithm System Calls Related to Scheduling 12. The Virtual Filesystem The Role of the Virtual Filesystem (VFS) VFS Data Structures Filesystem Types Filesystem Mounting Pathname Lookup Implementations of VFS System Calls File Locking 13. Managing I/O Devices I/O Architecture Device Files Device Drivers Block Device Drivers Character Device Drivers 14. Disk Caches The Page Cache The Buffer Cache 15. Accessing Files Reading and Writing a File Memory Mapping Direct I/O Transfers 16. Swapping: Methods for Freeing Memory What Is Swapping? Swap Area The Swap Cache Transferring Swap Pages Swapping Out Pages Swapping in Pages Reclaiming Page Frame 17. The Ext2 and Ext3 Filesystems General Characteristics of Ext2 Ext2 Disk Data Structures Ext2 Memory Data Structures Creating the Ext2 Filesystem Ext2 Methods Managing Ext2 Disk Space The Ext3 Filesystem 18. Networking Main Networking Data Structures System Calls Related to Networking Sending Packets to the Network Card Receiving Packets from the Network Card 19. Process Communication Pipes FIFOs System V IPC 20. Program Execution Executable Files Executable Formats Execution Domains The exec Functions A. System Startup B. Modules C. Source Code Structure Bibliography Source Code Index Index

Zusätzliche Informationen

GOR002812449
9780596002138
0596002130
Understanding the Linux Kernel Daniel P. Bovet
Gebraucht - Sehr Gut
Broschiert
O'Reilly Media
20030121
765
N/A
Die Abbildung des Buches dient nur Illustrationszwecken, die tatsächliche Bindung, das Cover und die Auflage können sich davon unterscheiden.
Dies ist ein gebrauchtes Buch. Es wurde schon einmal gelesen und weist von der früheren Nutzung Gebrauchsspuren auf. Wir gehen davon aus, dass es im Großen und Ganzen in einem sehr guten Zustand ist. Sollten Sie jedoch nicht vollständig zufrieden sein, setzen Sie sich bitte mit uns in Verbindung.