ما هى ال CLR ? (Common Language Runtime)

بسم الله و الصلاة و السلام على رسول الله اللهم اغفر لنا و ارحمنا و زدنا علما يا رب العالمين

ما هى ال  CLR ? (Common Language Runtime)

 الclr  هى احد مكونات ال .Net Framework  فهى المسئولة عن تشغيل البرنامج من البدايه حتى النهاية او قد نعتبرة هو منفذ البرنامج المقام تحت هذة البيئة بيئة .Net Framework

اذن لماذا تحتاج البرامج التى ننشاها تحت هذة البيئة الى مشغل او منفذ ؟

لكم الاجابة فال اللغات التى نقوم بكتابتها الان مثلا c# , vb  او ايا ما كان من لغات البرمجة التابعه لهذة البيئة تعتبر لغات برمجة عالية او ما سمى ب High Level Programming Language  فهذة اللغات تكون قريبة فى تكوينها الى لغة الانسان فنرى ان كل كلماتها لها دلالات فى اللغة الانجليزية مثلا عن استخدام IF ف معنى كلمة if لو فتقول او حدث هذا الشرط نفذ كود معين فكل هذة العملية تكون صعبة على الكمبيوتر او الاله التى لا تعى غير رقمين ال 0 و ال 1 نعم فهذا الجهاز العبقرى لا يعرف غير رقمين فقط اذن فنحن بحاجة الى شىء ما يقوم بدور الوسيط بين اللغة المكتوبة و بين الشكل النهائى المحول الى 0 و  1 و هنا تكمن و ظيفة ال Clr فهى بمثابة المشرف على هذة العملية بالاضافة الى بعض الخواص الاخرى مثل :

1-       native code compiler او ادارة الكود البرمجى

كيف تتم عملية ادراة الكود البرمجى ؟ تقوم عملية التحويلى كالتالى عن طريق 3 خطوات الاولى هى كتابة كودك البرمجى باى لغة عالية المستوى مثل ال سى شارب او الفيجوال بيسك ثانيا تتحول هذة الاكواد و الكمات الى لغة وسيطة بين لغتك العالية المستوى و لغة الكمبيوتر المتدنية المستوى عن طريق ما يسمى بال MSIL Compiler (Microsoft Intermediate Language )  او لغة ميكروسوفت الوسيطة ثم تمر على كوميلر اخر يسمى JIT Compiler فيقوم بتحويل ال MSIL Code الى لغة الة Machine Code  كل هذة العملية تحدث فى ثوان تحت ادارة ال CLR

2-      Garbage Collector  او جامع القمامة

فعند كتابة برنامجك توجد الكثير و الكثير من المتغيرات و الاشياء التى قد تكون استخدمتها فى بداية برنامجك و الان لم تعد تستخدمها فأن بقيت على الذاكرة ستأخذ مساحة مما يبطىء من جهازك و عملية تشغيل برنامجك فهنا تقوم ال CLR بازلة ال محتويات و المتغيرات الغير مستخدمة مما يساعد على زيادة الكفأة .

3-       Security Engine او محرك الامن (الحماية )

هذة الخاصية تفرض صلاحيات امنية معينة على الكود البرمجى و على الملفات و على الجهاز نفسة مما يحقق للبرنامج اثناء فترة التشغيل اكبر قدر من الامان .

4-      Thread Support او دعم الاستخدام

هذة الخاصية توفر لك الدعم عند تعدد الاستخدامات مع اكثر من تطبيق فقد يكون برنامجك يستخدم خاصية معينة من برنامج اخر مثل ان تصمم برنامج حافظة هواتف و يكون بها خاصية الاتصال مثلا باستخدام برنامج سكايبى .

5-       الاستقلالية

هذة الخاصية تضمن ابعاد و استقلال برنامجك عن نظام التشغيل و عن الهاردوير مما يضمن تجنب حدوث اخطاء عبى المستويين .

6-      COM Marshaler  اتاحة الاتصال بال com objects

تسمح بالاتصال و نقل المعلومات من و الى التطبيقات المعتمدة على ال com  او Component object model

للمعلومات عن ال Com  يمكنك الاطلاع على http://en.wikipedia.org/wiki/Component_Object_Model

هذا شرح لل clr و يوجد بعض الاشياء الاخرى التى تقوم بها ال clr مثل Debug Engine و Exception Manager و Class Loader و بعض المميزات الاخرى التى لم اقم بزكرها  (ابحث عنها ) .

ملحوظة : لا تكتفى بالمعلومات التى قدمتها لك حتى و ان جاوبت على استفسار يدور فى عقلك و لكن عليك البحث اكثر و اكثر و اكثر فكل صفحة تقرأها او كل فيديو تسمعه او كتاب تقرأة ستكتسب معلومات جديدة فلا تظن انك تعرف كل شىء .

المصادر — http://www.indiastudychannel.com  – http://www.visualbuilder.comhttp://wikipedia.org  – كتاب Introduction To C#

One thought on “ما هى ال CLR ? (Common Language Runtime)

  1. Pingback: Marwan Atef | C# لية

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s