پس از یک سال و نیم توسعه، چهارمین نسخه آزمایشی سیستم عامل هایکو R1 منتشر شد. در ابتدا، این پروژه به عنوان واکنشی به بسته شدن سیستم عامل BeOS ایجاد شد و با نام OpenBeOS توسعه یافت، اما در سال 2004 به دلیل ادعاهای مربوط به استفاده از علامت تجاری BeOS در نام تغییر نام داد. چندین تصویر زنده قابل بوت (x86، x86-64) برای ارزیابی عملکرد نسخه جدید آماده شده است. کد منبع اکثر سیستمعامل هایکو تحت مجوز رایگان MIT توزیع میشود، به استثنای برخی از کتابخانهها، کدکهای رسانهای و اجزای قرضگرفتهشده از پروژههای دیگر.
سیستمعامل Haiku بر روی رایانههای شخصی متمرکز است، از هسته خود استفاده میکند، که بر اساس معماری ماژولار ساخته شده است، بهینهسازی شده برای پاسخگویی بالا به اقدامات کاربر و اجرای کارآمد برنامههای چند رشتهای. برای توسعه دهندگان، یک API شی گرا ارائه شده است. این سیستم مستقیماً مبتنی بر فناوری های BeOS 5 است و هدف آن سازگاری باینری با برنامه های کاربردی این سیستم عامل است. حداقل سخت افزار مورد نیاز: پردازنده Pentium II و 384 مگابایت رم (اینتل Core i3 و 2 گیگابایت رم توصیه می شود).
OpenBFS به عنوان یک سیستم فایل استفاده می شود که از ویژگی های فایل توسعه یافته، ژورنال، اشاره گرهای 64 بیتی، پشتیبانی از ذخیره تگ های متا (برای هر فایل، می توانید ویژگی ها را به شکل key=value ذخیره کنید، که سیستم فایل را شبیه به پایگاه داده) و نمایه های ویژه برای سرعت بخشیدن به بازیابی توسط آنها. درخت های B+ برای سازماندهی ساختار دایرکتوری استفاده می شوند. از کد BeOS، هایکو شامل مدیر فایل Tracker و Deskbar است که پس از خروج BeOS از صحنه، منبع باز شدند.
نوآوری های اصلی:
- عملکرد بهبود یافته در صفحه نمایش با تراکم پیکسلی بالا (HiDPI). مقیاس بندی صحیح رابط پیاده سازی شده، محدود به تغییر اندازه فونت ها نیست. در اولین راهاندازی، هایکو اکنون سعی میکند به طور خودکار تشخیص دهد که آیا صفحه HiDPI دارد و ابعاد مناسب را برای مقیاسبندی انتخاب کند. گزینه های انتخاب شده را می توان در تنظیمات تغییر داد، اما همچنان برای اعمال به راه اندازی مجدد نیاز دارند. گزینه های زوم در اکثر برنامه های بومی و برخی پورت ها پشتیبانی می شوند، اما نه همه.
- امکان استفاده از یک ظاهر با دکوراتور پنجره مسطح و یک ظاهر طراحی دکمه تخت، به جای طرحی که به شدت از شیب استفاده میکند، ارائه شده است. طراحی تخت همراه با بسته هایکو Extras ارائه می شود و در قسمت تنظیمات ظاهری فعال می شود.
- یک لایه برای اطمینان از سازگاری با کتابخانه Xlib اضافه شده است که به شما امکان می دهد برنامه های X11 را در هایکو بدون اجرای سرور X اجرا کنید. این لایه با شبیه سازی توابع Xlib با ترجمه تماس ها به API گرافیکی سطح بالای هایکو پیاده سازی می شود.
- لایه ای برای اطمینان از سازگاری با Wayland آماده شده است که به شما امکان می دهد جعبه ابزار و برنامه ها را با استفاده از این پروتکل اجرا کنید، از جمله برنامه های کاربردی مبتنی بر کتابخانه GTK. این لایه کتابخانه libwayland-client.so را بر اساس کد libwayland و در سطح API و ABI سازگار است که به شما امکان می دهد برنامه های Wayland را بدون تغییر اجرا کنید. برخلاف سرورهای مرکب معمولی Wayland، این لایه به عنوان یک فرآیند سرور جداگانه اجرا نمی شود، بلکه به عنوان یک افزونه برای فرآیندهای مشتری بارگذاری می شود. به جای سوکت، سرور از یک حلقه پیام بومی مبتنی بر BLooper استفاده می کند.
- به لطف لایههای سازگاری با X11 و Wayland، ما توانستیم یک پورت کاری از کتابخانه GTK3 آماده کنیم. از برنامههایی که میتوان با استفاده از پورت راهاندازی کرد، GIMP، Inkscape، Epiphany (GNOME Web)، Claws-mail، AbiWord و HandBrake ذکر شدهاند.
- یک پورت کار با Wine اضافه شده است که می تواند برای اجرای برنامه های ویندوز در هایکو استفاده شود. از محدودیت ها، توانایی اجرای تنها در ساخت های 64 بیتی هایکو و قابلیت اجرای تنها برنامه های ویندوز 64 بیتی اشاره شده است.
- پورتی از ویرایشگر متن گنو Emacs اضافه شد که در حالت گرافیکی کار می کند. بسته ها در مخزن HaikuDepot میزبانی می شوند.
- پشتیبانی از تولید و نمایش ریز عکسها به مدیر فایل Tracker اضافه شده است. ریز عکسها در ویژگی های فایل توسعه یافته ذخیره می شوند.
- لایه پیاده سازی شده برای سازگاری با درایورهای FreeBSD. درایورها را از FreeBSD برای پشتیبانی از آداپتورهای USB بی سیم Realtek (RTL) و Ralink (RA) منتقل کرد. از محدودیت ها، نیاز به اتصال دستگاه قبل از بوت شدن ذکر شده است (پس از بوت شدن، دستگاه شناسایی نمی شود).
- پشته بی سیم 802.11 از OpenBSD با پشتیبانی 802.11ac و درایورهای iwm و iwx با پشتیبانی از آداپتورهای بی سیم "Dual Band" و "AX" اینتل.
- یک درایور USB-RNDIS اضافه شده است که به شما امکان می دهد عملکرد یک نقطه دسترسی را از طریق USB (اتصال USB) برای استفاده به عنوان کارت شبکه مجازی سازماندهی کنید.
- یک درایور جدید NTFS بر اساس یک کتابخانه از پروژه NTFS-3G اضافه شد. پیاده سازی جدید پایدارتر است، از یکپارچه سازی لایه ذخیره فایل پشتیبانی می کند و عملکرد خوبی را ارائه می دهد.
- اضافه شدن مترجم برای خواندن و نوشتن تصاویر با فرمت AVIF.
- موتور مرورگر HaikuWebKit با نسخه فعلی WebKit همگام شده و به پشتیبان شبکه مبتنی بر کتابخانه cURL منتقل می شود.
- پشتیبانی از سیستم های 32 بیتی با EFI به بوت لودر اضافه شده و امکان نصب محیط هایکو 64 بیتی از بوت لودر 32 بیتی EFI فراهم شده است.
- سازگاری بهبود یافته با استانداردهای POSIX. جایگزینی مداوم تماسها با کتابخانه استاندارد C، که قبلاً از glibc منتقل شده بود، به انواعی از musl. پشتیبانی از جریان های C11 و متدهای locale_t اضافه شده است.
- درایور بهبود یافته برای درایوهای NVMe، پشتیبانی اضافه شده برای عملیات TRIM برای اطلاع رسانی درایو در مورد بلوک های آزاد شده.
- امکان ساخت هسته و درایورها با نسخه های جدید GCC (از جمله GCC 11) فراهم شده است، برای ساخت سیستم به دلیل اتصال به کدهای قدیمی، GCC 2.95 همچنان برای سازگاری با BeOS مورد نیاز است.
- کارهای کلی برای بهبود پایداری کل سیستم انجام شده است.
منبع: opennet.ru