پروژه LimonOS: ساخت یک سیستمعامل مونولیتیک سفارشی برای معماری x86-64 از صفر — LimonOS Custom x86-64 Kernel
خلاصه
پروژه LimonOS یک هسته سیستمعامل ۶۴ بیتی مونولیتیک است که با زبان C و اسمبلی برای معماری x86-64 توسعه داده شده است. این پروژه جذاب دارای محیط گرافیکی، پشته شبکه کامل با قابلیت TLS 1.3 و یک مرورگر وب متنی است.
پروژه LimonOS یک سیستمعامل سفارشی و تجربی است که از صفر و برای معماری پردازندههای x86-64 توسعه داده میشود. هدف این پروژه ساخت یک هسته مونولیتیک مستقل است که به شکل آموزشی و تجربی، قابلیتهایی نظیر مديريت حافظه، راهاندازهای سختافزاری، پشته شبکه و حتی یک محیط دسکتاپ گرافیکی را پیادهسازی میکند.
پسزمینه و انگیزه توسعه
توسعه سیستمعاملهای سفارشی (OSdev) یکی از چالشبرانگیزترین حوزهها در علوم کامپیوتر است. این پروژه توسط AnonimusShamshiAlex دنبال میشود و با استفاده از ابزارهای مدرن مانند بوتلیدر Limine توانسته است روی سختافزارهای واقعی و ماشینهای مجازی نظیر QEMU و VirtualBox بوت شود. این پروژه در جوهره خود تلاشی برای درک عمیق لایههای زیرین سختافزار، از مدیریت وقفه (Interrupts) گرفته تا پشتههای پروتکل شبکه است.
جزئیات فنی و معماری
هسته این سیستمعامل عمدتاً با زبان C و کدهای اسمبلی نوشته شده و ویژگیهای فنی جالب توجهی دارد:
- پشته شبکه و TLS 1.3: این سیستمعامل دارای پشته شبکه اختصاصی شامل ARP، IP، ICMP، UDP، DHCP و DNS است. جالبتر اینکه پروتکل امنیتی TLS 1.3 (شامل الگوریتمهای SHA-256، HKDF، AES-128-GCM و X25519) از صفر پیادهسازی شده است تا مرورگر داخلی بتواند درخواستهای HTTPS ارسال کند.
- مرورگر وب اختصاصی (Citrus): هسته شامل مرورگری به نام
citrusاست که از تجزیه HTML، استایلدهی CSS (انتخابگرها و ویژگیهای پایه)، کوکیها و مدیریت فرمها پشتیبانی میکند. - محیط گرافیکی و دسکتاپ: سیستم دارای یک محیط دسکتاپ با قابلیت مدیریت پنجرهها، نوار وظیفه، مدیریت ماوس و صفحهکلید (با پشتیبانی از زبانهای انگلیسی و روسی) و تمهای گرافیکی متعدد است.
- مدیریت حافظه و سختافزار: شامل مدیریت صفحة حافظه، پشته
kmalloc، درنایور کارت شبکه Intel e1000 و پشتیبانی از تایمرها و ساعت RTC.
نحوه راهاندازی و استفاده
اگر میخواهید این پروژه را روی لینوکس یا محیط WSL در ویندوز اجرا کنید، ابزارهایی نظیر build-essential، nasm، qemu-system-x86 و xorriso مورد نیاز هستند. دستورات اصلی شامل موارد زیر است:
make iso # ساخت ایمیج ایزوی سیستمعامل
make run # اجرا در ماشین مجازی QEMU با BIOS
make run-uefi # اجرا با پشتیبانی UEFI
در داخل محیط دسکتاپ، ترمینال داخلی امکان اجرای دستوراتی نظیر vine برای شبکه، sonar برای پینگ و citrus برای وبگردی را فراهم میکند.
سیگنالهای بلوغ و جایگاه در هکرنیوز
این پروژه در گیتهاب دارای ستارههای محدودی است و تحت مجوز GPL-3.0 منتشر شده است. کاربران هکرنیوز به جنبههای جالب این پروژه، از جمله طراحی تم گرافیکی تهاجمی و پیادهسازی پشتههای پیچیده مانند TLS در یک سیستمعامل دستساز واکنش مثبت نشان دادهاند. این پروژه برای مهندسانی که میخواهند از نزدیک با نحوه کارکرد درونی سیستمعاملها و پروتکلهای وب آشنا شوند، یک منبع یادگیری بسیار ارزشمند است.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل