TechBord Logo
TechBord detail

لایه سازگاری (Compatibility Layer) چیست؟

لایه سازگاری یک رابط نرم افزار (Software) است که به برنامه کاربردی (Application) نوشته شده و کامپایل (Compile) برای یک سیستم عامل (Operating System) یا معماری سخت افزار اجازه می دهد تا روی یک سیستم میزبان مختلف تماس‌های رابط برنامه کاربردی (API) و سایر توابع سیستم طراحی‌شده برای یک محیط را دریافت می‌کند و آنها را به فراخوان‌هایی تبدیل می‌کند که سیستم میزبان قابل درک باشد.

لایه‌های سازگاری می‌توانند عملکردی مشابه به عنوان شبیه سازی (Emulation)

برخی از لایه‌های سازگاری قابل توجه عبارتند از Wine (که به برنامه‌های ویندوز اجازه می‌دهد با پیاده‌سازی Windows API روی لینوکس اجرا شوند)، روزتا (Rosetta) در سیستم عامل مک (macOS) ( که به برنامه‌های macOS کامپایل‌شده برای x86 روی سیلیکون اپل (Apple Silicon) و WOW64 در ویندوز (که برنامه‌های ویندوز ساخته‌شده برای x86 را برای اجرا بر روی سی و دو بیتی / شصت و چهار بیتی (x86-64) و پردازنده‌های ARM ترجمه می‌کند) اجازه می‌دهد.

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

مقایسه با شبیه‌سازی و مجازی‌سازی

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

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

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

تعریف اصطلاح لایه سازگاری (Compatibility Layer) توسط تک بورد

تعریف لایه سازگاری (Compatibility Layer) در این صفحه یک تعریف پایه نگاشته شده توسط تک بورد است. اگر مایل به ارجاع به این صفحه یا استناد به این تعریف هستید، با شرط درج لینک به این صفحه می توانید از این محتوا استفاده کنید.

هدف تک بورد توضیح اصطلاحات کامپیوتری به روشی است که به راحتی قابل درک باشد. ما برای سادگی و دقت با هر تعریفی که منتشر می کنیم تلاش می کنیم. اگر بازخوردی درباره تعریف لایه سازگاری (Compatibility Layer) دارید یا می‌خواهید یک اصطلاح فنی جدید پیشنهاد کنید، لطفاً با ما تماس بگیرید.

آیا می خواهید اصطلاحات فنی بیشتری یاد بگیرید؟ در خبرنامه روزانه یا هفتگی مشترک شوید و شرایط و آزمون های ویژه را در ایمیل خود تحویل بگیرید.