بازآفرینی کهنه‌ی یونیکس با زبان راست

هیچ‌گاه فلسفه سیستم‌عامل‌نویسی به اندازه امروز برای بازنگری بنیادین حیاتی نبوده است. دهه‌هاست که استاندارد سیستم عامل یونیکس ستون فقرات رایانه‌های مدرن را نگه داشته است، اما پیاده‌سازی‌های اولیه آن همچنان به زبان C وابسته‌اند. مدیریت حافظه دستی در زبان C سال‌هاست که بستر اصلی هزاران آسیب‌پذیری امنیتی فراهم کرده است. اینجاست که پروژه رداکس اواس به عنوان یک پاسخ جامعه‌محور وارد میدان می‌شود. این سیستم‌عامل با هدف حفظ روحیه کلاسیک یونیکس، تمام زیرساخت‌های خود را از نو با زبان برنامه‌نویسی راست بازسازی کرده است. توسعه‌دهندگان از سال 2015 فعالیت خود را پیش برده‌اند و تاکنون نسخه 0.9.0 را با وضعیت پیش‌پایداری منتشر کرده‌اند. تمایز اصلی رداکس تنها در انتخاب زبان راست خلاصه نمی‌شود، بلکه در یک چشم‌انداز معماری یکپارچه نهفته است. کرنل، درایورها و سرویس‌های کاربردی همگی با رعایت اصول ایمنی و جداسازی لایه‌ها طراحی شده‌اند.

معماری میکروکرنل طراحی‌شده برای امنیت

در قلب رداکس یک میکروکرنل قرار دارد که مستقیماً کرنل‌های یکپارچه Monolithic مانند کرنل لینوکس را هدف قرار می‌دهد. در این معماری تمام درایورها در فضای کاربر Userspace اجرا می‌شوند. این تغییر ساختاری باعث می‌شود خرابی یا نشتی در یک درایور به کل سیستم سرایت نکند و پایداری دستگاه به‌طور چشمگیری افزایش یابد. معماری میکروکرنل رداکس و جداسازی درایورها از هسته این پروژه خطوطی مستقیم از سیستم‌های پیشگام مانند پلان 9، مینیکس، SEL4، BSD و لینوکس به ارث برده است. توسعه‌دهندگان با ترکیب این میراث، سرویس‌های سیستم‌عاملی را از طریق مکانیزم Schemes ارائه می‌دهند. از آنجا که هسته و درایورها با راست نوشته شده‌اند، گارانتی‌های ایمنی حافظه در تمام لایه‌های نرم‌افزار اعمال می‌شود. طبق اعلام تیم فنی سطح حمله در رداکس بسیار کوچک‌تر از سیستم‌عامل‌های سنتی است. این ویژگی حاصل مینیمالیسم کرنل و بررسی‌های کامپایلر راست در زمان نگارش کد است. همچنین حمایت صندوق NGI Zero Commons روی قابلیت‌هایی مانند سیگنال‌های یونیکس‌پسند امنیت مبتنی بر Capability و ورودی/خروجی ناهمگام نشان‌دهنده افق روشن این پروژه در ترکیب معنای سنتی یونیکس با استانداردهای مدرن است.

عملکرد سریع بدون بار اضافی

امنیت در رداکس به قیمت کندی به دست نیامده است. توسعه‌دهندگان عملکرد ورودی/خروجی سریع و زمان بوت کوتاه را به‌عنوان ویژگی‌های کلیدی عرضه می‌کنند. ارقام خام کارایی گویای تمام قضیه است نسخه دسکتاپ با مصرف کمتر از 512 مگابایت رم فعالیت می‌کند و تصویر مینیمال آن زیر 50 مگابایت فضای ذخیره‌سازی را اشغال می‌نماید. این حداقل مصرف تصادفی نیست. رداکس از طریق یک فایل پیکربندی به فرمت TOML امکان سفارشی‌سازی دقیق را برای سازندگان فراهم می‌کند. کاربر می‌تواند بسته به نیاز خود پروسه بیلد سیستم را مینی‌موم کند. این سطح از انعطاف‌پذیری برای محیط‌های امبدد ماشین‌های مجازی یا هر کاربری که به سبک‌بودن سیستم‌عامل اهمیت می‌دهد یک مزیت رقابتی محسوب می‌شود. پیکربندی سبک رداکس اواس روی سخت‌افزارهای متنوع

ویژگی‌های کلیدی عملکرد

  • مصرف رم کمتر از 512 مگابایت در محیط دسکتاپ
  • حجم نصب‌شونده کمتر از 50 مگابایت برای حالت مینیمال
  • پیکربندی دقیق با فرمت TOML جهت کاهش پیکربندی‌های الزامی
  • بهینه‌سازی شده برای محیط‌های مجازی‌سازی و پروژه‌های امبدد

پشتیبانی سخت‌افزاری و ذخیره‌سازی پیشرفته

با وجود جوان بودن رداکس دامنه‌ی پوشش سخت‌افزاری قابل‌توجهی دارد. این سیستم‌عامل نودهای پردازشی اینتل و AMD ARM و RISC-V را به‌طور کامل پشتیبانی می‌کند و زیرساخت مجازی‌سازی مناسبی را نیز در خود جای داده است. سازگاری با کیبوردهای PS/2 و USB ماوس‌ها و تاچ‌پدها نیز بدون نیاز به درایورهای سنگین پیاده‌سازی شده است. در بخش ذخیره‌سازی رداکس امکان بوت از دستگاه‌های NVMe SATA IDE و USB را فراهم کرده است. برای کاربرانی که امنیت داده‌ها برایشان اولویت دارد پشتیبانی از رمزنگاری کامل دیسک Full Disk Encryption در زمان بوت تعبیه شده است. علاوه بر این پروژه یک سیستم‌فایل الهام‌گرفته از ZFS را در مسیر توسعه قرار داده که مفاهیم پیشرفته ذخیره‌سازی را به اکوسیستم راست می‌آورد. آینده سیستم‌عامل‌ها با نسل تازه‌ای از ابزارهای برنامه‌نویسی ایمن گره خورده است. رداکس اواس با ارائه نمونه‌ای عملی از این ترکیب نشان می‌دهد که بازیابی استانداردهای یونیکس در قرن حاضر نه تنها ممکن است بلکه ضروری نیز هست. پیشرفت پیوسته این پروژه در بستر جامعه متن‌باز احتمالاً الگویی جدید برای توسعه سیستم‌های پایدار و بدون نقص از نظر امنیتی ترسیم خواهد کرد.