فراسان

به اشتراک بگذارید برای یادگیری، یاد بگیرید برای به اشتراگ گذاری

یک ران تایم برای اجرا کردن همه!

با CLR که آشنا هستید!؟ یکی از اجزای اصلی پلت فرم دات نت مایکروسافت است. CLR یک پیاده سازی از CLI استاندارد است و محیطی برای اجرای کدهای برنامه های دات نت ایجاد می کند. کامپایلر های سی شارپ و ویژوال بیسیک دات نت کد ماشین تولید نمی کنند، بلکه کدی تولید می کنند به صورت byte code که ماشین به تنهایی قادر به تفسیر و اجرای آن نیست. کامپایلر ابتدا کد CIL یا همان MSIL را تولید می کند. سپس هنگام اجرای برنامه مورد نظر CLR وارد عمل شده و با کامپایلر just in time یا JIT کد CIL برنامه مورد نظر را به کدی که برای سیستم عامل قابل درک باشد، تبدیل می کند.

clr

وظیفه CLR تنها تبدیل بایت کد CIL به کد ماشین نیست، CLR وظایف مدیریت حافظه، پردازش استثناها (Exception Handling)، مدیرت نخ ها (Thread Management)، Garbage Collection و تامین امنیت را به بهترین نحو انجام می دهد.

CLR پیاده سازی CLI استاندارد برای سیستم عامل ویندوز است. پیاده سازی های دیگر CLI مثل Mono و Portable.NET برای سیستم عامل های غیر ویندوز بوجود آمده اند، زیرا CLR فقط روی ویندوز اجرا می شود.

ایده نوشتن این مطلب و عنوان آن، طرح تی شرت زیر است. بقیه تی شرت های تیم CLR را ببینید!

clr_shirt

طرح این تی شرت، شما را به یاد ارباب حلقه ها نمی اندازد!؟ :)

تعریف برخی از اصطلاحات بکار رفته در این مطلب :

  • CLI : مشخصات بازی (=open specification) است که توسط مایکروسافت توسعه داده می شود که کد اجرایی و محیط ران تایمی که هسته دات نت فرم ورک و نرم افزارهای آزاد Mono و Portable.NET را شکل می دهند، توضیح می دهد. این مشخصات محیطی را تعریف می کند که به زبان های برنامه نویسی سطح بالا امکان استفاده در پلت فرم های مختلف را بدون باز نویسی برای یک معماری خاص، می دهد. CLI مخفف Common Language Infrastructure است.
  • CIL : زبان سطح پائینی در CLI است که زبان های تحت دات نت پس از کامپایل شدن به آن ترجمه می شوند. CIL معادل دات نت زبان اسمبلی برای یک CPU است. پس از تبدیل سورس کد یکی از زبان های دات نت به کدهای CIL، این کدها به بایت کد تبدیل می شوند و یک اسمبلی دات نت ایجاد می شود. CIL قبلاً با اسم MSIL نیز شناخته می شد. CIL به صورت «sil» (سیل) تلفظ می شود و مخفف Common Intermediate Language است.
  • JIT Compiler : به عنوان «ترجمه پویا» نیز شناخته می شود و تکنیکی است برای بهبود کارایی یک برنامه کامپیوتری. JIT کد تولید شده قبل از اجرای برنامه را به کدی که به صورت Native اجرا می شود، تبدیل می کند. برای مثال بایت کد را به کد ماشین تبدیل می کند. بسیاری از محیط های ران تایم مدرن مانند دات نت مایکروسافت و بسیاری از پیاده سازی های جاوا از JIT برای اجرای کد با سرعت بالا استفاده می کنند.
  • Garbage Collection : یک شکل از مدیریت حافظه خودکار است که برای باز پس گیری حافظه اشیائی که دیگر مورد استفاده قرار نمی گیرند، کاربرد دارد.
  • Mono : مونو پروژه اوپن سورس و آزادی است که توسط ناول برای پیاده سازی دات نت فریم ورک روی پلت فرم های غیر ویندوزی بوجود آمده است. مونو می تواند روی انواع توزیع های لینوکس (ماننده اوبونتو و زوزه)، مک، سولاریس، سیستم عامل های سازگار با یونیکس و BSD اجرا شود. این پروژه شامل ابزارهای سازگار با دات نت مثل یک IDE، کامپایلر سی شارپ و یک پیاده سازی CLR است. (بخوانید : آیا برنامه دات نت شما روی لینوکس اجرا می شود!؟)
  • Portable.NET : قسمتی از پروژه DotGNU است و محیط ران تایم آزاد و اوپن سورسی برای برنامه های مبتنی بر CLI استاندارد است. این پروژه از کلاس های پایه دات نت، XML و Windows Forms پشتیبانی می کند.

منبع : ویکی پدیا

farasun.wordpress.com

مطالب مرتبط :

اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

چطور مشترک شويم؟

7 پاسخ به یک ران تایم برای اجرا کردن همه!

  1. masoud اوت 21, 2009 در 2:52 ب.ظ.

    واقعا ممنون از مطلبت

    یه سری به ما هم بزن http://www.mypsp.ir/index.html

    مای پی اس پی

  2. رضا.ب اوت 21, 2009 در 4:46 ب.ظ.

    مطلبت خیلی عالی بود. شفاف و ساده توضیح داده بودی. مرسی.

  3. Calabros اوت 22, 2009 در 6:33 ق.ظ.

    خودشه.. اما چیزی از معروف بودنم یادم نمیاد :-)
    یه سوال سرنوشت ساز: من از لحاظ برنامه نویسی باکره هستم و دنبال شوهر می گردم (ینی هیچی حالیم نیست و تازه میخوایم یک یا دو زبان شروع کنم یاد بگیرم) .. بین فلش ادوبی و سیلورلایت مایکروسافت به نظرت کدومش می تونه ارزش سرمایه گذاری بیشتری داره؟ انتخاب بی این دو خیلی مهم می تونه باشه.. چون کد نوشتن واسه سیلورلایت مستلزم دات نت باز بودن طرفه.. اما واسه ادوبی کافیه فقط اکشن اسکریپت رو خورده باشی که چندان سخت نیست.
    فراخت ماتحت ما را هم در نظر بگیر :-)

    • ایمان اوت 22, 2009 در 6:44 ق.ظ.

      @ Calabros : آقا به من خبر میدادی که وبلاگ جدید زدی و اینا، نام و نشونتم عوض کردی که!
      جواب من اینه : اگر میخوای برنامه نویس بشی فلش و سیلورلایت به دردت نمیخوره. اینا به درد طراحان وب میخوره نه یه برنامه نویس. حالا باز سیلورلایت بیشتر به برنامه نویس بودن نزدیکت میکنه، چون اگر بخوای تنهایی کار کنی باید یک توسعه دهنده دات نت هم باشی. موضوع اینه که ادوبی فلش داره از دور خارج میشه و در حد همون ساخت انیمیشن و نمایش فیلم در یوتیوب جواب میده. حتی خود ادوبی هم بهش امیدوار نیست و محصول Adobe AIR رو برای جبران این کمبود تولید کرده.
      حالا باید مسیر خودت رو پیدا کنی، میخوای برنامه نویس بشی یا طراح وب!!؟
      ایمیل من اون کنار هست، در حد توانم میتونم در انتخاب درست مسیر بهت کمک کنم.

  4. امیر اوت 31, 2009 در 5:02 ب.ظ.

    سلام دوست و همکار عزيز
    من افزونه هاي فايرفاکس رو به صورت يک کتاب در آوردم اگه دوست داشتي اين کتاب رو تو وبت معرفي کن راستي وبسايت شما يکي از منابع اين کتاب هست.

  5. بازتاب: پروژه دات نت شما چه وابستگی هایی دارد؟ « فراسان

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌واره‌ی وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

دنبال‌کردن

هر نوشته‌ی تازه‌ای را در نامه‌دان خود دریافت نمایید.

به 36 مشترک دیگر بپیوندید