دانلود کتاب Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization (به فارسی: برنامه نویسی کرنل لینوکس: راهنمای جامع برای داخلی های هسته، نوشتن ماژول های هسته و همگام سازی هسته) نوشته شده توسط «Kaiwan N Billimoria»
اطلاعات کتاب برنامه نویسی کرنل لینوکس: راهنمای جامع برای داخلی های هسته، نوشتن ماژول های هسته و همگام سازی هسته
موضوع اصلی: کامپیوتر – شبکه
نوع: کتاب الکترونیکی
ناشر: Packt Publishing
نویسنده: Kaiwan N Billimoria
زبان: english
فرمت کتاب: PDF (قابل تبدیل به سایر فرمت ها)
سال انتشار: 2021
تعداد صفحه: 754 / 741
حجم فایل: 25.20 مگابایت
کد کتاب: 178995343X , 9781789953435
توضیحات کتاب برنامه نویسی کرنل لینوکس: راهنمای جامع برای داخلی های هسته، نوشتن ماژول های هسته و همگام سازی هسته
با نحوه نوشتن کد ماژول کرنل با کیفیت بالا، حل مشکلات رایج برنامه نویسی هسته لینوکس و درک اصول داخلی هسته لینوکس آشنا شوید
ویژگی های کلیدی
- کشف چگونه برای نوشتن کد هسته با استفاده از چارچوب ماژول کرنل قابل بارگیری
- کاوش تکنیکهای درجه صنعتی برای انجام تخصیص کارآمد حافظه و همگامسازی دادهها در هسته
- درک نکات ضروری موضوعات داخلی کلیدی مانند هسته معماری، مدیریت حافظه، زمانبندی CPU، و همگامسازی هسته
توضیحات کتاب
برنامهنویسی کرنل لینوکس، مقدمهای جامع برای کسانی است که در توسعه هسته و ماژول لینوکس تازه کار هستند. این راهنمای آسان برای دنبال کردن شما را با نوشتن کد هسته در زمان بعدی آماده و راه اندازی می کند. این کتاب از آخرین هسته لینوکس 5.4 پشتیبانی طولانی مدت (LTS) استفاده می کند که از نوامبر 2019 تا دسامبر 2025 نگهداری می شود. با کار کردن با هسته 5.4 LTS در سراسر کتاب، می توانید مطمئن باشید که دانش شما همچنان ادامه خواهد داشت. برای سال های آینده معتبر است.
این کتاب لینوکس با نشان دادن نحوه ساخت هسته از منبع شروع می شود. در مرحله بعد، یاد خواهید گرفت که چگونه اولین ماژول هسته خود را با استفاده از چارچوب قدرتمند Loadable Kernel Module (LKM) بنویسید. سپس این کتاب موضوعات کلیدی داخلی هسته از جمله معماری هسته لینوکس، مدیریت حافظه و زمانبندی CPU را پوشش میدهد. در مرحله بعد، به موضوع نسبتاً پیچیده همزمانی در هسته می پردازید، مشکلاتی را که می تواند ایجاد کند را درک می کنید و یاد می گیرید که چگونه می توان با فناوری های قفل کننده مختلف (mutexes، spinlocks، atomic و refcount عملگرها) به آنها پرداخت. شما همچنین از مطالب پیشرفتهتری در مورد جلوههای کش، پرایمر در تکنیکهای بدون قفل در هسته، اجتناب از بنبست (با lockdep) و تکنیکهای اشکالزدایی قفل هسته بهرهمند خواهید شد.
تا پایان این کرنل. در کتاب، شما درک دقیقی از اصول نوشتن کد ماژول هسته لینوکس برای پروژه ها و محصولات واقعی خواهید داشت.
آنچه یاد خواهید گرفت
- نوشتن کد هسته ماژولار با کیفیت بالا (چارچوب LKM) ) برای هسته های 5.x
- پیکربندی و ساختن یک هسته از منبع
- کاوش در معماری هسته لینوکس
- با موارد داخلی کلیدی مربوط به مدیریت حافظه در داخل kernel
- درک و کار با انواع مختلف APIهای حافظه پویا alloc/dealloc
- جنبههای داخلی کلیدی مربوط به زمانبندی CPU در هسته را کشف کنید
- درکی از همزمانی هسته به دست آورید. مشکلات
- چگونگی کار با کلیدهای همگام سازی هسته را بیابید
این کتاب برای چه کسی است
این کتاب برای برنامه لینوکس است mers شروع به یافتن راه خود با توسعه هسته لینوکس کرد. توسعه دهندگان هسته و درایور لینوکس که به دنبال غلبه بر مشکلات متداول و رایج توسعه هسته و همچنین درک داخلی هسته هستند، از این کتاب بهره خواهند برد. درک اولیه از برنامه نویسی Linux CLI و C مورد نیاز است.
فهرست محتوا
- راه اندازی فضای کاری هسته
- ساخت هسته لینوکس 5.0 از منبع، قسمت 1
- ساخت هسته لینوکس 5.0 از منبع، قسمت 2
- نوشتن اولین ماژول هسته، قسمت 1
- نوشتن اولین ماژول کرنل شما – قسمت 2
- کرنل Internals Essentials – Processes and Threads
- Internal Management Memory – Essentials
- تخصیص حافظه هسته برای نویسندگان ماژول، قسمت 1
- تخصیص حافظه هسته برای نویسندگان ماژول – قسمت 2
- CPU Scheduler – Part 1
- The CPU Scheduler – Part 2
- Cernel Synchronization – Part 1
- Cernel Synchronization – Part 2
Learn how to write high-quality kernel module code, solve common Linux kernel programming issues, and understand the fundamentals of Linux kernel internals
Key Features
- Discover how to write kernel code using the Loadable Kernel Module framework
- Explore industry-grade techniques to perform efficient memory allocation and data synchronization within the kernel
- Understand the essentials of key internals topics such as kernel architecture, memory management, CPU scheduling, and kernel synchronization
Book Description
Linux Kernel Programming is a comprehensive introduction for those new to Linux kernel and module development. This easy-to-follow guide will have you up and running with writing kernel code in next-to-no time. This book uses the latest 5.4 Long-Term Support (LTS) Linux kernel, which will be maintained from November 2019 through to December 2025. By working with the 5.4 LTS kernel throughout the book, you can be confident that your knowledge will continue to be valid for years to come.
This Linux book begins by showing you how to build the kernel from the source. Next, you’ll learn how to write your first kernel module using the powerful Loadable Kernel Module (LKM) framework. The book then covers key kernel internals topics including Linux kernel architecture, memory management, and CPU scheduling. Next, you’ll delve into the fairly complex topic of concurrency within the kernel, understand the issues it can cause, and learn how they can be addressed with various locking technologies (mutexes, spinlocks, atomic, and refcount operators). You’ll also benefit from more advanced material on cache effects, a primer on lock-free techniques within the kernel, deadlock avoidance (with lockdep), and kernel lock debugging techniques.
By the end of this kernel book, you’ll have a detailed understanding of the fundamentals of writing Linux kernel module code for real-world projects and products.
What you will learn
- Write high-quality modular kernel code (LKM framework) for 5.x kernels
- Configure and build a kernel from source
- Explore the Linux kernel architecture
- Get to grips with key internals regarding memory management within the kernel
- Understand and work with various dynamic kernel memory alloc/dealloc APIs
- Discover key internals aspects regarding CPU scheduling within the kernel
- Gain an understanding of kernel concurrency issues
- Find out how to work with key kernel synchronization primitives
Who this book is for
This book is for Linux programmers beginning to find their way with Linux kernel development. Linux kernel and driver developers looking to overcome frequent and common kernel development issues, as well as understand kernel internals, will benefit from this book. A basic understanding of Linux CLI and C programming is required.
Table of Contents
- Kernel Workspace Setup
- Building the 5.0 Linux kernel from Source, Part 1
- Building the 5.0 Linux kernel from Source, Part 2
- Writing your First Kernel Module, Part 1
- Writing your First Kernel Module – Part 2
- Kernel Internals Essentials – Processes and Threads
- Memory Management Internals – Essentials
- Kernel Memory Allocation for Module Authors, Part 1
- Kernel Memory Allocation for Module Authors – Part 2
- The CPU Scheduler – Part 1
- The CPU Scheduler – Part 2
- Kernel Synchronization – Part 1
- Kernel Synchronization – Part 2
برای دریافت کد تخفیف ۲۰ درصدی این کتاب، ابتدا صفحه اینستاگرام کازرون آنلاین (@kazerun.online ) را دنبال کنید. سپس، کلمه «بلیان» را در دایرکت ارسال کنید تا کد تخفیف به شما ارسال شود.