انتشار سیستم عامل ToaruOS 1.14 و زبان برنامه نویسی Kuroko 1.1

انتشار پروژه ToaruOS 1.14 با توسعه یک سیستم عامل یونیکس مانند که از ابتدا با هسته، بوت لودر، کتابخانه استاندارد C، مدیر بسته، اجزای فضای کاربر و یک رابط گرافیکی با یک مدیر پنجره ترکیبی نوشته شده است، در دسترس است. در مرحله فعلی توسعه، قابلیت های سیستم برای اجرای پایتون 3 و GCC کافی است. کد پروژه به زبان C نوشته شده و تحت مجوز BSD توزیع شده است. یک تصویر زنده با حجم 14 مگابایت برای دانلود آماده شده است که قابل تست در QEMU، VMware یا VirtualBox می باشد.

انتشار سیستم عامل ToaruOS 1.14 و زبان برنامه نویسی Kuroko 1.1

این پروژه در سال 2010 در دانشگاه ایلینوی آغاز شد و در ابتدا به عنوان کار تحقیقاتی در زمینه ایجاد رابط های گرافیکی ترکیبی جدید توسعه یافت. از سال 2012، این توسعه به سیستم عامل ToaruOS تبدیل شد، که در ابتدا به عنوان یک پروژه دانشجویی توسعه یافت، و سپس به یک سرگرمی آخر هفته تبدیل شد، که توسط جامعه ای که پیرامون پروژه تشکیل شده بود، انتخاب شد. در شکل فعلی، این سیستم به یک مدیر پنجره ترکیبی مجهز شده است، از فایل های اجرایی مرتبط به صورت پویا در قالب ELF، چند وظیفه ای، گرافیک و پشته های شبکه پشتیبانی می کند.

این بسته شامل یک پورت از زبان برنامه نویسی Python 3.6 است که در توسعه برخی از برنامه های گرافیکی خاص ToaruOS مانند مدیر بسته، ویرایشگر گرافیکی، نمایشگر PDF، ماشین حساب و بازی های ساده استفاده می شود. برنامه های شخص ثالثی که به ToaruOS منتقل می شوند عبارتند از Vim، GCC، Binutils، FreeType، MuPDF، SDL، Cairo، Doom، Quake، شبیه ساز Super Nintendo، Bochs و غیره.

ToaruOS مبتنی بر هسته‌ای است که از یک معماری مدولار ترکیبی استفاده می‌کند که چارچوب یکپارچه و ابزارهایی را برای استفاده از ماژول‌های قابل بارگذاری ترکیب می‌کند، که اکثر درایورهای دستگاه موجود، مانند درایورهای دیسک (PATA و ATAPI)، سیستم‌های فایل EXT2 و ISO9660، فریم‌بافر را تشکیل می‌دهد. ، صفحه کلید، ماوس، کارت شبکه (AMD PCnet FAST، Realtek RTL8139 و Intel PRO/1000)، تراشه‌های صدا (Intel AC'97)، و همچنین افزودنی‌های VirtualBox برای سیستم‌های مهمان.

اولیه های ارائه شده توسط هسته شامل رشته های یونیکس، TTY، سیستم فایل مجازی، چند رشته ای، IPC، حافظه مشترک، چند وظیفه ای و سایر ویژگی های استاندارد است. ext2 به عنوان سیستم فایل استفاده می شود. برای تعامل با هسته، یک پیاده سازی شبه FS/proc ارائه شده است که با قیاس با لینوکس ایجاد شده است.

برنامه های سال 2021 شامل کار بر روی معماری 64 بیتی x86-64 (در حال حاضر، مجموعه ها فقط برای سیستم های 32 بیتی x86 تولید می شوند) و پشتیبانی از سیستم های چند پردازنده ای (SMP) است. اهداف دیگر عبارتند از بهبود سازگاری با مشخصات POSIX در زمینه پردازش سیگنال و روش‌های همگام‌سازی، رساندن کتابخانه استاندارد C به سطح Newlib و پیاده‌سازی کامپایلر و ابزارهای توسعه زبان C خود.

این پروژه همچنین در حال توسعه زبان برنامه نویسی پویا خود به نام Kuroko است که برای جایگزینی پایتون در هنگام توسعه ابزارهای کاربردی و برنامه های کاربردی سفارشی برای سیستم طراحی شده است. این زبان از کامپایل و تفسیر بایت کد پشتیبانی می کند، نحو آن شبیه پایتون است (به عنوان یک گویش کوتاه شده پایتون با تعریف صریح متغیرها قرار گرفته است) و اجرای بسیار فشرده ای دارد. مفسر بایت کد جمع‌آوری زباله را فراهم می‌کند و از multithreading بدون استفاده از قفل جهانی پشتیبانی می‌کند. کامپایلر و مفسر را می توان در قالب یک کتابخانه مشترک کوچک (~500 کیلوبایت) کامپایل کرد که با برنامه های دیگر یکپارچه شده و از طریق C API قابل توسعه است. علاوه بر ToaruOS، این زبان را می توان در لینوکس، macOS، ویندوز استفاده کرد و در مرورگرهایی اجرا کرد که از WebAssembly پشتیبانی می کنند.

نسخه جدید ToaruOS بر توسعه کتابخانه استاندارد C و زبان برنامه نویسی Kuroko تمرکز داشت. به عنوان مثال، توابع ریاضی لازم برای محاسبه صحیح پارامترهای روشنایی در بازی Quake به libc اضافه شده است. قابلیت بوت شدن در VirtualBox در حالت EFI بهبود یافته است. اندازه تصویر iso با استفاده از فشرده سازی تصویر دیسک رم کاهش یافته است.

نسخه جدید زبان Kuroko 1.1 پشتیبانی از async و await را اضافه می کند، multithreading را پیاده سازی می کند، سازگاری با Python 3 را بهبود می بخشد، از تخصیص ارزش های متعدد پشتیبانی می کند، ابزارهای نوشتن کنترل کننده ها در زبان C را گسترش می دهد، پشتیبانی از حاشیه نویسی نوع توابع را اضافه می کند. کلیدواژه‌های «بازده» و «بازده از»، ماژول‌های os، dis، fileio و زمان یکپارچه شده‌اند، روش‌های جدیدی در str، list، dict و بایت‌ها پیاده‌سازی شده‌اند، پشتیبانی از پیش‌کامپایل در بایت کد اضافه شده است، مجوز به MIT تغییر کرده است (قبلا ترکیبی از MIT و ISC وجود داشت).

منبع: opennet.ru

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