حتماً جمله ی معروف «بیرون از جعبه فکر کن!» به گوشتان خورده است. یک سیستم عامل جدید که به زبان راست (به انگلیسی: Rust) نوشته شده است، مصداق تفکر توسعه دهندگانی است که خارج از جعبه ی لینوکس فکر کرده اند!
زبان برنامه نویسی راست که از طرف شرکت موزیلا (به انگلیسی: Mozilla) پشتیبانی می شود، به عنوان گزینه ای مطرح شده است که طی آن بتوان انواع نرمافزارها را با سرعت زیاد و به صورت امن، طراحی کرد. از جمله ی این نرمافزارها میتوان به یک سیستم عامل جامع اشاره نمود.
طی چند ماه اخیر، گروهی از برنامه نویسان مشغول توسعه ی سیستم عاملی به نام ردوکس (به انگلیسی: Redox) با استفاده از زبان برنامه نویسی راست بوده اند.طراحی این سیستم عامل که شبیه به یونیکس می باشد، با این ایده آغاز شد که باید گنو/لینوکس را مجدداً از ابتدا برنامه نویسی کرد.
در ردوکس از زبان راست برای برنامه نویسی در سطح کرنل استفاده شده است. بدین ترتیب، زبان راست، نسبت به زبان برنامه نویسی سی (به انگلیسی: C)، امنیت حافظه ای بیشتری برای ردوکس فراهم کرده است. هدف این پروژه فقط بازنویسی مجدد گنو/لینوکس با یک زبان جدید نبوده است! بلکه سعی شده است تا جایی که میشود بازسازی و اصلاحات لازم هم صورت گیرد.
در داکیومنت های مربوط به این پروژه ذکر شده است که ردوکس از حداقل سیستم کال ها (به انگلیسی: syscalls) استفاده می کند. این امر که به صورت عمدی در ردوکس انجام شده است، از مجموعه ی کوچیکتری از فراخوانی های سیستمی (نسبت به گنو/لینوکس) استفاده می کند تا از پدیده ی لگسی بلوت (به انگلیسی: legacy bloat) جلوگیری کند. این سیستم عامل همچنین از طراحی میکروکرنل در مقایسه با کرنل یکپارچه ی به کار رفته در گنو/لینوکس، بهره برده است.
در ردوکس، بسیاری از رفتارهای داخلی سیستم عامل، از ابتدا طراحی و برنامه نویسی شده اند. در یونیکس و گنو/لینوکس به هر آیتم به چشم یک فایل نگاه میشود در حالی که در ردوکس، با هر آیتم مشابه یک URL رفتار می شود. به این ترتیب، کنترل رخدادها سادهتر خواهد بود و همچنین برای اجرای سایر انتزاع ها، یک رفتار پایدارتر فراهم می شود.
به هر حال، هدف از طراحی و توسعه ی ردوکس، ایجاد یک سیستم عامل جایگزین برای گنو/لینوکس نبوده است! بلکه سعی کردهاند سیستم عاملی طراحی کنند که در طول زمان بتواند نرم افزارهای گنو/لینوکسی را به همان شکلی که هستند، پشتیبانی کند. در حال حاضر هم، ردوکس از بسیاری از دستورات رایج یونیکس و بالطبع گنو/لینوکس پشتیبانی می کند.
یکی از نکات قابل توجه این است که پروژه ی ردوکس تحت لیسانس ام آی تی (به انگلیسی: MIT-Licensed) قرار دارد و نه جی پی ال (به انگلیسی: GPL)!
مسیر طولانی پیش رو
هر چند که فایلهای نصبی ردوکس را به آسانی میتوانید دانلود کرده و نصب کنید، پیشنهاد فیسیت این است که فعلاً گنو/لینوکس خود را به خاطر ردوکس کنار نگذارید!
مسلم است که ردوکس هنوز جواب آزمایش خود را پس نداده است و البته برخی از ویژگیهای آن هنوز ناقص هستند و بسیاری از ویژگیهای دیگر گنو/لینوکس را هم ندارد. توسعه دهندگان این سیستم عامل همچنین که ردوکس هنوز سازگاری کامل با پوزیکس (به انگلیسی: Posix) را ندارد چون این سیستم عامل مانع از اجرای بسیاری از سیستم کال های یونیکسی می شود. نتیجه ی این عدم سازگاری این است که بسیاری از نرم افزارهای موجود گنو/لینوکسی، برای اجرا در ردوکس، احتیاج به یک لایه ی پشتیبانی جانبی دارند.
گنو/لینوکس را به این راحتی ها نمیشود کنار گذاشت! سالهای زیادی برای توسعه ی دنیای گنو/لینوکس صرف شده و هزاران نفر از سراسر دنیا در این زمینه کار کردهاند تا بالاخره محیطی مبتنی بر زبان سی را تحویل جامعه دهند. در مقابل، زبان برنامه نویسی راست، علیرغم مزیتهای زیادی که نسبت به سی دارد، هنوز در شروع کار خود قرار دارد و تازه به حدی از ثبات رسیده است که بتوان با آن پروژه های بزرگی تعریف و پیادهسازی نمود.
با این وجود، پروژه ای مثل ردوکس، از جمله پروژه های ارزشمند شناخته می شود. اگر ردوکس بتواند طبق ادعاهایی که داشته است، طراحی امن تری را ارائه دهد، و بهتر از گنو/لینوکس عمل کند، آینده ی درخشانی خواهد داشت!
موزیلا از زبان برنامه نویسی راست به عنوان زبانی در زمینه ی اینترنت اشیاء نام برده است، و پروژه ی ردوکس میتواند آغازگر پروژه های دیگری در این حوزه باشد.
اگر گنو/لینوکس قرار است در جامعه جا بیفتد (شواهد اینطور نشان می دهد!)، بهتر است سعی بر آن باشد که بهتر از قبل شود. پروژه ی ردوکس هم ب نظر میرسد یکی از این راه هاست.
منبع خبر: infoworld
ثبت نظر