۵ آبان ۱۴۰۵ github.com ۳ دقیقه مطالعه

پروژه LimonOS: ساخت یک سیستم‌عامل مونولیتیک سفارشی برای معماری x86-64 از صفر

پروژه 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 در یک سیستم‌عامل دست‌ساز واکنش مثبت نشان داده‌اند. این پروژه برای مهندسانی که می‌خواهند از نزدیک با نحوه کارکرد درونی سیستم‌عامل‌ها و پروتکل‌های وب آشنا شوند، یک منبع یادگیری بسیار ارزشمند است.

این مطلب به‌صورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل

این خبر را با دیگران به اشتراک بگذارید

خبرهای فناوری در قالب پست و ویدیوی کوتاه، در اینستاگرام هکرنیوز بلاگ. به‌زودی
هر خبر به محض انتشار، به‌همراه پادکست روزانه در کانال تلگرام هکرنیوز بلاگ.