الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Net Framework

مغلق
بدأه شبكة في 31 مايو 2002 · 4 رد · 972 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الـ Net Framework ...............

هل يمكنني تشغيلة وإيقافة كما في الـ ASP والـ IIS ........

ام ماذا ؟؟؟؟؟؟؟؟؟

#2

ال Framework يندمج مع نظام التشغيل نفسه و يستبدل جزء منه حيث لا يمكن ان يوقف بعدها، فهو يصبح جزء من نظام التشغيل نفسه و ليس برنامج يعمل فوق نظام التشغيل.

هناك اجزاء كاملة تستبدل او تعدل، مثلا جزء تحميل ملفات ال exe الى الذاكرة يستبدل باخر يتعرف على ملفات ال exe الجديدة، ، نظم ادارة الذاكرة تعدل قليلا و امور اخرى، بالطبع التعديلات تختلف من نظام Windows الى اخر و خصوصا بين Win98 و ME و بين NT4 و 2000 و XP.

Microsoft Windows XP Service Pack 1 سوف يحتوي على ال Framework بداخله، كما اذا ركبت ال Service Pack لوحدها سوف تضيف ال Framework ايضا.

#3

اخالفك استاذ خضر في نقطة صغيره بس وهي ان .Net Framework يشتغل فوق نظام التشغيل و ماله اي اندماج مع نظام التشغيل ... طبعا هذا الكلام ينطبق على جميع نسخ ويندوز ما عدا XP و النسخة القادمة Net Server. حيث فيه نوع من الاندماج خاصة في دالة CreateProcess و LoadLibrary و اللي لها تعامل خاص مع برامج الدوت نيت بطريقة تختلف شويه ( في الاسفل شرح الاختلاف )..... و هذا التغيير اضيف لانه ويندوز XP و ال Net Server. يعملون على معالجات انتل 32 بت و 64 بت .... اما بالنسبه لمعالجة الذاكرة فهي نفسها لم تتغير، دور CLR في معالجة الذاكرة هو نفس دور CRT في البرامج المكتوبة بالفيجوال سي++ .... ولكن بالـتأكيد ال CLR يدير الذاكرة بطريقة مختلفة عن CRT بشكل اكثر فعالية .

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

في الحقيقة ال CLR عبارة عن فقط COM object عادي و هي التي تدير الذاكرة لبرامج الدوت نيت و هي التي تقوم بكل شيء .... و بما انها COM Object عادي فيستطيع اي برنامج unmanage تعريف Interface pointer لها و تحميل ال CLR في الذاكرة لديه عن

طريق الدالة CreateInstance ( طبعا المفروض ما تقوم بهذا الشيء بالصورة السابقة ... فيه طريقة خاصة لعمل هذا الشيء ) .... طبعا ممكن الواحد يسأل ما هي فائدة ان احمل ال CLR في برنامجي ؟؟ و فائدته هي امكانية تشغيل برامج الدوت نيت بداخل العملية الخاصة في برنامج بحيث ان البرنامج المكتوب بتقينة الدوت نيت يشاركك برنامج نفس مساحة العناوين .

و بالمناسبة النسخه القادمة من ال SQL Server ستوفر امكانية كتابة ال stored procedure باي لغة من لغات الدوت النيت كالسي شارب و الفيجوال بيسك .... بحيث عند كل تنفيذ stored procedure راح يتنفذ داخل العملية الخاصة بال SQL Server كبرنامج مستقل يديره CLR اللي قام SQL Server بإستظافته ( CLR Hosting ).

بالنسبه لطريقة تحميل برامج ال exe الخاصة بالدوت نيت

فطريقة تحميلها في الذاكرة تتم كالتالي :

1 - اول ما يشتغل برنامج مبني بتقنية الدوت نيت فانه نظام ويندوز راح يتعامل مع كأي برنامج عادي .... ولكن برامج الدوت نيت فيها مناداة لدالة اسمها CorExeMain_ ... في بداية الكود تبعها، الدالة هاذي معرفة في الملف MSCorEE.dll .... الشيء هذا ما يحصل في ويندوز XP حيث ان عملية القفز للدالة CorExeMain_ يعملها نظام التشغيل مباشرة .

2 - الدالة CorExeMain_ تقوم بتهيئة ال CLR و تشوف في قسم مضاف في الملف exe اسمه CLR Header و اللي راح يكون فيه الدالة الدخول للبرنامج الرئيسية .

3 - يقوم ال CLR بترجمة تعليمات IL إلى تعليمات المعالج بعدين يبدأ تنفيذ البرنامج .

طبعا الكلام هذا ينطبق على ملفات exe و dll .

لكن كما اوضحت استاذ خضر انه التعديلات تختلف ما بين نسخ ويندوز ... ففي ويندوز XP يندمج ال .NetFramework مع نظام التشغيل ... لكن الاندماج هذا على مستوى بسيط كما اوضحت سابقا

اي بكلام اخر دور ال CLR هو نفس دور CRT ( C Runtime Library ) في برامج الفيجوال سي ... بحيث هي اللي تدير تنفيذها من حيث مناداة constructor و desctructor لل classes و هي اللي تدير ال Heap تبع البرامج .....

و ممكن اننا نقول ان دالة CorExeMain_ شبيه بالدالة mainCRuntimStartup في برامج الفيجوال سي ++ ... طبعا كلاهما يقوم بعمل مختلف لكن هدفهما واحد وهو تهيئة البرنامج للتنفيذ .

تقبل تحياتي ...

#4

(yess) (yess) (yess) (yess) (yess) :D :D :D

#5

والان كيف اقوم يإقاف هذه الخاصية و تشغيلها

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…