سیستم عامل جدید متن باز گوگل

یک گروه از گوگلی ها کار عجیبی کردند : آن ها خیلی بی سر و صدا یک سیستم عامل جدید که در رقابت با سیستم عامل خود گوگل یعنی Android OS می باشد را نمایش دادند.

فوچسیا (Fuchsia) سیستم عامل در حال تکمیل متن بازی است که می تواند بر روی همه چیز از دستگاه های سبک ، تک رفتاری (مانند خودپرداز ها و دستگاه های جی پی اس) تا کامپیوترهای شخصی اجرا شود. اما برخلاف اندروید (Android) این سیستم عامل بر اساس لینوکس (Linux) یا بر اساس هیچ نرم افزار دیگری که دستگاه های محاسباتی و کامپیوتری امروزی بر اساس آن ها ساخته شده اند نخواهد بود.

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

هسته (Kernel) خشن

یک واقعیت درباره کامپیوتر ، تبلت (Tablets) و تلفن همراه شما وجود دارد : برای بیش تر قسمت ها از نرم افزارهای سازگار شده ای استفاده می کنند که تقریبا قدیمی هستند. سیستم عامل اندروید از هسته لینوکس استفاده می کند که شروع آن مربط به سال 1991 می باشد. سیستم عامل های Mac OS X , iOS و سایر پلتفرم های اپل (Apple) بر اساس یونیکس (Unix) هستند که به صورت اولیه در آزمایشگاه بل (Bell Labs) در سال 1969 آغاز گردید. سیستم عامل های ویندوز بر اساس هسته ویندوز NT (Windows NT) هستند که به سال 1993 بر می گردد.

وظیفه هسته مدیریت عمقی ترین سطوح یک سیستم عامل است. مدیریت حافظه و فایل ها ، دسته بندی کارها (Scheduling Jobs) و رسیدگی به درخواست های سخت افزارها نظیر صفحه کیبورد (Keyboard) از جمله وظایف هسته است. جهت انجام این وظیفه هسته پیچیدگی های سیستم عامل را خلاصه (Abstraction) می کند که این کار به نرم افزارها اجازه می دهد بدون دانستن جزییات پیاده سازی یک قسمت از آن استفاده کنند و مثلا بدون اطلاع از جزییات مدل های خاص یک پرینتر توسط آن پرینت را انجام دهند.

انعطاف هسته های قدیمی یونیکس و لینوکس و ویندوز هرچند ممکن است با وسواس شدید صنعت مدرن متناقض باشد ولی در پایین ترین سطح ، محاسبات هنوز بر همان اساس دهه های گذشته انجام می گیرد. برای نمونه ، ویندوزهای امروزی از چیپ هایی (Chips) استفاده می کنند که از نسل چیپ های شرکت اینتل (Intel) است که بر روی نسختین کامپیوتر IBM قرار گرفت. در این حالت هسته نیز خود یک کالا است.

ما هنوز دقیقا از همان معماری ، همان مفاهیم محاسبات – رجیستر(Register) ، دروازه (Gate) و ترانزیستور (Transistors) استفاده می کنیم و به همین علت نیازی به ایجاد یک هسته بهتر و جدید نیست. هسته ها کشف شده اند.

یا این طوری فکر می کردیم !

این روزها ما از سنسورها و قدرت محاسبات در وسایل زیادی استفاده می کنیم و خانه های معمولی را برای نمونه به خانه های هوشمند تبدیل می کنیم و به صورت کلی تر همه چیز را متصل می کنیم. ( اینترنت اشیاء )

تفکر پشت سیستم عامل فوچسیا ممکن است این باشد که هسته های سالمندی مانند لینوکس برای این موج جدید دستگاه ها مناسب نباشند. اگر این طور است ، سازندگان این سیستم عامل در حال تصور یک هسته جدید برای زمان های مدرن هستند. ( این هسته جدید Magenta نام دارد که از یکی دیگر از جدید ترین آزمایش های گوگل به نام Little Kernel – LK گرفته شده است.)

لینوکس مشکلاتی را برای دستگاه های محاسباتی کوچک فراهم کرده است.

یک سیستم عامل همه کاره مانند لینوکس از امنیت کمتری برای نرم افزارهای اینترنت اشیاء (IOT – Internet of Things) برخوردار است.

لینوکس برای این نوع نرم افزارها بزرگ است. اگر چه هسته لینوکس ماژولار (Modular) است و به سازندگان اجازه می دهد که بخش های غیر کاربردی را خارج کنند ولی به هر حال فضایی مگابایتی را بیهوده اشغال خواهد کرد. این یعنی چپاندن هسته لینوکس در دستگاه های کوچک سخت تر خواهد بود و نیاز به استفاده از پروسسور های بزرگ تر می باشد که قیمت و مصرف انرژی بیش تری دارند.

مشکل دیگر آن است که لینوکس بلادرنگ نیست. برخلاف سیستم عامل های توکار (Embedded Systems) نظیر خودپردازها ، محصولات پزشکی و دیگر دستگاه های تک کاربری ، لینوکس از یک جدول برنامه (schedule) برای مدیریت چندین کار استفاده می کند. این کار برای کامپیوتر های همه کاره (General Purpose) مناسب و کارا است ولی برای دستگاه های که به زمان بندی دقیق نیاز دارند مانند پرینترهای سه بعدی (3D-Printing) یا موتورهای کنترل داخل ماشین ها مشکل ایجاد می کند.

اگر شما می خواهید مطمئن باشید که عملیات  مورد نظر دقیقا در میکروثانیه (Microseconds) خودش اجرا خواهد شد واقعا نمی خواهید که یک پروسه (Process) داخل دستگاه باشد که تصمیم بگیرد چه چیزی چه زمانی اجرا شود.

همچنین امنیت یک سیستم عامل همه کاره مانند لینوکس برای اینترنت اشیا پایین تر است. کدهای بیش تر نوشته شده که این به معنای حفره های بیش تر است که نیاز است توسط دیواره های آتش (Firewall) کنترل شود.

یکی از ارزش های اجرای یک سیستم توکار ( سیستم عامل بلادرنگ ) این است که هیچ چیز برای بسته شدن وجود ندارد. این سیستم یک سری کارهای مختلف انجام نمی دهد که نگرانی ایجاد کنند. در اصل این سیستم ها اصلا چیزی را اجرا نمی کنند به جز نرم افزاری که شما نوشته اید.

فوچسیا یک تلاش برای ارتباط برقرار کردن بین لینوکس که الان نرم افزارها و کامپیوتر ها توسط آن ارتباط برقرار می کنند با سیستم های توکار مانند FreeRTOS , ThreadX می باشد.

آن ها در گوگل احتمالا به دنبال چیزی هستند که خلاصه کردن (Abstraction) لینوکس را داشته باشد به همراه کارایی (Performance) و اندازه کوچک و بلادرنگ (Real Time) بودن ماهیت یک RTOS  (Real Time Operating System). این یک دارایی خیلی ارزشمند است و از نظر تئوری امکان پذیر است. فقط تا به حال انجام نشده است (:

به سمت بالا

اگر فوچسیا تنها دستگاه های کوچک را هدف قرار دهد احتمال دارد ارزش چندانی پیدا نکند. اما سازندگان فوچسیا سودای بزرگ تر در سر دارند و ادعا می کنند که این سیستم عامل می تواند از موبایل ها تا کامپیوترهای خانگی را پوشش دهد. در تئوری می تواند یک جایگزین برای اندروید و سیستم عامل کروم (Chromebook OS) باشد.

انگیزه آن ها چیست ؟ ساخت سیستم عامل آن هم از پایه امکان ایجاد یک برنامه با کارایی بالاتر را فراهم می کند که در نتیجه می تواند سرورهایی با کارایی بهتر را ایجاد کرد و این چیزی است که گوگل همیشه به دنبال آن بوده است.

تولید کنندگان فوچسیا می گویند که در حال مستند کردن هستند و در نهایت سیستم عامل را رونمایی خواهند کرد.

نظریه دیگر نیز وجود دارد :

یک سیستم عامل جدید می تواند از قید و بند دارایی های معنوی (Intellectual Property - IP) و مجوزهای آن آزاد باشد و این چیزی است که گوگل را برای اندروید تحت تعقیب قرار داد. به خاطر این که این طراحی کاملا جدید است هیچ مالک معنوی دیگری وجود نخواهد داشت. این دلیل می تواند خوب باشد زیرا سیستم عامل لینوکس مالکین معنوی خاصی داشت.

البته در نظر داشته باشید که همه این موارد می تواند به صورت آکادمیک و تئوری باشد و هنوز راه زیادی باقی مانده است. گوگل در کنار این پروژه استفاده از یک پلتفرم برای سیستم های مرتبط از جمله اینترنت اشیاء را شروع کرده است که از کوچک کردن اندروید استفاده می کند.

یکبار دیگر یاد آوری می کنیم ، یونیکس از یک پروژه داوطلبانه در آزمایشگاه های بل (Bell Labs) شروع شد و آقای لینوس توروالدس (Linus Torvalds) خالق لینوکس نیز آن را برای سرگرمی ساخت (:

شاید در دهه های آینده ما از فوچسیا به عنوان یک پروژه که زادگاهش ساختمان های گوگل (Googleplex) بود یاد کنیم.

کد منبع باز سیستم عامل جدید گوگل (github)