کتاب صوتی ساخت سیستمعامل از صفر با اسمبلی؛ از بوتلودر تا کرنل
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساخت سیستمعامل از صفر با اسمبلی؛ از بوتلودر تا کرنل
موضوع کلی: سیستمعامل و برنامهنویسی سطح پایین
موضوع میانی: طراحی و توسعه سیستمعاملهای سفارشی با اسمبلی
📋 سرفصلهای دوره
- 1. مبانی معماری کامپیوتر و نقش سیستمعامل
- 2. آشنایی با برنامهنویسی اسمبلی و زبان ماشین
- 3. معماری x86 و اجزای اصلی پردازنده
- 4. رجیسترها، فلگها و مدل اجرای CPU
- 5. حالت Real Mode و محدودیتهای آن
- 6. حالت Protected Mode و مفاهیم اصلی آن
- 7. مبانی آدرسدهی حافظه در x86
- 8. استک، Heap و مدیریت حافظه در سطح پایین
- 9. دستورهای اسمبلی موردنیاز برای توسعه سیستمعامل
- 10. اسمبل کردن کد و تولید فایل اجرایی
- 11. فرمت فایلهای باینری و ساختار Image
- 12. مراحل راهاندازی سیستم از روشن شدن تا اجرای کرنل
- 13. BIOS و فرآیند POST
- 14. مفهوم Boot Sector و محدودیت ۵۱۲ بایت
- 15. ساخت اولین Bootloader با اسمبلی
- 16. خواندن کد از دیسک در Bootloader
- 17. انتقال کنترل از Bootloader به Kernel
- 18. طراحی ساختار اولیه دیسک برای سیستمعامل
- 19. ساخت Image قابل بوت برای سیستمعامل
- 20. استفاده از BIOS Interruptها در مراحل بوت
- 21. نمایش متن روی صفحه در محیط Real Mode
- 22. دریافت ورودی از صفحهکلید در مراحل اولیه بوت
- 23. فعالسازی Protected Mode
- 24. ساخت Global Descriptor Table
- 25. تعریف Segment و Descriptor در GDT
- 26. Jump به Protected Mode و اجرای کد ۳۲ بیتی
- 27. مدیریت خطاهای انتقال به Protected Mode
- 28. آشنایی با Interruptها و Exceptionها
- 29. طراحی Interrupt Descriptor Table
- 30. راهاندازی Interrupt Handlerها
- 31. مدیریت Keyboard Interrupt
- 32. مدیریت Timer Interrupt
- 33. برنامهریزی Programmable Interrupt Controller
- 34. راهاندازی تایمر سیستم
- 35. ساخت درایور اولیه صفحهنمایش
- 36. نوشتن متن و کاراکتر در Video Memory
- 37. طراحی رابط خط فرمان ساده
- 38. ساخت Keyboard Driver
- 39. مدیریت Scan Codeهای صفحهکلید
- 40. پیادهسازی ورودی و خروجی پایه سیستم
- 41. طراحی ساختار اولیه کرنل
- 42. تفکیک Bootloader و Kernel
- 43. انتقال پارامترها از Bootloader به Kernel
- 44. ساخت Kernel Entry Point با اسمبلی
- 45. ترکیب اسمبلی با کد سطح بالاتر
- 46. تنظیم Linker و Memory Layout
- 47. ساخت Makefile و فرآیند Build سیستمعامل
- 48. طراحی ساختار پروژه سیستمعامل
- 49. مدیریت حافظه در Kernel
- 50. تشخیص مقدار حافظه قابل استفاده
- 51. پیادهسازی Allocator ساده
- 52. مدیریت حافظه فیزیکی
- 53. مبانی Paging در x86
- 54. ساخت Page Directory و Page Table
- 55. فعالسازی Paging
- 56. مدیریت حافظه مجازی
- 57. کنترل دسترسی و حفاظت حافظه
- 58. طراحی System Callها
- 59. انتقال کنترل از User Mode به Kernel Mode
- 60. آشنایی با Ringهای پردازنده
- 61. فعالسازی User Mode
- 62. طراحی فضای کاربر و فضای کرنل
- 63. ساخت Process و مفهوم اجرای مستقل
- 64. مبانی Context Switching
- 65. ذخیره و بازیابی وضعیت CPU
- 66. طراحی Scheduler ساده
- 67. زمانبندی مبتنی بر Timer Interrupt
- 68. ایجاد و مدیریت Threadها
- 69. همگامسازی اجرای کد در Kernel
- 70. مدیریت منابع مشترک در سیستمعامل
- 71. مبانی File System
- 72. طراحی ساختار فایل و دایرکتوری
- 73. خواندن و نوشتن بلوکهای دیسک
- 74. طراحی File System ساده
- 75. پیادهسازی درایور دیسک
- 76. مدیریت I/O در سطح Kernel
- 77. مدیریت خطا و Exception در Kernel
- 78. ثبت رخدادها و Debugging در سیستمعامل
- 79. Debug کردن Bootloader و Kernel
- 80. کار با QEMU برای اجرای سیستمعامل
- 81. تست سیستمعامل در محیط شبیهسازیشده
- 82. آشنایی با ابزارهای Debug اسمبلی
- 83. تحلیل وضعیت رجیسترها و حافظه هنگام خطا
- 84. مدیریت Crash و Kernel Panic
- 85. بهینهسازی کد اسمبلی در Kernel
- 86. مدیریت وابستگیهای سطح پایین
- 87. طراحی معماری ماژولار برای سیستمعامل
- 88. ساخت Shell ساده برای سیستمعامل
- 89. اجرای دستورات از طریق Shell
- 90. مدیریت زمان و Clock سیستم
- 91. معماری اولیه برای پشتیبانی از چند پردازشی
- 92. مبانی معماری ۶۴ بیتی و تفاوتهای آن با ۳۲ بیتی
- 93. انتقال سیستمعامل از x86 به x86-64
- 94. طراحی مسیر توسعه نسخههای بعدی سیستمعامل
- 95. ساخت یک سیستمعامل کوچک و قابل بوت بهصورت پروژه نهایی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Assembly Programming
Bootloader
Computer Architecture
Kernel Development
Low Level Programming
Operating System Development
OS Development
x86 Assembly
برنامه نویسی اسمبلی
برنامه نویسی سطح پایین
بوت لودر
توسعه سیستم عامل
ساخت سیستم عامل
سیستم عامل از صفر
کرنل
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.