اپلیکیشن اندرویدی فلشکارت آموزشی قدرت در دستان شما: ساخت و فهم عمیق هسته سیستم عامل
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب قدرت در دستان شما: ساخت و فهم عمیق هسته سیستم عامل
موضوع کلی: طراحی و پیادهسازی سیستمهای عامل
موضوع میانی: طراحی و پیادهسازی هسته سیستم عامل از پایه
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر طراحی سیستمهای عامل: چرا خودمان یک هسته بسازیم؟
- 2. معماری سختافزار پایه: آنچه یک هستهنویس باید بداند
- 3. فرآیند بوت شدن سیستم: از روشن شدن تا اجرای اولین دستورالعمل هسته
- 4. آمادهسازی محیط توسعه: کامپایلر متقاطع و شبیهساز
- 5. اولین گامها در کد اسمبلی: نقطه ورود و تنظیمات اولیه
- 6. گذار از اسمبلی به C: برپایی پشته و فراخوانی تابع اصلی هسته
- 7. تابع اصلی هسته (nulluser): قلب تپنده اولیه سیستم
- 8. خروجی ساده: پیادهسازی kprintf برای چاپ روی کنسول
- 9. مبانی وقفهها (Interrupts) و استثناها (Exceptions)
- 10. جدول توصیفگر وقفه (IDT) و راهاندازی آن
- 11. پیادهسازی یک کنترلکننده وقفه عمومی
- 12. ساختارهای داده بنیادین در هسته: لیستهای پیوندی
- 13. ساختارهای داده بنیادین در هسته: صفها
- 14. تعاریف و ثوابت سراسری هسته: هدرهای اصلی
- 15. مفهوم فرآیند (Process) و بلوک کنترل فرآیند (PCB)
- 16. حالتهای مختلف یک فرآیند: از ایجاد تا خاتمه
- 17. ایجاد اولین فرآیند: پیادهسازی تابع create
- 18. لیست آماده (Ready List): مدیریت فرآیندهای آماده اجرا
- 19. زمانبند (Scheduler): انتخاب فرآیند بعدی برای اجرا
- 20. تعویض زمینه (Context Switch): جادوی چندوظیفگی
- 21. پیادهسازی تابع resched: واگذاری داوطلبانه پردازنده
- 22. پایان دادن به یک فرآیند: پیادهسازی تابع kill
- 23. فرآیند تهی (Null Process): وقتی هیچ کاری برای انجام نیست
- 24. مشکلات همزمانی: شرایط رقابتی (Race Condition)
- 25. ناحیه بحرانی (Critical Section) چیست؟
- 26. سادهترین راهحل: غیرفعال و فعال کردن وقفهها
- 27. مفهوم سمافور (Semaphore) و ضرورت آن
- 28. پیادهسازی سمافور: ساختار داده و صف انتظار
- 29. پیادهسازی عملیات wait (P) و signal (V)
- 30. استفاده از سمافور برای انحصار متقابل (Mutual Exclusion)
- 31. استفاده از سمافور برای همگامسازی (Synchronization)
- 32. حل مسئله تولیدکننده-مصرفکننده با سمافور
- 33. بنبست (Deadlock): تعریف و شرایط وقوع
- 34. ارتباط بین فرآیندی (IPC): ارسال و دریافت پیام
- 35. پیادهسازی توابع send و receive
- 36. ارسال پیام بافرنشده و بافرشده
- 37. پورتها: یک انتزاع برای مدیریت پیامها
- 38. پیادهسازی و مدیریت پورتها در هسته
- 39. اولویت فرآیندها و زمانبندی اولویتمحور
- 40. وراثت اولویت (Priority Inheritance) به عنوان راه حل وارونگی اولویت
- 41. مدیریت حافظه: نگاهی کلی به چالشها
- 42. نقشه حافظه سیستم در ابتدای کار
- 43. سادهترین تخصیصدهنده حافظه: لیست پیوندی از بلوکهای آزاد
- 44. پیادهسازی getmem: درخواست یک بلوک حافظه
- 45. پیادهسازی freemem: آزاد کردن یک بلوک حافظه
- 46. مشکل تکهتکه شدن حافظه (Fragmentation)
- 47. ادغام بلوکهای آزاد مجاور برای مقابله با تکهتکهشدگی
- 48. استخرهای بافر (Buffer Pools): مدیریت کارآمد بلوکهای با اندازه ثابت
- 49. پیادهسازی getbuf و freebuf
- 50. مدیریت پشتههای اختصاصی برای هر فرآیند
- 51. محافظت از سرریز پشته (Stack Overflow)
- 52. مقدمهای بر حافظه مجازی: صفحهبندی (Paging)
- 53. زیرسیستم ورودی/خروجی (I/O): یک معماری لایهای
- 54. مفهوم درایور دستگاه (Device Driver)
- 55. جدول سوئیچ دستگاه (Device Switch Table): رابطی یکپارچه برای دستگاهها
- 56. نیمه بالایی و نیمه پایینی یک درایور دستگاه
- 57. مدیریت وقفههای سختافزاری: کنترلکننده وقفه قابل برنامهریزی (PIC)
- 58. طراحی یک توزیعکننده وقفه (Interrupt Dispatcher)
- 59. دستگاه ساعت و زمانسنجی در سیستمعامل
- 60. پیادهسازی کنترلکننده وقفه ساعت
- 61. به خواب بردن فرآیندها برای مدتی معین: پیادهسازی sleep
- 62. لیست دلتا (Delta List): روشی کارآمد برای مدیریت رویدادهای زمانبندیشده
- 63. بیدار کردن فرآیندها: پیادهسازی wakeup
- 64. دستگاه سریال (TTY): ارتباط با دنیای بیرون
- 65. ورودی/خروجی بافری برای دستگاه سریال
- 66. پیادهسازی توابع خواندن (read) از دستگاه سریال
- 67. پیادهسازی توابع نوشتن (write) در دستگاه سریال
- 68. مدیریت کاراکترهای کنترلی در درایور TTY
- 69. رابط عمومی برای دستگاههای بلوکی (Block Devices)
- 70. پیادهسازی یک درایور دیسک مجازی در حافظه (RAM Disk)
- 71. مقدمهای بر سیستم فایل: مفاهیم و اهداف
- 72. طراحی یک سیستم فایل ساده بر روی دیسک
- 73. ساختار کلی دیسک: بلوک راهانداز، سوپربلاک، و نواحی داده
- 74. فهرست راهنما (Directory) و ساختار آن
- 75. ایندکس نود (Inode) یا معادل آن برای توصیف فایلها
- 76. پیادهسازی ساختار دایرکتوری روی دیسک
- 77. باز کردن و بستن فایلها: جداول فایل در سطح سیستم و فرآیند
- 78. پیادهسازی فراخوان سیستمی open
- 79. پیادهسازی فراخوان سیستمی close
- 80. پیادهسازی فراخوان سیستمی read برای فایلها
- 81. پیادهسازی فراخوان سیستمی write برای فایلها
- 82. پیادهسازی فراخوان سیستمی seek برای جابجایی در فایل
- 83. مدیریت بلوکهای داده آزاد روی دیسک
- 84. مدیریت اینودهای آزاد
- 85. نامگذاری و تحلیل مسیر (Path Resolution)
- 86. نصب (Mount) کردن یک سیستم فایل
- 87. ایجاد فایلها و دایرکتوریهای جدید
- 88. حذف فایلها و دایرکتوریها
- 89. دستگاههای مجازی در فضای نام سیستم فایل (مانند /dev/console)
- 90. پوسته (Shell): رابط خط فرمان کاربر
- 91. طراحی حلقه اصلی پوسته: خواندن، تجزیه، اجرا
- 92. پیادهسازی یک تجزیهکننده ساده برای دستورات
- 93. جدول دستورات و مکانیزم توزیع (Dispatching)
- 94. پیادهسازی دستورات داخلی: help, clear
- 95. پیادهسازی دستور ps برای نمایش وضعیت فرآیندها
- 96. پیادهسازی دستور mem برای نمایش وضعیت حافظه
- 97. پیادهسازی دستور kill برای ارسال سیگنال به فرآیندها
- 98. فراخوانهای سیستمی: مرز بین فضای کاربر و هسته
- 99. گذر از مرز: مکانیزم تله (Trap) برای فراخوانهای سیستمی
- 100. اشکالزدایی (Debugging) هسته: تکنیکها و ابزارها
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.