انتشار پلتفرم باز webOS Open Source Edition 2.14 منتشر شده است که می تواند در دستگاه های قابل حمل مختلف، بردها و سیستم های اطلاعات سرگرمی خودرو استفاده شود. بردهای Raspberry Pi 4 بهعنوان پلتفرم سختافزار مرجع در نظر گرفته میشوند. این پلتفرم در یک مخزن عمومی تحت مجوز Apache 2.0 توسعهیافته است و توسعه توسط انجمن مدیریت میشود و از یک مدل مدیریت توسعه مشارکتی پیروی میکند.
پلتفرم webOS در ابتدا توسط Palm در سال 2008 توسعه یافت و در تلفن های هوشمند Palm Pre و Pixie استفاده شد. در سال 2020 و پس از تصاحب Palm، این پلتفرم به دست هیولت پاکارد رسید و پس از آن اچ پی سعی کرد از این پلتفرم در چاپگرها، تبلت ها، لپ تاپ ها و رایانه های شخصی خود استفاده کند. در سال 2012، HP انتقال webOS را به یک پروژه منبع باز مستقل اعلام کرد و در سال 2013 شروع به باز کردن کد منبع اجزای آن کرد. این پلتفرم در سال 2013 توسط الجی از Hewlett-Packard خریداری شد و اکنون در بیش از 70 میلیون تلویزیون الجی و دستگاههای مصرفکننده استفاده میشود. در سال 2018، پروژه webOS Open Source Edition تأسیس شد که از طریق آن الجی سعی کرد به مدل توسعه باز بازگردد، سایر شرکتکنندگان را جذب کند و دامنه دستگاههای پشتیبانی شده در webOS را گسترش دهد.
محیط سیستم webOS با استفاده از بسته های ابزار OpenEmbedded و بسته های پایه و همچنین سیستم ساخت و مجموعه ابرداده از پروژه Yocto شکل گرفته است. اجزای کلیدی webOS عبارتند از مدیر سیستم و برنامه (SAM، System and Application Manager) که مسئول اجرای برنامه ها و خدمات است و Luna Surface Manager (LSM) که رابط کاربری را تشکیل می دهد. کامپوننت ها با استفاده از چارچوب Qt و موتور مرورگر کرومیوم نوشته شده اند.
رندرینگ از طریق یک مدیر ترکیبی که از پروتکل Wayland استفاده می کند انجام می شود. برای توسعه برنامه های کاربردی سفارشی، استفاده از فناوری های وب (CSS، HTML5 و جاوا اسکریپت) و فریم ورک Enact مبتنی بر React پیشنهاد شده است، اما امکان ایجاد برنامه ها در C و C ++ با رابط مبتنی بر Qt نیز وجود دارد. رابط کاربری و برنامه های گرافیکی تعبیه شده عمدتاً به عنوان برنامه های بومی که با استفاده از فناوری QML نوشته شده اند پیاده سازی می شوند. به طور پیش فرض، Home Launcher ارائه می شود که برای عملکرد صفحه لمسی بهینه شده است و مفهوم نقشه های متوالی (به جای ویندوز) را ارائه می دهد.
برای ذخیره سازی داده ها به شکل ساختاریافته با استفاده از فرمت JSON، از ذخیره سازی DB8 استفاده می شود که از پایگاه داده LevelDB به عنوان backend استفاده می کند. برای مقداردهی اولیه از بوت بر اساس systemd استفاده می شود. زیرسیستمهای uMediaServer و Media Display Controller (MDC) برای پردازش محتوای چندرسانهای ارائه میشوند، PulseAudio به عنوان سرور صدا استفاده میشود. برای به روز رسانی خودکار سیستم عامل، از OSTree و جایگزینی پارتیشن اتمی استفاده می شود (دو پارتیشن سیستم ایجاد می شود که یکی از آنها فعال است و دومی برای کپی کردن به روز رسانی استفاده می شود).
تغییرات اصلی در نسخه جدید:
- نمونه برنامه های پیش فرض شامل یک برنامه دوربین است. این برنامه قابلیت های اولیه ای را برای گرفتن عکس و فیلم برداری ارائه می دهد و می تواند به عنوان پایه ای برای توسعه برنامه های پیشرفته دوربین استفاده شود.
- انتقالی به تشکیل مجموعههای 64 بیتی، از جمله مجموعههایی برای برد Raspberry Pi 4 (rpi4-64) و شبیهساز (qemux86) انجام شده است. پشتیبانی از 32 بیلد منسوخ شده است.
- افزونهای برای ویرایشگر کد منبع باز Visual Studio Code پیشنهاد شده است که توسعه برنامههای کاربردی وب مخصوص webOS، برنامههای Enact و سرویسهای جاوا اسکریپت را ساده میکند.
- سرویس پاسخگویی زودهنگام به حافظه کم در سیستم systemd-oomd فعال شده است که امکان تشخیص شروع تاخیرهای ناشی از کمبود منابع و خاتمه انتخابی فرآیندهای پرمصرف منابع را در مرحله ای که سیستم هنوز وارد نشده است را ممکن می سازد. یک حالت بحرانی است و به شدت شروع به برش کش و حذف داده ها برای تعویض پارتیشن نمی کند.
- در Network Manager، سرویس wpa-supplicant در مونتاژهای بردهای Raspberry Pi 4 راه اندازی شده است.
- فایل های اجرایی occlientbasicops و ocserverbasicops برای شبیه ساز به اسمبلی اضافه شده اند و قوانین udev برای ماژول LGE UWB به روز شده است.
- مولفه g-camera-pipeline عملکردهای مرتبط با ضبط صدا را بهبود بخشیده است.
- موتور مرورگر به Chromium 91 به روز شده است.
- اجزای پلتفرم لینوکس جاسازی شده Yocto برای انتشار نسخه 3.1 به روز شده است.
- Memory Manager پردازش سیگنال D-Bus را پیاده سازی می کند.
علاوه بر این، میتوانیم پروژه OpenLGTV را یادداشت کنیم، که در آن کار برای مهندسی معکوس سیستمافزار تلویزیونهای LG به منظور گسترش عملکرد، حذف خطاها و تأیید انطباق با مجوزهای کپیلفت هنگام استفاده از اجزای باز در سیستمافزار (سیستمافزار نیمه باز) در حال انجام است. این پروژه جعبه ابزار epk2extract را برای استخراج و رمزگشایی سفتافزار و دادههای مختلف از تلویزیونهای LG، Hisense، Sharp، Philips/TPV و Thompson و همچنین یک مخزن بستههای webOS Brew و یک جعبه ابزار برای دریافت حقوق ریشه در تلویزیون (RootMyTV) توسعه میدهد. . این پروژه محیطهای مونتاژی را برای ایجاد تصاویر سیستم برای تلویزیونهای مبتنی بر بردهای LG NC4 و LG115x و سیستمافزار اصلاحشده قدیمی برای تلویزیونهای Saturn S6، Saturn S7 و LG 2010 و 2011 بر اساس تراشههای Broadcom ارائه میکند.
منبع: opennet.ru