کتاب صوتی قدرت در دستان شما: ساخت و فهم عمیق هسته سیستم عامل
قدرت در دستان شما: ساخت و فهم عمیق هسته سیستم عامل - دورهای الهام گرفته از Xinu قدرت در دستان شما: ساخت و فهم عمیق هسته سیستم عامل معرفی دوره: سفری هیجانانگیز به قلب سیستم عامل آیا همیشه آرزو داشتید...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره قدرت در دستان شما: ساخت و فهم عمیق هسته سیستم عامل
موضوع کلی: طراحی و پیادهسازی سیستمهای عامل
موضوع میانی: طراحی و پیادهسازی هسته سیستم عامل از پایه
📋 سرفصلهای دوره
- 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) هسته: تکنیکها و ابزارها
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Computer Science
embedded systems
kernel development
Operating System Design
OS Kernel
Xinu
آموزش سیستم عامل
برنامهنویسی سیستم
پیاده سازی سیستم عامل
درک عمیق سیستم عامل
سیستم عامل
طراحی سیستم عامل
مهندسی کامپیوتر
هسته سیستم عامل
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.