CodeShot
Runtime1 دقیقه مطالعه

Runtime در .NET چیست؟

محیط اجرایی که کد کامپایل‌شده .NET را اجرا و مدیریت حافظه، Thread و Exceptionها را بر عهده دارد.

چرا مهم است؟

درک دقیق Runtime یعنی فهمیدن این‌که واقعاً بین Compile Time و لحظه اجرای برنامه چه اتفاقی می‌افتد — پایه سوالات مصاحبه درباره CLR، JIT و GC.

تعریف کوتاه

Runtime محیط اجرایی است که برنامه .NET را اجرا می‌کند و وظیفه مدیریت اجرای کد، حافظه و منابع را بر عهده دارد.

مفاهیم کلیدی

  • محیط اجرای برنامه — کد C# ابتدا به IL (Intermediate Language) تبدیل و سپس توسط Runtime اجرا می‌شود.
  • CLR — هسته اصلی Runtime؛ مسئول اجرای کد و مدیریت سرویس‌های زمان اجرا.
  • JIT Compiler — کد IL را در زمان اجرا به کد ماشین تبدیل می‌کند؛ فقط بخش‌های موردنیاز کامپایل می‌شوند.
  • Memory Management — تخصیص و آزادسازی خودکار حافظه.
  • Garbage Collector (GC) — اشیای بدون استفاده را پیدا و حافظه‌شان را آزاد می‌کند؛ کاهش خطای Memory Leak.
  • Exception Handling — ساختارهایی مثل try-catch-finally توسط CLR پشتیبانی می‌شوند.
  • Type Safety — بررسی می‌کند عملیات‌ها روی نوع‌های صحیح انجام شوند؛ جلوگیری از خطاهای Runtime.
  • Thread Management — مدیریت Threadها و اجرای همزمان Taskها؛ پایه برنامه‌های چندنخی.
  • Assembly Loading — بارگذاری و مدیریت فایل‌های DLL و EXE.
  • Cross Platform — در نسخه‌های جدید .NET، روی Windows، Linux و macOS اجرا می‌شود.

Compile Time در برابر Runtime

Compile Time Runtime
زمان تبدیل کد به IL زمان اجرای برنامه
خطاهای Syntax بررسی می‌شوند خطاهای اجرایی رخ می‌دهند
توسط Compiler انجام می‌شود توسط CLR انجام می‌شود

Runtime در برابر SDK

Runtime: فقط برای اجرای برنامه لازم است. SDK: شامل Runtime + ابزارهای ساخت، کامپایل و توسعه است.

نکته کلیدی: Runtime در .NET با کمک CLR، JIT و Garbage Collector اجرای کد، مدیریت حافظه و منابع برنامه را کنترل می‌کند.

خلاصه

  • Runtime محیط اجرای برنامه‌های .NET است و مدیریت حافظه، GC و Exception Handling را انجام می‌دهد.
  • JIT بخشی از CLR است که کد IL را هنگام اجرا به کد ماشین تبدیل می‌کند.
  • Runtime فقط برای اجرای برنامه کافی است؛ SDK علاوه بر آن ابزار توسعه و Build هم دارد.

حالا امتحان کن

🧩آزمون Runtime در .NET6 سؤال · نمره قبولی 60٪
این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←