وبلاگ بلیان

Understanding the Linux Kernel, Third Edition

معرفی کتاب «Understanding the Linux Kernel, Third Edition» نوشتهٔ Daniel P. Bovet & Marco Cesati Bovet, Daniel P.، منتشرشده توسط نشر O'Reilly Media در سال 2007. این کتاب در 20 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «Understanding the Linux Kernel, Third Edition» در دستهٔ بدون دسته‌بندی قرار دارد.

In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks. The third edition of Understanding the Linux Kernel takes you on.;Table of Contents; Preface; The Audience for This Book; Organization of the Material; Level of Description; Overview of the Book; Background Information; Conventions in This Book; How to Contact Us; Safari® Enabled; Acknowledgments; Introduction; Linux Versus Other Unix-Like Kernels; Hardware Dependency; Linux Versions; Basic Operating System Concepts; Multiuser Systems; Users and Groups; Processes; Kernel Architecture; An Overview of the Unix Filesystem; Files; Hard and Soft Links; File Types; File Descriptor and Inode; Access Rights and File Mode; File-Handling System Calls; Opening a file. Table of Contents Preface The Audience for This Book Organization of the Material Level of Description Overview of the Book Background Information Conventions in This Book How to Contact Us Safari® Enabled Acknowledgments Introduction Linux Versus Other Unix-Like Kernels Hardware Dependency Linux Versions Basic Operating System Concepts Multiuser Systems Users and Groups Processes Kernel Architecture An Overview of the Unix Filesystem Files Hard and Soft Links File Types File Descriptor and Inode Access Rights and File Mode File-Handling System Calls Opening a file. Accessing an opened fileClosing a file Renaming and deleting a file An Overview of Unix Kernels The Process/Kernel Model Process Implementation Reentrant Kernels Process Address Space Synchronization and Critical Regions Kernel preemption disabling Interrupt disabling Semaphores Spin locks Avoiding deadlocks Signals and Interprocess Communication Process Management Zombie processes Process groups and login sessions Memory Management Virtual memory Random access memory usage Kernel Memory Allocator Process virtual address space handling Caching Device Drivers. Memory AddressingMemory Addresses Segmentation in Hardware Segment Selectors and Segmentation Registers Segment Descriptors Fast Access to Segment Descriptors Segmentation Unit Segmentation in Linux The Linux GDT The Linux LDTs Paging in Hardware Regular Paging Extended Paging Hardware Protection Scheme An Example of Regular Paging The Physical Address Extension (PAE) Paging Mechanism Paging for 64-bit Architectures Hardware Cache Translation Lookaside Buffers (TLB) Paging in Linux The Linear Address Fields Page Table Handling Physical Memory Layout Process Page Tables. Kernel Page TablesProvisional kernel Page Tables Final kernel Page Table when RAM size is less than 896?MB Final kernel Page Table when RAM size is between 896?MB and 4096?MB Final kernel Page Table when RAM size is more than 4096?MB Fix-Mapped Linear Addresses Handling the Hardware Cache and the TLB Handling the hardware cache Handling the TLB Processes Processes, Lightweight Processes, and?Threads Process Descriptor Process State Identifying a Process Process descriptors handling Identifying the current process Doubly linked lists The process list. The lists of TASK_RUNNING processesRelationships Among Processes The pidhash table and chained lists How Processes Are Organized Wait queues Handling wait queues Process Resource Limits Process Switch Hardware Context Task State Segment The thread field Performing the Process Switch The switch_to macro The??_??_switch_to?(??)??function Saving and Loading the FPU, MMX, and XMM Registers Saving the FPU registers Loading the FPU registers Using the FPU, MMX, and SSE/SSE2 units in Kernel Mode Creating Processes The clone(??), fork(??), and vfork(??) System Calls. In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks. The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does. This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics: Memory management, including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem layer and the Second and Third Extended Filesystems Process creation and scheduling Signals, interrupts, and the essential interfaces to device drivers Timing Synchronization within the kernel Interprocess Communication (IPC) Program execution Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's 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. This book will help you make the most of your Linux system. In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, and in what order. It manages limited memory so well that hundreds of processes can share the system efficiently. It expertly organizes data transfers so that the CPU isn't kept waiting any longer
دانلود کتاب Understanding the Linux Kernel, Third Edition