گوگل فیوشا

از ویکی‌پدیا، دانشنامهٔ آزاد
فوچسیا(fuchsia)
Google Fuchsia Logo.svg
Screenshot of Google Fuchsia (July 2017).png
نماگرفتی از رابط کاربر گرافیکی گوگل فوچسیا
توسعه‌دهندهگوگل
نوشته شده به زبانسی، سی پلاس‌پلاس، دارت، گو، راست، پایتون
وضعیت توسعهجاری
مدل منبعمتن‌باز
تاریخ اولین انتشار۱۵ اوت ۲۰۱۶؛ ۴ سال پیش (۲۰۱۶-۰۸-۱۵)
مخزن
بن‌سازه رایانش۶۴آرم، X86-64
نوع هستهریزهسته
پروانهمختلف: بی‌اس‌دی، ام‌آی‌تی، آپاچی ۲٫۰
وبگاه رسمی

فوچسیا (انگلیسی: Fuchsia‎) یک سیستم عامل مبتنی بر قابلیت منبع باز است که در حال حاضر توسط گوگل در حال توسعه است. این اولین بار برای عموم مردم مشهور شد که این پروژه در اوت ۲۰۱۶ و بدون هیچ گونه اعلامیه رسمی در قالب گیت خود میزبان ظاهر شد. این نام به معنای "صورتی + بنفش = Fuchsia (سیستم عامل جدید)" است که اشاره ای به رنگ صورتی (اولین تلاش اپل در یک سیستم عامل مبتنی بر میکرو هسته بر روی شی گرا) و بنفش (نام رمز اصلی آیفون) است. بر خلاف سیستم عامل‌های قبلی توسعه یافته گوگل مانند سیستم عامل کروم و اندروید که مبتنی بر هسته لینوکس هستند، فوچسیا بر اساس هسته جدیدی به نام Zircon بنا شده‌است.

تاریخچه[ویرایش]

در اوت ۲۰۱۶، رسانه‌ها گزارشی از یک پست رمزگذاری مرموز در گیت هاب منتشر کردند که نشان می‌داد گوگل در حال توسعه سیستم عامل جدیدی به نام "Fuchsia" است. هیچ اطلاعیه رسمی اعلام نشده‌است، اما بازبینی کد نشان می‌دهد که این قابلیت در دستگاه‌های جهانی، از جمله "سیستم‌های سرگرمی و سرگرمی اتومبیل، به دستگاه‌های تعبیه شده مانند چراغ راهنمایی و ساعت‌های دیجیتال، تا تلفن‌های هوشمند، تبلت‌ها و رایانه‌های شخصی" قابل اجرا است. تفاوت این کد با سیستم عامل Android و Chrome به دلیل اینکه بر اساس هسته Zircon (قبلاً Magenta نامیده می‌شد) است تا هسته لینوکس.

در ماه مه ۲۰۱۷، Ars Technica در مورد رابط کاربری جدید Fuchsia نوشت، یک ارتقا از رابط خط فرمان آن در اولین بار در ماه اوت، همراه با یک توسعه دهنده نوشت که Fuchsia "یک اسباب بازی نیست، یک پروژه ۲۰٪ نیست، این محل تخلیه یک چیز مرده نیست که ما دیگر به آن اهمیت ندهیم ". چندین رسانه در مورد روابط ظاهراً نزدیک این پروژه با اندروید نوشتند، برخی گمان می‌کردند که Fuchsia ممکن است تلاشی برای "انجام مجدد" یا جایگزینی اندروید باشد به گونه ای که مشکلات موجود در آن سیستم عامل را برطرف کند.

در ژانویه ۲۰۱۸، گوگل راهنمای نحوه اجرای Fuchsia را در Pixelbooks منتشر کرد. این امر با موفقیت توسط Ars Technica دنبال شد.

«دستگاه» Fuchsia در ژانویه ۲۰۱۹ از طریق پروژه منبع باز اندروید (AOSP) به اکوسیستم اندروید اضافه شد. Google در Google I / O 2019 در مورد Fuchsia صحبت کرد. Hiroshi Lockheimer، معاون ارشد Chrome و Android , Fuchsia را به عنوان یکی از آزمایش‌های Google در مورد مفاهیم جدید برای سیستم عامل توصیف کرد.

در تاریخ ۱ ژوئیه ۲۰۱۹، گوگل وب سایت رسمی پروژه توسعه را ارائه داد که کد منبع و مستندات سیستم عامل را ارائه می‌دهد.

بررسی اجمالی[ویرایش]

فوربس Fuchsia را توصیف می‌کند:

زیرکون قبلاً به عنوان سرخابی شناخته می‌شد و به گونه ای طراحی شده بود که از هر نوع برنامه ای از RTOS تعبیه شده (سیستم عامل‌های زمان واقعی) گرفته تا انواع موبایل و دسک تاپ متناسب باشد. در نتیجه، حدس و گمان‌های زیادی وجود دارد مبنی بر اینکه Fuchsia جانشین طبیعی سیستم عامل Android و Chrome خواهد بود و قابلیت‌های هر دو را با سازگاری رو به عقب ترکیب می‌کند تا برنامه‌های قدیمی ساخته شده در هر دو را ترکیب کند. به‌طور خلاصه، این مورد برای اجرا بر روی هر چیزی از هسته‌های ۳۲ بیتی یا ۶۴ بیتی ARM تا پردازنده‌های ۶۴ بیتی x86 طراحی شده‌است و احتمالاً مخل است.

پروژه GitHub نشان می‌دهد Fuchsia می‌تواند در بسیاری از سیستم عامل‌ها، از سیستم‌های جاسازی شده گرفته تا تلفن‌های هوشمند، تبلت‌ها و رایانه‌های شخصی، اجرا شود. در ماه مه ۲۰۱۷، Fuchsia با یک رابط کاربری به روز شد، و یک توسعه دهنده نوشت که این پروژه «زمینی برای از بین بردن یک چیز مرده» نیست، باعث گمانه زنی‌های رسانه ای در مورد اهداف گوگل با سیستم عامل، از جمله احتمال جایگزینی آن با Android. در تاریخ ۱ ژوئیه ۲۰۱۹، Google صفحه اصلی پروژه fuchsia.dev را اعلام کرد که کد منبع و مستنداتی را برای سیستم عامل تازه اعلام شده ارائه می‌دهد.

رابط کاربری و برنامه‌های Fuchsia با Flutter نوشته شده‌است، یک کیت توسعه نرم‌افزار که امکان توسعه بین پلتفرم را برای Fuchsia , Android و iOS فراهم می‌کند. Flutter برنامه‌های مبتنی بر Dart را تولید می‌کند و برنامه‌هایی با عملکرد بالا را ارائه می‌دهد که با سرعت ۱۲۰ فریم در ثانیه اجرا می‌شوند. Fuchsia همچنین یک موتور رندر گرافیکی مبتنی بر Vulkan به نام Escher با پشتیبانی ویژه از «Volumetric soft سایه‌ها» ارائه می‌کند، عنصری که Ars Technica نوشت «به نظر می‌رسد برای اجرای دستورالعمل‌های رابط» Material Design «سنگین سایه Google ساخته شده‌است».

با توجه به کیت توسعه نرم‌افزار Flutter که فرصتهای بین پلتفرمی را ارائه می‌دهد، کاربران می‌توانند قسمتهایی از Fuchsia را بر روی دستگاه‌های Android نصب کنند.

Ars Technica خاطرنشان کرد که اگرچه کاربران می‌توانند Fuchsia را آزمایش کنند، اما هیچ چیز «کارساز» نیست، زیرا «این همه مجموعه ای از رابط‌های مکان‌یاب هستند که کاری نمی‌کنند». آنها شباهت‌های زیادی بین رابط کاربری Fuchsia و Android پیدا کرده‌اند، از جمله صفحه برنامه‌های اخیر، منوی تنظیمات و نمای تقسیم صفحه برای مشاهده همزمان چندین برنامه. پس از بازبینی دوم، کارشناسان Ars Technica تحت تأثیر پیشرفت قرار گرفتند و خاطرنشان کردند که همه چیز در حال کار است و به ویژه از پشتیبانی سخت‌افزار خوشحال می‌شوند. یکی از شگفتی‌های مثبت پشتیبانی از چندین نشانگر ماوس بود.

نسخه ویژه Android Runtime برای Fuchsia برنامه‌ریزی شده‌است تا از یک فایل FAR، معادل Android APK، اجرا شود.

هسته[ویرایش]

Fuchsia بر اساس یک هسته پیام رسان جدید به نام Zircon ساخته شده‌است که به نام ماده معدنی نامگذاری شده‌است. به دلیل داشتن بیش از 170 syscall، میکرو هسته نیست. پایگاه کد زیرکون از هسته کوچک (LK) گرفته شده‌است، هسته ای در زمان واقعی برای دستگاه‌های جاسازی شده، با هدف مصرف کم منابع، برای استفاده در انواع مختلفی از دستگاه‌ها. هسته کوچک توسط Travis Geiselbrecht ساخته شد، وی همچنین هسته NewOS مورد استفاده هایکو را نیز همکاری کرده‌است.

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

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

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