معرفی پروژه تربل گوگل و تأثیر آن بر بروزرسانی اندروید
یکی از بزرگترین نقاط ضعف سیستم عامل اندروید بروزرسانیهای آن است. این ضعف به حدی جدی است که اپل تقریبا در تمام رونماییهای محصولاتش به آن اشاره میکند و از پیشتازی خود در این عرصه سخن میگوید. اما به نظر میرسد گوگل بالاخره فکری برای رفع این معضل کرده است. پس از سالها اعتراض کاربران، این بار گوگل با پروژه تربل آمده تا انقلابی به پا کند!
پروژه تربل بهعنوان بخشی از اندروید ۸ اوریو ارائه شده و نشاندهنده بازطراحی در معماری و ساختار این سیستم عامل است. ابتکار عمل جدید گوگل قصد دارد کار ارائه بروزرسانی دستگاههای هوشمند را برای شرکتهای تولیدکننده ساده و سریعتر کند. شاید استفادهکنندگان از دستگاههای اندرویدی هرگز متوجه این تغییر بزرگ نشوند؛ چرا که همه کارها در پشت صحنه انجام میشود.
چرا به پروژه تربل نیاز داریم؟
همانطور که گفته شد، یکی از انتقادات همیشگی که متخصصان از سیستم عامل اندروید داشتهاند، ارائه بسیار دیرهنگام بروزرسانیهای آن برای دستگاههای مختلف است. درحالیکه دستگاههای ساخت اپل تا سه-چهار سال بروزرسانیهای سیستم عامل را دریافت میکنند، قویترین و گرانترین دستگاههای اندرویدی در بهترین حالت تا دو سال میتوانند بروزرسانیهای عمده را دریافت کنند؛ تازه این در صورتی است که شما یک دستگاه پرچمدارخریداری کرده باشید! برای بسیار از دستگاههای میانرده و پایینرده اندرویدی هیچگاه بروزرسانی منتشر نمیشود.
اگر نتوانید از آخرین نسخه سیستم عامل استفاده کنید دو مشکل عمده ایجاد میکند. اول اینکه بسیاری از ویژگیها و امکانات جدید را از دست میدهید و برای داشتن آنها باید دستگاه جدیدی خریداری کنید. مسئله دوم هم کاهش امنیت دستگاه شما است؛ چرا که در گذر زمان باگهای امنیتی مختلف توسط شرکتها کشف میشود و تنها راه رفع آنها ارائه بروزرسانی سیستم عامل است. این موضوع وقتی مهمتر میشود که هرچه پیش میرویم تلفنهای همراه هوشمند نقش مهمتری در زندگی افراد بازی میکنند. در حال حاضر کاربران بسیاری از عملیات شخصی، مالی و حرفهای خود را از طریق گوشی هوشمند خود انجام میدهند که حاوی اطلاعات مهمی است؛ بنابراین رفع فعالانه نقصهای امنیتی بسیار اهمیت دارد. کندی و تأخیر شرکتهای تولیدکننده در ارائه بهروزرسانی ناشی از یک ضعف اساسی و عمیق است؛ دشواری و پرهزینه بودن پشتیبانی طولانیمدت از دستگاهها.
تغییرات اعمالشده بر معماری کرنل لینوکس برای پشتیبانی از پروژه تربل
مشکل ارائه دیرهنگام بهروزرسانی به چگونگی ارتباط لایههای سیستمعامل اندروید با سختافزار برمیگردد. برای اینکه برنامهها روی پردازنده اجرا شوند یا از بخشهای مختلف سختافزار مانند دوربین استفاده کنند، لازم است با لایهای به نام HALا(Hardware Abstract layer) ارتباط برقرار کنند. در لایهای پایینتر، کرنل لینوکس قرار میگیرد که ارتباط بین HAL و قطعه سختافزاری را مدیریت میکند. کرنل باید دقیقا برای سختافزاری که روی آن نصب میشود کامپایل شود و درست در همین نقطه است که کار دشوار میشود.
مشکل نسخههای قبلی اندروید (تا قبل از اوریو) این است که بین لایههای پایین سختافزاری کد که توسط شرکت تولیدکننده نوشته میشود و لایههای بالاتر کد اندروید که توسط گوگل تهیه میشود، هیچگونه جداسازی وجود ندارد. در این نسخهها هیچ رابط مشخصی برای ارتباط لایهها وجود ندارد؛ بنابراین شرکتهایی که میخواهند از این سیستم عامل در محصول خود استفاده کنند، باید بخش بزرگی از کد اندروید را برای هر بروزرسانی کامپایل کنند. بخشی از این کد باید توسط شرکتهای تولیدکننده تراشه و ماژول سختافزاری تأمین شود که بسیار زمانبر است.
متأسفانه گوگل تا قبل از این تلاشی برای آسان کردن سازگاری لایههای پایینتر سختافزاری کد با سیستم عامل نکرده بود و در نتیجه تمام کد باید از نو طراحی میشد. این کار مقدار زیادی زمان، آزمایش و هزینه به شرکتهای تولیدکننده تراشه و تولیدکنندگان دستگاهها تحمیل میکرد. پروژه تربل طراحی شده است تا این مشکل را با جداسازی فریمورک سیستم عامل اندروید از کدهای سختافزاری حل کند. به این ترتیب گوگل و سایر شرکتها میتوانند بدون نیاز به بازنویسی کد و کار اضافه روی لایههای پایین آن، سیستم عامل را بروزرسانی کنند.
البته تولیدکنندگان همچنان میتوانند قابلیتها و ویژگیهای جدید و اختصاصی خود را ارائه دهند. همانند گذشته ارائه این امکانات نیازمند زمان، هزینه و انجام آزمایشهای مختلف برای سازگاری کامل با سیستم عامل خواهد بود. در واقع پروژه تربل کار را برای تولیدکنندگان تراشه و سایر شرکتهای ثالث تأمینکننده کدهای سختافزاری آسان کرده است.
بروزرسانیهای جدید چطور کار میکنند؟
لازم است دوباره تأکید کنیم که اندروید یک سیستم عامل مبتنی بر لینوکس است. کرنل بخشی از سیستم عامل است که وظیفه مدیریت و برقراری ارتباط بین بخشهای مختلف سیستم عامل مانند ورودیها و خروجیها بهخصوص بین لایههای نرمافزاری و قطعات سختافزاری را بر عهده دارد. اگر اندروید بخواهد در نحوه انجام این وظایف توسط کرنل تغییری ایجاد کند، باید تغییرات جدی در عملکرد کرنل ایجاد کند.
اندروید روی کرنل لینوکس اجرا میشود. تمام عملیات مربوط به مدیریت حافظه، ورودی و خروجی، پردازشها، ارتباط شبکهای و ... به وسیله کرنل لینوکس صورت میپذیرد و هر نسخه جدید اندروید از نسخه جدیدی از کرنل لینوکس استفاده میکند.
برای حل مشکل موجود در لایه سختافزاری، در اندروید اوریو از یک روش جدید جهت فرموله کردن بخشبندی زیرسیستمهای سختافزاری مانند دوربین و صدا و مراجعهکننده مربوط به آن در نرمافزار استفاده شده است. این روش جدید یک رابط رسمی برای ارتباط بین HAL و استفادهکننده آن معرفی میکند. هماکنون حدود ۶۰ رابط اختصاصی برای سختافزارهای مختلف وجود دارد که تحت عنوان HIDL شناخه میشوند.
هدف از ایجاد HIDL این است که به فریمورک اندروید اجازه داده شود بدون نیاز به بازنویسی HAL، توسط فریمورک دیگری جایگزین شود. شرکتهای تولیدکننده تراشه HAL را برای تراشههای خود مینویسند و آن را در اختیار تولیدکنندگان قرار میدهند و برای ارائه بروزرسانی جدید، نیازی به تغییر آنها وجود ندارد.
اتفاق مهم دیگری که بهتازگی افتاده، افزایش دوره پشتیبانی کرنل لینوکس از ۲ سال به ۶ سال برای پروژه تربل است. این نکته به معنای دوره زمانی طولانیتر برای ارائه بروزرسانیهای عمده مربوط به کرنل برای دستگاههای هوشمند است. تا پیش از این دستگاهها در بهترین حالت تا یک سال پس از تولید، این بروزرسانیها را دریافت میکردند.
همانطور که احتمالا تاکنون متوجه شدید، منتقل شدن به پروژه تربل هم در بخش تولیدکنندگان دستگاههای هوشمند و هم در بخش مربوط به سازندگان تراشه و ماژول سختافزاری نیاز به کار دارد. پس از اعمال تغییرات جدید در قیمتهای مرتبط با سختافزار، تولیدکنندگان میتوانند نسخه جدید اندروید را تنها با بروزرسانی فریمورک جدید روی دستگاههای خود نصب کنند.
نکته جالبی که گوگل در مستندات خود به آن اشاره کرده این است که پروژه تربل در تمام دستگاههایی مجهز به اندروید اوریو یا نسخههای بعدی ارائه خواهد شد. یعنی دستگاههایی که اندروید اوریو را بهصورت بروزرسانی از نوقا دریافت میکنند ممکن از با تربل سازگار نباشند. قبلا خبر عدم سازگاری وانپلاس ۵ تی را که با اندروید نوقا معرفی شد دریافت کرده بودیم. اما با این وجود گوشیهای پیکسل نسل اول با دریافت بروزرسانی اندروید اوریو، تربل را نیز دریافت خواهند کرد.
پروژه تربل امینت گوشیهای اندروید را بهبود میبخشد
یک خبر خوب دیگر: اندروید اوریو به واسطه پروژه تربل بسیار امنتر خواهد شد؛ چرا که پس از آن دستگاههای اندرویدی سریعتر بروزرسانیها را دریافت خواهند کرد.
دستگاههایی که با اندروید پیشفرض اوریو به بازار عرضه میشوند باید بهطور کامل از پروژه تربل پشتیبانی کنند. تولیدکنندگان دستگاههای اندرویدی باید حتما کدهای خود را با قابلیت جدید و کدهای ارائهشده توسط سازندگان تراشهها تطبیق دهند. در اندروید ۸، رابط کاربری سختافزاری جدید توسط Vendor Test Suit مورد آزمایش قرار میگیرد تا از تطبیق کامل سیستم عامل با تنظیمات جدید سختافزاری اطمینان حاصل شود.
پروژه تربل به معنی این نیست که تمام دستگاهها بروزرسانیها را بهصورت آنی دریافت میکنند. همانند گذشته شرکتهای تولیدکننده وظیفه ارائه بروزرسانی را برعهده دارند و گوگل مسئولیتی در این زمینه ندارد. شرکتهای تولیدکننده همانند گذشته اجازه دارند تغییرات و بهبودهای دلخواه خود را در اندروید اعمال کنند، ظاهر آن را تغییر دهند و برنامههای پیشفرض روی دستگاههای خود نصب کنند. بنابراین ارائه بروزرسانی همچنان نیاز به کار و انجام آزمایشهای پایداری دارد. اما با حل مشکل ارتباط لایههای سختافزاری، بخش عمدهای از این زمان حذف شده است.
پیامدهای پروژه تربل
از دیدگاه کاربران چیز زیادی تغییر نمیکند. بروزرسانیهای سیستم عامل از همان طریقی به دست آنها میرسد که قبلا میرسید. فقط زمان نصب آن اندکی کوتاهتر میشود و مدت زمان پشتیبانی از گوشی هوشمند افزایش مییابد.
پروژه تربل تأثیر هیجانانگیزی هم بر نسخههای سفارشیشده اندروید میگذارد. از آنجایی که هماهنگسازی بخشهای نرمافزاری اندروید با سختافزار سادهتر میشود، ارائه نسخههای سفارشی این سیستمعامل برای دستگاههای مختلف آسانتر میشود. اگر قبلا ارائه یک نسخه سفارشی چند هفته زمان میبرد، حالا این زمان به چند روز یا حتی چند ساعت کاهش پیدا میکند. یکی از کاربران سایت XDA (فروم تخصصی ارائه نسخههای سفارشی اندروید) توانسته است اوریو را روی گوشی هواوی میت ۹ اجرا کند؛ درحالیکه نسخه اندروید نوقا برای آن وجود ندارد! توسعهدهندگان دیگری نیز نشان دادهاند که یک ایمیج اندروید را میتوان روی دستگاههای مختلف با پردازندههای متفاوت نصب و اجرا کرد؛ یعنی همانند ویندوز که میتوان آن را با اندکی تلاش (نصب درایورها) روی هر کامپیوتری نصب کرد. البته باید اشاره کنیم در حال حاضر هدف پروژه تربل این نیست!
جمعبندی
پروژه تربل حرکت قابل تقدیری است؛ اما باید بدانیم که محدودیتهای خاص خود را دارد. اولین نکته این است که همچنان ارائهدهنده بروزرسانیها برای دستگاههای اندروید، گوگل نخواهد بود. همانند گذشته این تولیدکنندگان هستند که وظیفه کامپایل و ارائه بروزرسانیها برای دستگاههای خود را بر عهده دارند و گوگل تنها کار آنها را ساده کرده است. اما به هر حال شرکتهای سامسونگ، هواوی، الجی و سایر تولیدکنندگان احتمالا نمیتوانند به سرعتی که گوگل بروزرسانیهای پیکسل را ارائه میدهد دستگاههای خود را بهروز کنند.
نکته دوم این است که سازگاری با پروژه تربل تنها برای دستگاههایی الزامی است که بهصورت پیشفرض روی آنها اندروید ۸ یا بالاتر نصب میشود. پشتیبانی از تربل در دستگاههایی که اوریو را بهصورت بروزرسانی از نوقا دریافت میکنند بستگی به تصمیم شرکت تولیدکننده دارد. بنابراین باید منتظر بمانیم تا ببینیم کدام شرکتها این امکان را برای دستگاههای فعلی خود ارائه میدهند. متأسفانه ارائه نسخههای سفارشی وابسته همین موضوع است؛ چرا که توسعهدهندگان آزاد دسترسی به کدهای سختافزاری ندارند و نمیتوانند بهصورت مستقل این امکان را روی دستگاهها پیاده کنند.
اگر به دنبال گوشی هوشمندی میگردید که در حال حاضر پروژه تربل را پشتیبانی میکنند، باید بگوییم سری پیکسل، اسنشال فون، میت ۹، میت ۱۰، آنر ۹ و آنر ۱۰ پرو هواوی گزینههای مطرح برای شما هستند. هنوز مشخص نیست کدام تولیدکنندگان به این لیست اضافه خواهند شد؛ اما قطعا گوشیهایی که از این پس با اندروید اوریو عرضه شوند این امکان را پشتیبانی خواهند کرد. به نظر میرسد روزهای خوبی برای اندروید در پیش است.