برنامه نویسی هسته لینوکس ۲۰۲۱
Linux Kernel Programming 2021

دانلود کتاب برنامه نویسی هسته لینوکس ۲۰۲۱ (Linux Kernel Programming 2021) با لینک مستقیم و فرمت pdf (پی دی اف)

نویسنده

Kaiwan N Billimoria

voucher (1)

۳۰ هزار تومان تخفیف با کد «OFF30» برای اولین خرید

سال انتشار

2021

زبان

English

تعداد صفحه‌ها

754

نوع فایل

pdf

حجم

24 Mb

🏷️ قیمت اصلی: 200,000 تومان بود.قیمت فعلی: 129,000 تومان.

🏷️ قیمت اصلی: ۳۷۸٬۰۰۰ تومان بود. قیمت فعلی: ۲۹۸٬۰۰۰ تومان.

📥 دانلود نسخه‌ی اصلی کتاب به زبان انگلیسی(PDF)
🧠 به همراه ترجمه‌ی فارسی با هوش مصنوعی 🔗 مشاهده جزئیات

دانلود مستقیم PDF

ارسال فایل به ایمیل

پشتیبانی ۲۴ ساعته

توضیحات

معرفی کتاب برنامه نویسی هسته لینوکس ۲۰۲۱

نحوه نوشتن کد ماژول هسته با کیفیت بالا، حل مشکلات رایج برنامه نویسی هسته لینوکس و درک اصول اولیه اجزای داخلی هسته لینوکس را بیاموزید.

ویژگی های کلیدی

  • کشف نحوه نوشتن کد هسته با استفاده از چارچوب ماژول هسته قابل بارگذاری
  • اکتشاف تکنیک های درجه صنعتی برای انجام تخصیص حافظه کارآمد و همگام سازی داده ها در هسته
  • درک اصول موضوعات اصلی داخلی مانند معماری هسته، مدیریت حافظه، زمان بندی CPU و همگام سازی هسته

توضیحات کتاب

برنامه نویسی هسته لینوکس یک مقدمه جامع برای کسانی است که تازه با توسعه هسته و ماژول لینوکس آشنا شده اند. این راهنمای آسان دنبال خواهد شد شما را در نوشتن کد هسته در کمترین زمان به اوج خود خواهد رساند. این کتاب از آخرین هسته لینوکس 5.4 با پشتیبانی بلند مدت (LTS) استفاده می کند که از نوامبر 2019 تا دسامبر 2025 نگهداری خواهد شد. با کار با هسته 5.4 LTS در طول کتاب، می توانید مطمئن باشید که دانش شما سال ها معتبر خواهد بود. شما سفر خود را با یادگیری نحوه ساخت هسته از منبع شروع خواهید کرد. بعد، اولین ماژول هسته خود را با استفاده از چارچوب قدرتمند ماژول هسته قابل بارگذاری (LKM) خواهید نوشت. فصل های بعدی موضوعات اصلی داخلی هسته از جمله معماری هسته لینوکس، مدیریت حافظه و زمان بندی CPU را پوشش خواهند داد. در طول این کتاب، شما به موضوع نسبتاً پیچیده همزمانی در هسته خواهید پرداخت، مسائل مربوط به آن را خواهید فهمید و یاد خواهید گرفت که چگونه با استفاده از فناوری های قفل گذاری مختلف (متغیرهای قفل، اسپین لاک، اپراتورهای اتمی و شمارش مرجع) می توان آنها را برطرف کرد. همچنین از مطالب پیشرفته تر در مورد اثرات حافظه نهان، مقدمه ای بر تکنیک های بدون قفل در هسته، جلوگیری از بن بست (با lockdep) و تکنیک های اشکال زدایی قفل هسته بهره مند خواهید شد. در پایان این کتاب هسته، درک کاملی از اصول اولیه نوشتن کد ماژول هسته لینوکس برای پروژه ها و محصولات دنیای واقعی خواهید داشت.

آنچه یاد خواهید گرفت

  • نوشتن کد هسته مدولار با کیفیت بالا (چارچوب LKM) برای هسته های 5.x
  • تنظیم و ساخت هسته از منبع
  • اکتشاف معماری هسته لینوکس
  • آشنایی با اجزای داخلی کلیدی در مورد مدیریت حافظه در هسته
  • درک و کار با API های مختلف تخصیص/آزادسازی حافظه پویا
  • کشف جنبه های کلیدی داخلی در مورد زمان بندی CPU در هسته
  • به دست آوردن درک از مسائل همزمانی هسته
  • یادگیری نحوه کار با اولیه های همگام سازی کلیدی هسته

این کتاب برای چه کسانی است

این کتاب برای برنامه نویسان لینوکس است که شروع به یافتن راه خود در توسعه هسته لینوکس کرده اند. اگر شما یک توسعه دهنده هسته و درایور لینوکس هستید که به دنبال غلبه بر مشکلات رایج و مکرر توسعه هسته یا درک فواصل هسته هستید، اطلاعات مفیدی پیدا خواهید کرد. قبل از اینکه بتوانید به این کتاب بپردازید، به یک پایه محکم از CLI لینوکس و برنامه نویسی C نیاز دارید.


فهرست کتاب:

۱. صفحه عنوان

۲. حق تکثیر و اعتبارات

۳. تقدیم

۴. مشارکت‌کنندگان

۵. پیشگفتار

۶. بخش ۱: مبانی

۷. تنظیمات فضای کاری هسته

۸. ساخت هسته لینوکس ۵.x از منبع – قسمت ۱

۹. ساخت هسته لینوکس ۵.x از منبع – قسمت ۲

۱۰. نوشتن اولین ماژول هسته شما – ال‌کی‌ام‌ها قسمت ۱

۱۱. نوشتن اولین ماژول هسته شما – ال‌کی‌ام‌ها قسمت ۲

۱۲. بخش ۲: درک و کار با هسته

۱۳. ضروریات درونی هسته – فرآیندها و رشته‌ها

۱۴. ضروریات درونی مدیریت حافظه

۱۵. تخصیص حافظه هسته برای نویسندگان ماژول – قسمت ۱

۱۶. تخصیص حافظه هسته برای نویسندگان ماژول – قسمت ۲

۱۷. زمان‌بندی CPU – قسمت ۱

۱۸. زمان‌بندی CPU – قسمت ۲

۱۹. بخش ۳: کندوکاو بیشتر

۲۰. همگام‌سازی هسته – قسمت ۱

۲۱. همگام‌سازی هسته – قسمت ۲

۲۲. درباره پکت

۲۳. کتاب‌های دیگری که ممکن است از آن‌ها لذت ببرید

توضیحات(انگلیسی)

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.You'll start the journey by learning how to build the kernel from the source. Next, you'll write your first kernel module using the powerful Loadable Kernel Module (LKM) framework. The following chapters will cover key kernel internals topics including Linux kernel architecture, memory management, and CPU scheduling. During the course of this book, 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. If you're a Linux kernel and driver developer looking to overcome frequent and common kernel development issues, or understand kernel intervals, you'll find plenty of useful information.You'll need a solid foundation of Linux CLI and C programming before you can jump in.

]]>


Table of Contents

1. Title Page

2. Copyright and Credits

3. Dedication

4. Contributors

5. Preface

6. Section 1: The Basics

7. Kernel Workspace Setup

8. Building the 5.x Linux Kernel from Source - Part 1

9. Building the 5.x Linux Kernel from Source - Part 2

10. Writing Your First Kernel Module - LKMs Part 1

11. Writing Your First Kernel Module - LKMs Part 2

12. Section 2: Understanding and Working with the Kernel

13. Kernel Internals Essentials - Processes and Threads

14. Memory Management Internals - Essentials

15. Kernel Memory Allocation for Module Authors - Part 1

16. Kernel Memory Allocation for Module Authors - Part 2

17. The CPU Scheduler - Part 1

18. The CPU Scheduler - Part 2

19. Section 3: Delving Deeper

20. Kernel Synchronization - Part 1

21. Kernel Synchronization - Part 2

22. About Packt

23. Other Books You May Enjoy

دیگران دریافت کرده‌اند

Comptia Linux+ تست های تمرین: امتحان XK۰-۰۰۵ ۲۰۲۲
CompTIA Linux+ Practice Tests: Exam XK0-005 2022

🏷️ قیمت اصلی: 200,000 تومان بود.قیمت فعلی: 129,000 تومان.

✨ ضمانت تجربه خوب مطالعه

بازگشت کامل وجه

در صورت مشکل، مبلغ پرداختی بازگردانده می شود.

دانلود پرسرعت

دانلود فایل کتاب با سرعت بالا

ارسال فایل به ایمیل

دانلود مستقیم به همراه ارسال فایل به ایمیل.

پشتیبانی ۲۴ ساعته

با چت آنلاین و پیام‌رسان ها پاسخگو هستیم.

ضمانت کیفیت کتاب

کتاب ها را از منابع معتیر انتخاب می کنیم.