کتاب کاوش عمیق در برنامهنویسی سطح پایین: C، اسمبلی و اجرای برنامه در معماری Intel® 64 با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
کاوش عمیق در برنامهنویسی سطح پایین: C، اسمبلی و اجرای برنامه در معماری Intel® 64 کاوش عمیق در برنامهنویسی سطح پایین: C، اسمبلی و اجرای برنامه در معماری Intel® 64 🔑 معرفی دوره: دروازهای به اعماق پنه...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره کاوش عمیق در برنامهنویسی سطح پایین: C، اسمبلی و اجرای برنامه در معماری Intel® 64
موضوع کلی: علوم کامپیوتر و مهندسی نرمافزار
موضوع میانی: برنامهنویسی سیستمی و معماری کامپیوتر
📋 سرفصلهای دوره
- 1. مبانی و پیشنیازها:
- 2. مقدمهای بر علوم کامپیوتر و برنامهنویسی سیستمی
- 3. مروری بر معماری کامپیوتر و اجزای آن
- 4. سیستم اعداد و نمایش دادهها (صحیح، ممیز شناور)
- 5. سیستم عامل و نقش آن در اجرای برنامهها
- 6. مفاهیم اولیه زبان C و ابزارهای کامپایلر
- 7. راهاندازی محیط توسعه برای برنامهنویسی سطح پایین
- 8. نصب و راهاندازی ابزارهای مورد نیاز (کامپایلر، اسمبلر، دیباگر)
- 9. ساختار یک برنامه C ساده و نحوه کامپایل آن
- 10. مدیریت حافظه در سطح بالا و پایین
- 11. آشنایی با دستورالعملهای اسمبلی و زبان ماشین
- 12. برنامهنویسی مقدماتی در زبان C: متغیرها، انواع دادهها، عملگرها
- 13. ساختارهای کنترلی در C (if/else، حلقهها)
- 14. توابع در C و نحوه فراخوانی آنها
- 15. آرایهها و رشتهها در C
- 16. ساختارهای دادهای سفارشی در C
- 17. نشانگرها (Pointer) در C: مفاهیم و کاربردها
- 18. عملیات روی نشانگرها و آدرسدهی مستقیم حافظه
- 19. مدیریت حافظه پویا با malloc، calloc، و free
- 20. آشنایی با ساختار پشته (Stack) و عملکرد آن
- 21. آشنایی با ساختار پشته در هنگام فراخوانی توابع
- 22. آشنایی با ساختار پشته در هنگام فراخوانی توابع (ادامه)
- 23. آشنایی با ساختار هیپ (Heap) و مدیریت آن
- 24. فایلها و ورودی/خروجی در C (stdio)
- 25. ساختار فایلهای اجرایی (Executable files)
- 26. لینک کردن و فرآیند تولید فایل اجرایی
- 27. مروری بر زبان اسمبلی (Assembly)
- 28. ثباتها (Registers) در معماری Intel® 64
- 29. دستورالعملهای انتقال داده (MOV، LEA، ...)
- 30. دستورالعملهای محاسباتی (ADD، SUB، MUL، DIV، ...)
- 31. دستورالعملهای منطقی (AND، OR، XOR، NOT، ...)
- 32. دستورالعملهای پرش (JMP، JE، JNE، ...)
- 33. آدرسدهی در اسمبلی: انواع و روشها
- 34. برنامهنویسی اسمبلی: نوشتن اولین برنامهها
- 35. بررسی نحوه تبدیل کد C به اسمبلی
- 36. تعامل بین C و اسمبلی (Inline Assembly)
- 37. ساختار دادهها در اسمبلی
- 38. بررسی توابع در اسمبلی و نحوه فراخوانی آنها
- 39. آرایهها و رشتهها در اسمبلی
- 40. مدیریت حافظه در اسمبلی
- 41. مدیریت حافظه پویا در اسمبلی (به صورت دستی)
- 42. آشنایی با سیستم عامل و رابطهای سیستمی
- 43. سیستم عامل و وقفه ها (Interrupts)
- 44. سیستم عامل و فراخوانیهای سیستمی (System calls)
- 45. فراخوانیهای سیستمی در لینوکس و ویندوز
- 46. بررسی کتابخانههای استاندارد C و نحوه استفاده از آنها
- 47. دینامیک لینک (Dynamic linking)
- 48. استاتیک لینک (Static linking)
- 49. آشنایی با دیباگر (Debugger) و نحوه استفاده از آن
- 50. دیباگ کردن کدهای C و اسمبلی
- 51. بهینهسازی کد: مقدمه و تکنیکهای اولیه
- 52. تکنیکهای پیشرفته بهینهسازی
- 53. آشنایی با Multithreading و Multiprocessing
- 54. برنامهنویسی چند رشتهای (Multithreading) در C
- 55. مدیریت فرآیندها در سیستم عامل
- 56. بررسی حافظه مجازی (Virtual Memory)
- 57. سیستم فایل و ساختار آن
- 58. امنیت در برنامهنویسی سطح پایین
- 59. آسیبپذیریهای امنیتی در برنامهنویسی سطح پایین
- 60. آسیبپذیری Buffer Overflow و نحوه جلوگیری از آن
- 61. آسیبپذیری Format String و نحوه جلوگیری از آن
- 62. آشنایی با ابزارهای تحلیل کد (Code analysis tools)
- 63. ابزارهای پروفایل (Profiling tools) و نحوه استفاده از آنها
- 64. آشنایی با معماری CPU و عملکرد آن
- 65. ساختار CPU: واحد محاسبات، کنترل و حافظه پنهان (Cache)
- 66. آشنایی با دستورالعملهای SIMD و استفاده از آنها
- 67. آشنایی با اسمبلی x86-64 برای پردازش موازی
- 68. بررسی دستورالعملهای خاص CPU (مانند SSE و AVX)
- 69. برنامهنویسی با استفاده از SSE
- 70. برنامهنویسی با استفاده از AVX
- 71. اصول اولیه درایورنویسی (Driver development)
- 72. معرفی هسته سیستمعامل
- 73. ساختارهای دادهای هسته
- 74. نوشتن ماژولهای هسته
- 75. برنامهنویسی شبکه در سطح پایین
- 76. پروتکلهای شبکه (TCP/IP, UDP)
- 77. سوکتها (Sockets) و برنامهنویسی شبکه
- 78. برنامهنویسی موازی (Parallel Programming)
- 79. مدلهای حافظه مشترک و پیامرسانی
- 80. مدلهای حافظه مشترک و پیامرسانی (ادامه)
- 81. ارتباط بین فرآیندها (Inter-Process Communication - IPC)
- 82. شِیرد مِموری (Shared Memory)
- 83. سیگنالها و اینترپروسس کامونیکیشن (Signals & IPC)
- 84. بهبود عملکرد برنامهها با استفاده از تکنیکهای پیشرفته
- 85. بهبود عملکرد برنامهها با استفاده از تکنیکهای پیشرفته (ادامه)
- 86. بررسی سیستمهای عامل بیدرنگ (Real-time operating systems - RTOS)
- 87. معماری ARM و مقایسه با x86-64
- 88. بررسی مفاهیم مرتبط با embedded systems
- 89. استفاده از C در توسعه سیستمهای embedded
- 90. مروری بر مهندسی معکوس (Reverse Engineering)
- 91. ابزارهای مهندسی معکوس
- 92. تکنیکهای جلوگیری از مهندسی معکوس
- 93. کار با بایوس (BIOS) و UEFI
- 94. آشنایی با بوتلودر (Bootloader)
- 95. برنامهنویسی Firmware
- 96. آشنایی با امنیت سختافزاری
- 97. بررسی آسیبپذیریهای سختافزاری
- 98. آینده برنامهنویسی سطح پایین
- 99. روندها و فناوریهای نوظهور در برنامهنویسی سیستمی
- 100. بهترین روشها و الگوهای طراحی در برنامهنویسی سطح پایین
تگها:
Assembly
Intel 64
low-level programming
x86-64
اجرای برنامه
برنامهنویسی سطح پایین
برنامهنویسی سیستمی
زبان C++
زبان اسمبلی
علوم کامپیوتر
کامپایلر
مدیریت حافظه
معماری کامپیوتر
مهندسی نرمافزار
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.