مفاهيم اوليه Clr فريمورک دات نت (4)
S h a b g a r d . O R G
.::Security Group::.

  خانه



مفاهيم اوليه Clr فريمورک دات نت (4)
Posted by شرکت سخا روش on Apr 3, 2005, 02:44

دستورالعمل ها . CLR ، نيازمند ليستی از دستورالعمل های MSIL است . هر متد دارای اشاره گری به مجموعه دستوراتی است که بعنوان بخشی از متا ديتا ی مورد نظری است که به آن مرتبط شده است.

Signature . هر متد دارای يک Signature است و CLR نيازمند استفاده از يک signature برای هر متد است . signature ، برگرداندن نوع ، تعداد پارامتر و نوع پارامترها را تشريح می نمايد.

Exception Handling Array . دستورالعمل خاصی از IL که مربوط به برخورد با exception باشد ، وجود ندارد . در اين رابطه از دايرکتيوهائی خاص در مقابل دستورالعمل های IL ، استفاده می گردد . در مقابل دستورالمل های Exception-handling ، اسمبلی دارای ليستی از exceptions است . ليست فوق، شامل نوع exception ، يک آدرس offest به اولين دستورالعمل پس از بلاک exception try ، طول مربوط به بلاک try ، است . ليست فوق ، همچنين شامل آفست به handler code ، طول handler code ، و يک token که مسئول تشريح کلاسی است که از آن بمنظور کپسوله نمودن exception استفاده می گردد .

اندازه Evaulation stack . داده فوق ، از طريق متا ديتا اسمبلی قابل دسترس خواهد بود. می توان آن را از طريق maxstack x در ليست ILDASM مشاهده نمود. مقدار x ، اندازه پشته مورد نظر است . اندازه منطقی پشته که توسط x ، مشخص شده است ، حداکثر آيتم هائی را که می توان در پشته ، مستقر ( Push ) نمود ، مشخص می نمايد. اندازه فيزيکی آيتم ها و پشته به CLR واگذار تا در زمان اجراء آن را مشخص نمايد (زمانيکه متد JITd است ) .

تشريح بردارهای محلی . هر متد نيازمند تعريف و ذخيره سازی محلی آيتم های مورد نياز است. evaluation stack ،( برداری منطقی از آيتم ها بهمراه نوع هر آيتم) و استفاده از يک flag در متاديتا بمنظور مشخص نمودن ضرورت مقداردهی اوليه ( مقدارصفر ) متغيرهای محلی در ابتدای فراخوانی يک متد ، نمونه هائی در اين زمينه می باشند.

با استفاده از اطلاعات فوق ، CLR ، قادر به ايجاد يک abstraction از چيزی خواهد بود که native stack frame است. عموما" هر پردازنده و يا ماشين يک stack frame را شکل که شامل آرگومانها ( پارامترها ) و يا مرجع به آرگومانها ی مربوط به متد است . در وضعيتی مشابه ، متغيرهای برگردانده شده در stack frame بر اساس فراخوانی که وابسته به يک پردازنده و يا ماشين خاص است ، ذخيره می گردند. اولويت پارامترهای ورودی و خروجی در رابطه با يک ماشين خاص ، مشخص می گردد . با توجه به اينکه تمام اطلاعات مورد نياز برای هر متد در دسترس است ، CLR ، قادر به تشخيص وضعيت مورد نظر stack frame ، در زمان اجراء است .
فراخوانی يک متد بگونه ای انجام خواهد شد که CLR دارای حداقل کنترل در رابطه با اجراء متد و حالت آن باشد .زمانيکه CLR ، يک متد را فرامی خواند ، متد و حالت آن تحت کنترل CLR خواهد بود ( Thread of control ) .




---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------