نام پژوهشگر: محسن آقاجری

پیاده سازی یک ماشین مجازی با کارایی بالا با استفاده از روش تولید کد پویا
پایان نامه وزارت علوم، تحقیقات و فناوری - دانشگاه علم و صنعت ایران 1381
  علی اکبر زمانّپور   محسن شریفی

برنامه نویسی در محیط هایی که تنوع سخت افزاری و نرم افزاری فراوانی در آنها وجود دارد با مشکلات بسیاری روبروست. در چنین شرایطی استفاده از ماشین های مجازی و زبانهای برنامه نویسی با درجه تجرید بالاتر اجتناب ناپذیر به نظر می رسد. مفسر ماشین مجازی ، دستورات ماشین مجازی را به کدهای قابل اجرا ترجمه کرده و آنها را اجرا می کند. در هنگام اجرا ، اجزای دیگر ماشین مجازی مورد استفاده قرار می گیرند، اما هسته مرکزی اجرایی ماشین مجازی که تفسیر دستورات ماشین مجازی را انجام می دهد ، مفسر است. بنابراین کارایی مفسر بطور حتم برکارایی ماشین مجازی تاثیرگذار خواهد بود .استفاده از مفسر ماشین مجازی بعنوان روش رایج برای پیاده سازی برنامه های برنامه نویسی است نیز مطرح است. استفاده از مفسر موجب افزایش سرعت در ایجاد برنامه ها می شود. یکی از معایب عمده مفسر ، کندی آن است. بطور معمول زمان اجرای یک برنامه توسط مفسر از زمان اجرای همان برنامه که بوسیله یک مترجم ترجمه شده ، بیشتر است. دسترسی با کارایی بالا در مفسر ماشین های مجازی همواره جزو اهداف طراحان ماشینهای مجازی بوده است. در طول سالیان گذشته ، این موضوع مورد توجه و روشهایی برای افزایش کارایی در تفسیر دستورات ماشین مجازی پیشنهاد شده است. برخی از این روشها کاهش تعداد دستورات پرش اجرا شده توسط مفسر و برخی دیگر کاهش زمان دسترسی به عملوندهای دستور ماشین مجازی را مورد بررسی قرار داده اند، اما تاکنون ترکیب این روشها بگونه ای که بطور بهینه ای عمل نموده و موجب افزایش بیشتر کارایی شود، مورد توجه قرار نگرفته است. در این پایان نامه روش ترکیبی جدیدی معرفی شده است که اعمال آن بر روی مفسر ماشین مجازی ، افزایش کارایی تا مرز 90درصد کارایی مترجم زبان ‏‎c++‎‏ را نشان داده است.