اجرای اپلیکیشن های اندروید و لینوکس روی فوشیا OS - تکفارس 
اجرای اپلیکیشن های اندروید و لینوکس روی فوشیا OS - تکفارس 

اجرای اپلیکیشن های اندروید و لینوکس روی فوشیا OS

حامد شهرزاد
۲۷ بهمن ۱۳۹۹ - 19:00
android

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

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

تاکنون، کاربران انتظار داشتند که فوشیا بتواند با اجرای یک نمونه کامل لینوکس در یک ماشین مجازی، این کار را انجام دهد، دقیقاً مانند سیستم‌عامل کروم که در حال حاضر می‌تواند اپلیکیشن‌های لینوکس را اجرا کند. به لطف پروژه‌ای به نام arcvm، سیستم‌عامل کروم حتی می‌تواند از همان راهکار برای اجرای اپلیکیشن‌های اندروید استفاده کند.

با این حال، روش ماشین مجازی معایبی دارد. اول از همه، مدیریت فایل‌ها بین «سیستم میزبان» (به‌عنوان مثال، فوشیا) و «سیستم مهمان» (مثلاً اندروید) می‌تواند سخت یا مشکل‌ساز باشد. علاوه بر این، فوشیا بر ایمنی تأکید دارد. این سیستم‌عامل تلاش می‌کند تا فعالیت اپلیکیشن‌ها را از یکدیگر جدا کند. برای حفظ سطح انزوای اپلیکیشن‌های لینوکس، فوشیا باید چندین ماشین مجازی را اجرا کند که ممکن است عملکرد کلی سیستم را کاهش دهد.

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

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

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

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

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

اندروید

این امر نشان می‌دهد که ممکن است گوگل قصد داشته باشد تا فوشیا بدون هیچ استثنائی از اپلیکیشن‌های اندرویدی پشتیبانی کند، مانند استفاده از اندروید NDK برای نوشتن اپلیکیشن‌های C یا C++. البته و در طولانی‌مدت، از استارنیکس فقط باید به‌عنوان یک راه‌حل موقتی استفاده شود تا کاربران بتوانند از سیستم‌عامل فوشیا گوگل در حالی که این سیستم‌عامل منتظر توسعه‌دهندگان بیشتر است تا اپلیکیشن‌های مختلف را به این سیستم‌عامل جدید منتقل کنند، استفاده گسترده‌تری کنند. تقریباً در هر مورد مشابه، عملکرد اپلیکیشن‌های اصلی فوشیا بهتر از اپلیکیشن‌های لینوکس یا اندروید است که از طریق استارنیکس اجرا می‌شوند.

به عبارت دیگر، استارنیکس برای فوشیا فعلاً فقط به‌عنوان یک پیشنهاد است و برای سازگاری اندروید و لینوکس با فوشیا و زیرکن، زمان زیادی لازم است. به‌منظور جلوگیری از شکست این پروژه، گوگل در حال مطالعه موفقیت یا عدم موفقیت پروژه‌های مشابه مانند زیرسیستم اصلی لینوکس یعنی WSL1 است. با این حال، همچنان این احتمال وجود دارد که پروژه استارنیکس با شکست روبه‌رو شود. در این صورت، فوشیا همچنان می‌تواند به استفاده از ماشین‌های مجازی برای برطرف کردن نیاز به اجرای اپلیکیشن‌های لینوکس و اندروید بازگردد.

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

مطالب مرتبط سایت

نظرات

دیدگاهتان را بنویسید