بایت‌کد

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

بایت‌کد یک شکل از مجموعه دستورالعمل می‌باشد که برای اجرای کارآمد توسط مفسر طراحی گشته‌است. آن‌ها برعکس کد منبع که برای انسان قابل خواندن‌اند، کدهای عددی فشرده، ثابت‌ها و ارجاعاتی (معمولا آدرس‌های عددی) هستند که نتیجه تجزیه‌کننده و تحلیلگر معنایی از چیزهایی مانند نوع، دامنه، عمق تودرتو از اشیای برنامه را کد می‌کنند. استفاده از آن‌ها به جای کد منبع به مفسر اجازه می‌دهد عملکرد بهتری داشته باشد.

نام بایت‌کد از مجموعه دستورالعمل‌ها که آپ‌کد یک بایتی که با پارامترهای اختیاری دنبال می‌شوند دارند، ریشه می‌گیرد. نمایش‌های سطح متوسطی مانند بایت‌کد احنمالا خروجی زیان‌های برنامه‌نویسی اند یا برای کاهش وابستگی به سخت‌افزار یا سیستم‌عامل با اجازه دادن اجرای یک کد بر روی بسترهای نرم‌افزاری متفاوت استفاده می‌گردند. بایت‌کدها اغلب ممکن است بر روی ماشین مجازی اجرا گردند یا برای اجرای بهتر به زبان ماشین کامپایل گردند.

از آنجایی که دستورالعمل‌های بایت‌کد توسط نرم‌افزار پردازش می‌شوند، پردازش ممکن است دلبخواه گردد اما با این وجود اغلب وابسته به دستورالعمل‌های سخت‌افزار هستند. ماشین پشته‌ای مجازی معروف‌ترین آن‌ها اند. ماشین ثبات مجازی نیز ساخته گشته‌اند. بخش‌های مختلف ممکن است در بخش‌های مختلف دخیره گردند;اما به صورت پویا همگی بارگذاری خواهند گشت.

اجرا[ویرایش]

یک برنامه بایت‌کد ممکن است توسط تجزیه و اجرای مستقیم دستورالعمل‌ها در یک زمان اجرا گردد. بعضی سامانه‌ها که ترجمه‌گر‌های پویا نام دارند (به انگلیسی: dynamic translator) در زمان اجرا هر وقت لازم بود بایت‌کد را به زبان ماشین ترجمه می‌کند ، این باعث که ماشین مجازی متناسب با سخت‌افزار باشد اما این خللی به جا‌به‌جا پذیر بودن بایت‌کد ‌نمی‌زند. برای مثال کد‌های جاوا به طور معمول به فرمت بایت کد ذخیره می‌گردند، بعد قبل اجرا به زبان ماشین ترجمه مب‌گردد ، این کار سرعت اجرا را به طور قابل توجه نسبت به تفسیر مستقیم از کد منبع افزایش می‌دهد.

به خاطر مزایای این کار امروزه بیشتر پیاده‌سازی زبان‌ها در دو مرحله صورت می‌گیرد ، ابتدا کد منبع به بایت‌کد ترجمه سپس با ماشین مجازی اجرا می‌شود

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Bytecode»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۱۷ دسامبر ۲۰۱۳).