انتشار سیستم عامل Redox OS 0.7 که به زبان Rust نوشته شده است

پس از یک سال و نیم توسعه، انتشار سیستم عامل Redox 0.7 که با استفاده از زبان Rust و مفهوم میکروکرنل توسعه یافته است، منتشر شد. توسعه های پروژه تحت مجوز رایگان MIT توزیع می شود. برای تست Redox OS، نصب و تصاویر زنده با حجم 75 مگابایت ارائه شده است. مجموعه ها برای معماری x86_64 تولید شده اند و برای سیستم هایی با UEFI و BIOS در دسترس هستند.

هنگام آماده سازی نسخه جدید، تمرکز اصلی بر روی اطمینان از کارکرد آن بر روی سخت افزار واقعی بود. نوآوری های اصلی:

  • بوت لودر کاملاً بازنویسی شده است که در آن کدهای بوت شدن در سیستم های با بایوس و UEFI یکپارچه شده و عمدتاً به زبان Rust نوشته شده است. تغییر بوت لودر به طور قابل توجهی دامنه سخت افزارهای پشتیبانی شده را افزایش داده است.
  • علاوه بر رفع اشکال، کارهایی در هسته برای بهبود عملکرد و گسترش پشتیبانی سخت افزاری انجام شده است. متغیرهای خاص CPU برای استفاده از ثبات GS تبدیل شده اند. بازتاب (نقشه برداری) تمام حافظه فیزیکی ارائه شده است، استفاده از صفحات حافظه بازگشتی متوقف می شود. کد اسمبلی در درج های درون خطی برای بهبود سازگاری با نسخه های کامپایلر آینده بازنویسی شده است.
  • پشتیبانی اولیه برای معماری AArch64 اضافه شد.
  • انتقال به پردازش تمام مسیرهای فایل در رمزگذاری UTF-8 انجام شده است.
  • کد کار با ACPI AML (ACPI Machine Language) مشخصات - uefi.org از هسته به فرآیند پس زمینه acpid در حال اجرا در فضای کاربر منتقل شده است.
  • محتویات Initfs به یک فایل جدید منتقل شده اند و تولید بسته ها را آسان تر می کند.
  • سیستم فایل RedoxFS بازنویسی شده و با استفاده از مکانیزم CoW (کپی روی نوشتن) تغییر کرده است، که در آن تغییرات اطلاعات را بازنویسی نمی‌کنند، اما در مکان جدیدی ذخیره می‌شوند که قابلیت اطمینان را به‌طور قابل‌توجهی بهبود بخشیده است. ویژگی های جدید RedoxFS شامل پشتیبانی از به روز رسانی تراکنش ها، رمزگذاری داده ها با استفاده از الگوریتم AES و همچنین احراز هویت داده ها و ابرداده ها با امضای دیجیتال است. اشتراک گذاری کد FS در سیستم و بوت لودر تضمین شده است.
  • بهبود کتابخانه استاندارد C Relibc توسعه یافته توسط این پروژه، که قادر به کار نه تنها در Redox، بلکه همچنین در توزیع های مبتنی بر هسته لینوکس است، ادامه یافته است. تغییرات، پورت کردن برنامه‌های مختلف به Redox را آسان‌تر کرد و مشکلات بسیاری از برنامه‌ها و کتابخانه‌های نوشته شده به زبان C را حل کرد.
  • نسخه ای از کامپایلر rustc آماده شده است که می تواند در Redox اجرا شود. وظایف باقی مانده شامل بهینه سازی عملکرد و تطبیق مدیر بسته محموله برای کار در محیط Redox است.

انتشار سیستم عامل Redox OS 0.7 که به زبان Rust نوشته شده است

سیستم عامل مطابق با فلسفه یونیکس توسعه یافته است و برخی از ایده ها را از SeL4، Minix و Plan 9 به عاریت گرفته است. Redox از مفهوم میکروکرنل استفاده می کند که در آن فقط تعامل بین فرآیندها و مدیریت منابع در سطح هسته ارائه می شود و همه موارد دیگر. قابلیت در کتابخانه‌هایی قرار می‌گیرد که می‌توانند هم از هسته و هم از برنامه‌های کاربر استفاده کنند. همه درایورها در فضای کاربر در محیط های sandbox ایزوله اجرا می شوند. برای سازگاری با برنامه های موجود، یک لایه POSIX ویژه ارائه شده است که به شما امکان می دهد بسیاری از برنامه ها را بدون پورت اجرا کنید.

این سیستم از اصل "همه چیز یک URL است" استفاده می کند. به عنوان مثال، URL "log://" را می توان برای ورود به سیستم، "bus://" برای تعامل بین فرآیندها، "tcp://" برای تعامل شبکه و غیره استفاده کرد. ماژول‌هایی که می‌توانند در قالب درایورها، پسوندهای هسته و برنامه‌های کاربردی کاربر پیاده‌سازی شوند، می‌توانند مدیریت کننده‌های URL خود را ثبت کنند، برای مثال، می‌توانید یک ماژول دسترسی پورت I/O بنویسید و آن را به URL "port_io://" متصل کنید. "، پس از آن می توانید با باز کردن URL "port_io://60" از آن برای دسترسی به پورت 60 استفاده کنید.

محیط کاربری در Redox بر اساس پوسته گرافیکی خود Orbital (نباید با پوسته Orbital دیگری که از Qt و Wayland استفاده می کند اشتباه گرفته شود) و جعبه ابزار OrbTk ساخته شده است که یک API مشابه Flutter، React و Redux ارائه می دهد. Netsurf به عنوان یک مرورگر وب استفاده می شود. این پروژه همچنین در حال توسعه مدیریت بسته خود، مجموعه ای از ابزارهای استاندارد (binutils، coreutils، netutils، extrautils)، پوسته فرمان یون، کتابخانه استاندارد C relibc، ویرایشگر متنی شبیه به vim، یک پشته شبکه و یک فایل است. سیستم. تنظیمات به زبان Toml تنظیم شده است.

منبع: opennet.ru

اضافه کردن نظر