کتاب صوتی C و برنامه نویسی برای بایوس

C و برنامه نویسی برای بایوس: فتح دنیای سخت افزار! C و برنامه نویسی برای بایوس: دریچه ای به دنیای سخت افزار! معرفی دوره آیا همیشه آرزو داشته‌اید که از کدهای انتزاعی دور شوید و مستقیماً با سخت‌افزار کام...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 99,988 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: C و برنامه نویسی برای بایوس

موضوع کلی: برنامه نویسی

موضوع میانی: سی (C)

📋 سرفصل‌های دوره (100 موضوع)

  • 1. مقدمه‌ای بر برنامه‌نویسی سیستم و بایوس
  • 2. چرا زبان C برای برنامه‌نویسی سطح پایین؟
  • 3. نصب و راه‌اندازی محیط توسعه (GCC, Make, Cross-Compiler)
  • 4. ساختار یک برنامه C: اولین برنامه "Hello, World!"
  • 5. فرآیند کامپایل، لینک و اجرا
  • 6. متغیرها و انواع داده‌های اصلی (int, char, float, double)
  • 7. اصلاح‌کننده‌های انواع داده (short, long, signed, unsigned)
  • 8. ثابت‌ها و کلمه کلیدی const
  • 9. عملگرهای محاسباتی و اولویت آن‌ها
  • 10. عملگرهای رابطه‌ای و منطقی
  • 11. دستورات شرطی: if, else, else if
  • 12. دستور switch-case
  • 13. حلقه‌های تکرار: for
  • 14. حلقه‌های تکرار: while و do-while
  • 15. دستورات break و continue
  • 16. توابع: تعریف، فراخوانی و پروتوتایپ
  • 17. آرگومان‌های توابع و مقدار بازگشتی
  • 18. دامنه متغیرها: محلی، سراسری و استاتیک (Local, Global, Static)
  • 19. توابع بازگشتی (Recursive Functions)
  • 20. آرایه‌های یک‌بعدی و نحوه استفاده
  • 21. رشته‌ها به عنوان آرایه‌ای از کاراکترها
  • 22. توابع استاندارد کار با رشته (string.h)
  • 23. آرایه‌های چندبعدی
  • 24. مقدمه‌ای بر اشاره‌گرها (Pointers)
  • 25. عملگرهای آدرس (&) و ارجاع (*)
  • 26. اشاره‌گرها و آرایه‌ها: یک رابطه نزدیک
  • 27. محاسبات روی اشاره‌گرها (Pointer Arithmetic)
  • 28. اشاره‌گر به اشاره‌گر (Pointers to Pointers)
  • 29. اشاره‌گرهای تهی (NULL Pointers)
  • 30. توابع و اشاره‌گرها: ارسال آرگومان با ارجاع (Call by Reference)
  • 31. اشاره‌گر به توابع و کاربردهای آن
  • 32. تخصیص حافظه پویا: malloc, calloc, realloc, free
  • 33. مفهوم حافظه Stack و Heap
  • 34. ساختارها (struct): تعریف و استفاده
  • 35. اشاره‌گر به ساختارها و عملگر ->
  • 36. اتحادیه‌ها (union): مدیریت بهینه حافظه
  • 37. فیلدهای بیتی (Bit-fields) برای دسترسی سطح پایین
  • 38. شمارنده‌ها (enum)
  • 39. دستور typedef برای ساخت انواع داده جدید
  • 40. پیش‌پردازنده C: دستورات #include و #define
  • 41. ماکروهای پیش‌پردازنده با آرگومان
  • 42. کامپایل شرطی: #if, #ifdef, #ifndef
  • 43. کلمه کلیدی volatile و اهمیت آن در برنامه‌نویسی سخت‌افزار
  • 44. کلمه کلیدی extern و static
  • 45. عملگرهای بیتی: AND, OR, XOR, NOT
  • 46. عملگرهای شیفت بیتی: << و >>
  • 47. ماسک‌گذاری بیتی (Bit Masking) و کاربردهای آن
  • 48. ورودی و خروجی استاندارد و فایل‌ها (stdio.h)
  • 49. مقدمه‌ای بر معماری کامپیوتر x86
  • 50. رجیسترهای اصلی پردازنده (EAX, EBX, ECX, EDX, ESI, EDI, ESP, EBP)
  • 51. حافظه، آدرس‌دهی و نقشه حافظه
  • 52. پورت‌های ورودی/خروجی (I/O Ports)
  • 53. مبانی زبان اسمبلی (Assembly) برای x86
  • 54. فراخوانی کدهای اسمبلی از C (Inline Assembly)
  • 55. قراردادهای فراخوانی توابع (Calling Conventions)
  • 56. مرتب‌سازی بایت‌ها: Big-Endian و Little-Endian
  • 57. بایوس (BIOS) چیست؟ تاریخچه و عملکرد
  • 58. فرآیند روشن شدن کامپیوتر (POST)
  • 59. رکورد راه‌انداز اصلی (Master Boot Record - MBR)
  • 60. حالت واقعی (Real Mode) در مقابل حالت محافظت‌شده (Protected Mode)
  • 61. نقشه حافظه در حالت واقعی
  • 62. وقفه‌ها (Interrupts) و جدول بردار وقفه (IVT)
  • 63. مقدمه‌ای بر خدمات وقفه بایوس (BIOS Interrupt Services)
  • 64. وقفه 10h: خدمات ویدئویی بایوس (چاپ کاراکتر، تنظیم حالت ویدئو)
  • 65. وقفه 13h: خدمات دیسک بایوس (خواندن و نوشتن سکتور)
  • 66. وقفه 16h: خدمات صفحه‌کلید بایوس
  • 67. دسترسی مستقیم به حافظه ویدئو در حالت متنی
  • 68. تایمر قابل برنامه‌ریزی (PIT)
  • 69. کنترلر وقفه قابل برنامه‌ریزی (PIC)
  • 70. راه‌اندازی محیط توسعه برای بوت‌لودر (NASM, QEMU, Bochs)
  • 71. نوشتن اولین بوت‌لودر با اسمبلی
  • 72. بارگذاری کدهای C از بوت‌لودر
  • 73. ساختار یک کرنل بسیار ساده در C
  • 74. ارتباط با پورت‌های ورودی/خروجی با دستورات in و out
  • 75. کنترل اسپیکر PC از طریق پورت
  • 76. خواندن سکتور از دیسک و بارگذاری کرنل
  • 77. فعال‌سازی خط آدرس A20
  • 78. مقدمه‌ای بر حالت محافظت‌شده (Protected Mode)
  • 79. جدول توصیفگر عمومی (Global Descriptor Table - GDT)
  • 80. ورود به حالت محافظت‌شده از حالت واقعی
  • 81. جدول توصیفگر وقفه (Interrupt Descriptor Table - IDT)
  • 82. پیاده‌سازی یک درایور ساده صفحه‌کلید با وقفه‌ها
  • 83. مقدمه‌ای بر UEFI و تفاوت‌های آن با بایوس
  • 84. معماری UEFI: سرویس‌های زمان بوت و زمان اجرا
  • 85. جدول پارتیشن GUID (GPT)
  • 86. محیط UEFI Shell
  • 87. نوشتن یک برنامه "Hello World" در UEFI با C
  • 88. کتابخانه استاندارد EDK II
  • 89. استفاده از پروتکل‌ها در UEFI برای دسترسی به سخت‌افزار
  • 90. خروجی گرافیکی در UEFI (Graphics Output Protocol - GOP)
  • 91. ورودی و خروجی فایل در محیط UEFI
  • 92. ACPI: مدیریت پیشرفته توان و پیکربندی
  • 93. جداول ACPI و نحوه خواندن اطلاعات آن‌ها
  • 94. SMBIOS و استخراج اطلاعات سیستم
  • 95. امنیت در بایوس: Secure Boot
  • 96. فلش کردن بایوس و به‌روزرسانی Firmware
  • 97. اشکال‌زدایی (Debugging) کدهای سطح پایین با GDB و QEMU
  • 98. بررسی موردی: تحلیل کد منبع یک بوت‌لودر (مانند GRUB Stage1)
  • 99. بررسی موردی: آشنایی با پروژه‌های Coreboot و SeaBIOS
  • 100. پروژه نهایی: ساخت یک سیستم‌عامل کوچک با بوت‌لودر و کرنل C
C و برنامه نویسی برای بایوس: فتح دنیای سخت افزار!

C و برنامه نویسی برای بایوس: دریچه ای به دنیای سخت افزار!

معرفی دوره

آیا همیشه آرزو داشته‌اید که از کدهای انتزاعی دور شوید و مستقیماً با سخت‌افزار کامپیوتر ارتباط برقرار کنید؟ آیا می‌خواهید بدانید کامپیوتر شما چگونه روشن می‌شود و چه اتفاقاتی در آن لحظات اولیه رخ می‌دهد؟ دوره "C و برنامه نویسی برای بایوس" پاسخی به تمام این سوالات و فراتر از آن است. این دوره، شما را به سفری هیجان‌انگیز در اعماق سیستم کامپیوتری می‌برد، جایی که زبان C به عنوان کلید گشودن قفل‌های پیچیده عمل می‌کند.

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

درباره دوره

این دوره جامع، با هدف آموزش زبان C و برنامه نویسی بایوس طراحی شده است. شما از مفاهیم پایه زبان C شروع کرده و به تدریج وارد مباحث پیشرفته مانند مدیریت حافظه، اشاره‌گرها و ساختارهای داده می‌شوید. سپس، به دنیای برنامه نویسی بایوس قدم می‌گذارید و با مفاهیم کلیدی مانند وقفه ها، درایورها و سیستم عامل های کوچک آشنا می شوید. در طول دوره، پروژه‌های عملی متعددی انجام خواهید داد که به شما کمک می‌کند تا دانش تئوری خود را به مهارت‌های عملی تبدیل کنید.

موضوعات کلیدی

  • مبانی زبان C: متغیرها، انواع داده، عملگرها، ساختارهای کنترلی
  • توابع و اشاره‌گرها: تعریف و استفاده از توابع، اشاره‌گرها و کاربردهای آن‌ها
  • ساختارهای داده: آرایه‌ها، لیست‌های پیوندی، درخت‌ها و سایر ساختارهای داده
  • برنامه نویسی سطح پایین: آشنایی با معماری کامپیوتر و نحوه تعامل با سخت افزار
  • مقدمه‌ای بر بایوس: آشنایی با بایوس و نقش آن در بوت شدن سیستم
  • برنامه نویسی بایوس: نوشتن برنامه‌های کوچک برای بایوس
  • وقفه ها و درایورها: آشنایی با مفهوم وقفه و نحوه نوشتن درایورهای ساده
  • سیستم عامل‌های کوچک: طراحی و پیاده‌سازی یک سیستم عامل کوچک
  • دیباگینگ و تست: روش‌های دیباگینگ و تست برنامه‌های C و بایوس
  • بهینه سازی کد: تکنیک‌های بهینه سازی کد برای افزایش سرعت و کارایی

مخاطبان دوره

این دوره برای افراد زیر مناسب است:

  • دانشجویان رشته‌های مهندسی کامپیوتر، نرم‌افزار و برق
  • برنامه‌نویسانی که می‌خواهند دانش خود را در زمینه برنامه نویسی سطح پایین گسترش دهند
  • علاقه‌مندان به یادگیری نحوه عملکرد کامپیوتر در سطح سخت‌افزار
  • افرادی که به دنبال ایجاد سیستم عامل‌های کوچک و درایورهای سفارشی هستند
  • کسانی که می خواهند به درک عمیقی از فرآیند بوت سیستم دست پیدا کنند.

چرا این دوره را بگذرانیم؟

گذراندن این دوره مزایای بسیاری برای شما خواهد داشت:

  • تسلط بر زبان C: شما زبان C را به صورت عمیق و کاربردی یاد خواهید گرفت و قادر خواهید بود برنامه‌های پیچیده را با آن بنویسید.
  • درک عمیق از سخت افزار: شما با نحوه عملکرد کامپیوتر در سطح سخت‌افزار آشنا خواهید شد و می‌توانید برنامه‌هایی بنویسید که مستقیماً با سخت‌افزار تعامل داشته باشند.
  • مهارت در برنامه نویسی بایوس: شما مهارت لازم برای نوشتن برنامه‌های بایوس را کسب خواهید کرد و می‌توانید در پروژه‌های مرتبط با سیستم عامل و درایورها شرکت کنید.
  • افزایش فرصت‌های شغلی: دانش و مهارت‌های کسب شده در این دوره، فرصت‌های شغلی جدیدی را در زمینه توسعه سیستم عامل، درایور و برنامه نویسی سطح پایین برای شما ایجاد خواهد کرد.
  • ایجاد پروژه‌های شخصی: شما می‌توانید با استفاده از دانش کسب شده، پروژه‌های شخصی خود را در زمینه سیستم عامل و درایورها پیاده‌سازی کنید.
  • متمایز شدن از سایر برنامه نویسان: درک و تسلط بر برنامه نویسی بایوس مهارتی کم یاب است که شما را در بازار کار متمایز می کند.

سرفصل‌های دوره (100 سرفصل جامع)

این دوره شامل 100 سرفصل جامع است که به شما کمک می‌کند تا به یک متخصص در زمینه C و برنامه نویسی بایوس تبدیل شوید. به دلیل حجم زیاد، تنها بخشی از سرفصل ها به عنوان نمونه ذکر می شوند:

  • بخش اول: مبانی زبان C
    • مقدمه ای بر زبان C و تاریخچه آن
    • نصب و راه اندازی کامپایلر C
    • ساختار یک برنامه C
    • متغیرها، انواع داده و عملگرها
    • ورودی و خروجی در C
    • ... (ادامه سرفصل‌ها)
  • بخش دوم: توابع و اشاره‌گرها
    • تعریف و استفاده از توابع
    • آرگومان‌ها و مقدار بازگشتی توابع
    • اشاره‌گرها و کاربردهای آن‌ها
    • اشاره‌گرها به توابع
    • ... (ادامه سرفصل‌ها)
  • بخش سوم: ساختارهای داده
    • آرایه‌ها و کاربردهای آن‌ها
    • لیست‌های پیوندی: پیاده‌سازی و عملیات
    • پشته (Stack) و صف (Queue)
    • درخت‌ها و کاربردهای آن‌ها (درخت جستجوی دودویی، درخت AVL)
    • ... (ادامه سرفصل‌ها)
  • بخش چهارم: برنامه نویسی سطح پایین
    • معماری کامپیوتر: CPU، حافظه، ورودی/خروجی
    • آشنایی با زبان اسمبلی (Assembly)
    • ثبات ها و نحوه استفاده از آن ها
    • ... (ادامه سرفصل‌ها)
  • بخش پنجم: مقدمه‌ای بر بایوس
    • آشنایی با مفهوم بایوس (BIOS) و نقش آن
    • توابع اصلی بایوس و کاربردهای آن
    • آشنایی با فرآیند بوت شدن سیستم
    • ... (ادامه سرفصل‌ها)
  • بخش ششم: برنامه نویسی بایوس
    • نوشتن برنامه‌های کوچک برای بایوس
    • استفاده از وقفه ها در برنامه نویسی بایوس
    • دسترسی به سخت افزار از طریق بایوس
    • ... (ادامه سرفصل‌ها)
  • بخش هفتم: وقفه ها و درایورها
    • مفهوم وقفه و انواع آن
    • نوشتن درایورهای ساده برای دستگاه های سخت افزاری
    • ... (ادامه سرفصل‌ها)
  • بخش هشتم: سیستم عامل‌های کوچک
    • طراحی و پیاده‌سازی یک سیستم عامل کوچک
    • مدیریت حافظه در سیستم عامل
    • مدیریت فرآیندها در سیستم عامل
    • ... (ادامه سرفصل‌ها)

همین امروز در دوره "C و برنامه نویسی برای بایوس" ثبت نام کنید و سفری هیجان انگیز به دنیای سخت افزار را آغاز کنید!

EXPRESS24 AUDIO EXPERIENCE
یادگیری را بشنوید؛ زندگی کنید
کتاب‌های صوتی و پادکست‌های آموزشی، راهی دلنشین برای کشف ایده‌های تازه، گسترش دانش و استفاده بهتر از لحظه‌های روزمره هستند.
دانش، الهام و تجربه؛ این بار با صدای زندگی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفت‌وآمد هستید، قدم می‌زنید، استراحت می‌کنید یا کارهای روزمره‌تان را انجام می‌دهید. محتوای صوتی کمک می‌کند از این لحظه‌ها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفت‌وآمد، پیاده‌روی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربه‌ای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازه‌ای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایده‌های تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادت‌های شخصی‌تان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، می‌توانید داستان‌ها، آموزش‌ها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتاب‌ها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفت‌وگو، روایت، توضیح آموزشی یا مجموعه‌ای از قسمت‌های صوتی؛ مناسب برای کشف ایده‌ها و آشنایی با دیدگاه‌های گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاه‌های تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپ‌تاپ
با پخش‌کننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکته‌های مهم را یادداشت کنید یا پس از پایان شنیدن، آن‌ها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتاب‌های صوتی و پادکست‌های آموزشی، دنیای تازه‌ای از ایده‌ها، روایت‌ها و آموختنی‌ها را به لحظه‌های خود اضافه کنید.
کشف محصولات بیشتر در اکسپرس ۲۴
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرم‌افزار مورد استفاده بستگی دارد.
AUDIO PREVIEW
قبل از انتخاب، گوش کنید!
بخشی از سبک محتوای محصولات صوتی ما را بشنوید و با فضای آن آشنا شوید.
♫
نمونه صوتی از سبک محصولات صوتی ما
پیش‌نمایش کوتاهی از سبک پادکست های صوتی محصولات ما
پخش آنلاین
برای تجربه بهتر، می‌توانید از هدفون استفاده کنید.
تگ‌ها: BIOS programming C Language C Programming C# embedded systems Learning C++ Programming اموزش C اموزش برنامه نویسی بایوس برنامه نویسی C++ برنامه نویسی بایوس سخت افزار سیستم های تعبیه شده

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.