کتاب تسلط بر C پیشرفته: کاوش در اعماق سخت‌افزار و سیستم‌های x86 با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

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

انتخاب پلن

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

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

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

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

عنوان دوره: دوره تسلط بر C پیشرفته: کاوش در اعماق سخت‌افزار و سیستم‌های x86

موضوع کلی: برنامه‌نویسی سیستمی و سطح پایین

موضوع میانی: برنامه‌نویسی پیشرفته C در معماری x86

📋 سرفصل‌های دوره

  • 1. مبانی زبان C: مرور و تعمیق
  • 2. انواع داده‌های پیشرفته: ساختار، union، enum
  • 3. اشاره‌گرها: مفاهیم پیشرفته و کاربردها
  • 4. حساب اشاره‌گر و آرایه‌ها
  • 5. تخصیص حافظه پویا: malloc, calloc, realloc, free
  • 6. مدیریت حافظه: استراتژی‌ها و مشکلات رایج
  • 7. اشاره‌گر به توابع: کاربردها و پیاده‌سازی
  • 8. پیش‌پردازنده C: ماکروها، شرطی‌سازی کامپایل
  • 9. فایل‌های سرآیند: ایجاد و مدیریت
  • 10. پیوند (Linking): مفاهیم و انواع آن
  • 11. ساختارهای داده‌ای پایه: لیست پیوندی، صف، پشته
  • 12. درخت‌های دودویی: پیاده‌سازی و پیمایش
  • 13. هش تیبل: طراحی و پیاده‌سازی
  • 14. مقدمه‌ای بر معماری x86
  • 15. ثبات‌های CPU: عمومی، سگمنت، اشاره‌گر
  • 16. حالت‌های آدرس‌دهی x86
  • 17. دستورالعمل‌های پایه اسمبلی x86
  • 18. فراخوانی توابع در اسمبلی x86
  • 19. پشته فراخوانی (Call Stack)
  • 20. برنامه‌نویسی inline assembly
  • 21. خواندن و نوشتن پورت‌های I/O
  • 22. وقفه (Interrupt): مفاهیم و انواع
  • 23. برنامه‌نویسی مدیریت وقفه (Interrupt Handler)
  • 24. کنترل‌کننده‌های وقفه (PIC)
  • 25. DMA (دسترسی مستقیم به حافظه)
  • 26. BIOS: توابع و خدمات
  • 27. کار با دیسک: خواندن و نوشتن سکتورها
  • 28. سیستم فایل FAT: ساختار و پیاده‌سازی
  • 29. درایور دستگاه (Device Driver): مفاهیم پایه
  • 30. نوشتن یک درایور ساده برای سخت‌افزار سفارشی
  • 31. کار با حافظه فیزیکی: تخصیص و مدیریت
  • 32. حالت Protected Mode: مفاهیم و ویژگی‌ها
  • 33. صفحه‌بندی حافظه (Paging)
  • 34. مدیریت حافظه مجازی (Virtual Memory)
  • 35. GDT و IDT: جداول توصیف‌گر سراسری و وقفه
  • 36. task switching
  • 37. Multitasking: مفاهیم و پیاده‌سازی
  • 38. Threadها: ایجاد و مدیریت
  • 39. همگام‌سازی Threadها: mutex, semaphore
  • 40. شرایط مسابقه (Race Condition) و بن‌بست (Deadlock)
  • 41. پردازش همزمان (Concurrency) و موازی‌سازی (Parallelism)
  • 42. شبکه‌سازی: مبانی TCP/IP
  • 43. Socket Programming: ایجاد و استفاده از Socketها
  • 44. ارسال و دریافت داده از طریق Socket
  • 45. برنامه‌نویسی سمت سرور و کلاینت
  • 46. پردازش چندنخی در سرور
  • 47. اشکال‌زدایی (Debugging): تکنیک‌ها و ابزارها
  • 48. استفاده از GDB
  • 49. تجزیه و تحلیل core dump
  • 50. بهینه‌سازی کد: تکنیک‌ها و ابزارها
  • 51. پروفایلرها
  • 52. مقدمه‌ای بر کامپایلرها: مراحل کامپایل
  • 53. طراحی یک کامپایلر ساده
  • 54. تولید کد اسمبلی
  • 55. linkerها و loaderها
  • 56. مبانی سیستم‌عامل: هسته (kernel)
  • 57. سیستم‌عامل‌های Real-time
  • 58. حالت کرنل (Kernel Mode) و حالت کاربری (User Mode)
  • 59. System Callها: فراخوانی توابع کرنل
  • 60. مدیریت پروسه‌ها: ایجاد، حذف، زمانبندی
  • 61. زمانبندی پروسه‌ها: الگوریتم‌ها
  • 62. ارتباط بین پروسه‌ها (IPC): pipe, shared memory
  • 63. سیگنال‌ها: ارسال و دریافت سیگنال
  • 64. مدیریت فایل‌ها: باز کردن، خواندن، نوشتن
  • 65. سیستم فایل‌های پیشرفته: NTFS, EXT4
  • 66. امنیت سیستم: مفاهیم پایه
  • 67. آسیب‌پذیری‌های رایج: Buffer Overflow, SQL Injection
  • 68. تکنیک‌های مقابله با حملات سایبری
  • 69. رمزنگاری: مبانی و الگوریتم‌ها
  • 70. استفاده از کتابخانه‌های رمزنگاری
  • 71. برنامه‌نویسی GUI با استفاده از APIهای سطح پایین
  • 72. کار با گرافیک: رسم خطوط، اشکال
  • 73. صدا: پخش و ضبط صدا
  • 74. مبانی برنامه‌نویسی بازی
  • 75. طراحی بازی‌های ساده
  • 76. فشرده‌سازی داده: الگوریتم‌های پایه
  • 77. آرشیو کردن فایل‌ها
  • 78. برنامه‌نویسی Embedded Systems
  • 79. کار با میکروکنترلرها
  • 80. برنامه نویسی تحت DOS
  • 81. خواندن و نوشتن در حافظه ویدئویی
  • 82. استفاده از BIOS Interrupt برای گرافیک
  • 83. بهینه‌سازی کد برای DOS
  • 84. برنامه‌نویسی سطح پایین برای ویندوز
  • 85. برنامه‌نویسی سطح پایین برای لینوکس
  • 86. مهندسی معکوس: مفاهیم و ابزارها
  • 87. تحلیل باینری‌ها
  • 88. تکنیک‌های حفاظت از نرم‌افزار
  • 89. ویروس‌ها و بدافزارها: ساختار و عملکرد
  • 90. مقابله با بدافزارها
  • 91. پروژه نهایی: پیاده‌سازی یک سیستم عامل ساده
  • 92. پروژه نهایی: نوشتن یک درایور دستگاه پیچیده
  • 93. پروژه نهایی: ایجاد یک بازی ساده
  • 94. پروژه نهایی: طراحی و پیاده‌سازی یک سیستم فایل
  • 95. پروژه نهایی: تحلیل و رفع یک آسیب‌پذیری امنیتی
تگ‌ها: Advanced C programming on the IBM PC Advanced C# C++ پیشرفته IBM PC Pointer در C x86 اسمبلی برنامه نویسی کرنل برنامه‌نویسی سیستمی بهینه‌سازی کد ساختارهای داده سخت‌افزار x86 سیستم‌های سطح پایین کامپایلر مدیریت حافظه

نظرات

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

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