ویژگیهای کلیدی
نحوه نوشتن کد هسته و ماژول لینوکس برای محصولات دنیای واقعی در هسته 6.1 LTS را کشف کنید.
تکنیکهای درجه صنعتی را در سناریوهای دنیای واقعی برای تخصیص سریع و کارآمد حافظه و همگامسازی دادهها پیادهسازی کنید.
معماری هسته، زمانبندی CPU و تکنیکهای همگامسازی هسته را درک و بهرهبرداری کنید.
شرح کتاب
ویرایش دوم برنامهنویسی هسته لینوکس یک راهنمای بهروز و جامع برای کسانی است که در توسعه هسته لینوکس تازهکار هستند. این نسخه که بر اساس آخرین هسته لینوکس با پشتیبانی بلندمدت (LTS) 6.1 ساخته شده است، که تا دسامبر 2026 حفظ میشود، ویژگیها و پیشرفتهای کلیدی آن را بررسی میکند. علاوه بر این، با گسترش پشتیبانی پروژه زیرساخت مدنی از هسته 6.1 Super LTS (SLTS) تا آگوست 2033، این کتاب برای سالهای آینده نیز مرتبط خواهد بود.
شما این سفر هیجانانگیز را با یادگیری نحوه ساخت هسته از منبع آغاز خواهید کرد. سپس گام به گام، یاد خواهید گرفت که چگونه اولین ماژول هسته خود را با استفاده از چارچوب قدرتمند ماژول هسته قابل بارگذاری (LKM) بنویسید. با این مبانی، به مباحث کلیدی داخلی هسته از جمله معماری هسته لینوکس، مدیریت حافظه و زمانبندی CPU (وظایف) خواهید پرداخت. در پایان، مسائل عمیق همزمانی را درک خواهید کرد و بینشی در مورد چگونگی پرداختن به آنها با فناوریهای مختلف همگامسازی/قفلسازی (به عنوان مثال، mutexes، spinlocks، اپراتورهای atomic/refcount، rw-spinlocks و حتی فناوریهای بدون قفل مانند per-CPU و RCU) به دست خواهید آورد.
در پایان این کتاب، درک قوی از اصول اولیه نوشتن هسته لینوکس و کد ماژول هسته ایجاد خواهید کرد که میتواند بلافاصله در پروژهها و محصولات دنیای واقعی مورد استفاده قرار گیرد.
آنچه خواهید آموخت
پیکربندی و ساخت هسته 6.1 LTS از منبع
نوشتن کد هسته ماژولار با کیفیت بالا (چارچوب LKM) برای هستههای 6.x
بررسی معماری هسته مدرن لینوکس
آشنایی با جزئیات داخلی کلیدی در مورد مدیریت حافظه در هسته
درک و کار با APIهای مختلف تخصیص/حذف حافظه پویای هسته
کشف جنبههای داخلی کلیدی در مورد زمانبندی CPU در هسته، از جمله cgroups نسخه 2
درک عمیقتری از مسائل همزمانی هسته
یادگیری نحوه کار با اصول اولیه همگامسازی هسته
این کتاب برای چه کسانی مناسب است؟
این کتاب برای برنامهنویسان و توسعهدهندگان مبتدی لینوکس است که به دنبال شروع کار با هسته لینوکس هستند و یک پایگاه دانش برای درک مباحث داخلی مورد نیاز هسته و غلبه بر مشکلات رایج و مکرر توسعه ارائه میدهد.
درک اولیه از لینوکس CLI و برنامهنویسی C فرض بر این است.
فهرست مطالب
برنامهنویسی هسته لینوکس – مقدمهای سریع
ساخت هسته لینوکس 6.x از منبع – بخش 1
ساخت هسته لینوکس 6.x از منبع – بخش 2
نوشتن اولین ماژول هسته شما – بخش 1
نوشتن اولین ماژول هسته شما – بخش 2
موارد ضروری داخلی هسته – فرآیندها و نخها
موارد ضروری داخلی مدیریت حافظه
تخصیص حافظه هسته برای نویسندگان ماژول – بخش 1
تخصیص حافظه هسته برای نویسندگان ماژول – بخش 2
زمانبند CPU – بخش 1
زمانبند CPU – بخش 2
همگامسازی هسته – بخش 1
همگامسازی هسته – بخش 2






























