Издаден е новият дял на Unix-подобната операционна система ToaruOS 2.0, създадена от нулата и осигуряваща собствено ядро, зареждач, стандартна C-библиотека, пакетен мениджър, компоненти на потребителското пространство и графичен интерфейс с композитен мениджър на прозорците. Кодът на проекта е написан на C и се разпространява под лицензия BSD. Подготвен е live образ с размер 14.4 MB, който може да бъде тестван в QEMU, VMware или VirtualBox.

Проектът стартира през 2010 година в Университета на Илинойс и първоначално се развиваше като изследователска работа в сферата на създаването на нови композитни графични интерфейси. От 2012 година разработката се трансформира в операционната система ToaruOS, развивана от общност, заинтересована в разработката. В текущото си състояние системата е оборудвана с композитен мениджър на прозорците, поддържа динамично свързани изпълними файлове във формат ELF, многозадачност, графичен стек и може да изпълнява Python 3 и GCC.
Ядрото на ToaruOS използва хибридна модулна архитектура, съчетаваща монолитна основа и средства за зареждане на модули, в които са оформени повечето налични драйвери за устройства, като драйвери за диск (PATA и ATAPI), файлови системи EXT2 и ISO9660, framebuffer, клавиатури, мишки, мрежови карти (AMD PCnet FAST, Realtek RTL8139 и Intel PRO/1000), звукови чипове (Intel AC'97) и добавки за VirtualBox за гостуващи системи. Ядрото поддържа Unix потоци, TTY, виртуални файлови системи, псевдо-файлова система /proc, многопоточност, IPC, ramdisk, ptrace, споделена памет, многозадачност и други стандартни възможности.
Като файлова система се прилага ext2. Зареждачът поддържа BIOS и EFI. Мрежовият стек позволява използването на сокет API в стил BSD-системи и поддържа мрежови интерфейси, включително loopback. За ToaruOS са портнати програми като Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, емулятор на Super Nintendo, Bochs и др. От собствените приложения се откроява редакторът на код Bim, подобен на Vi, който се използва вече няколко години за разработка на специфични приложения за ToaruOS, като файлов мениджър, емулятор на терминал, графична лента с поддръжка на джаджи, пакетен мениджър, както и библиотеки за поддръжка на изображения (PNG, JPEG) и TrueType шрифтове.
Проектът също така развива собствен динамичен език за програмиране Kuroko, предназначен да замени Python при разработката на инструменти и потребителски приложения за системата. Езикът по синтаксис прилича на Python (позиционира се като съкратен диалект на Python с ясна дефиниция на променливите) и се отличава с много компактна реализация. Поддържа компилация и интерпретация на байткод. Интерпретаторът на байткода предоставя събиране на боклук, поддържа многопоточност без глобална блокировка. Компилаторът и интерпретаторът могат да бъдат събрани във форма на малка споделена библиотека (~500КБ), интегрируема с други програми и разширяема чрез C API. Освен ToaruOS, езикът може да се използва в Linux, macOS, Windows и да се стартира в браузъри с поддръжка на WebAssembly.
В новия дял на ToaruOS:
- В ядрото Misaka е добавена функционалност, позволяваща реализирането на потребителски утилити top, strace, dbg, ping и cpuwidget.
- Разширени са възможностите на графичната библиотека, включително добавени са афинни преобразувания.
- Подобрен е работата на фреймворка за прозорци.
- Добавен е растеризатор на текст с поддръжка на формата TrueType.
- Добавена е библиотека за форматиране на текст с маркировка.
- Подобрен е зареждачът на BIOS, който разширява поддръжката на хардуерни конфигурации. Преправен е зареждачът на EFI. И в двата зареждача е добавена поддръжка за редактиране чрез командния ред на ядрото.
- Модернизирано оформление на панела. В уиджетите е добавена поддръжка на зареждаеми библиотеки, динамично разположение на елементите и нови изскачащи прозорци.
- Пренаписан е прегледникът, в който са добавени нови палитри.
- Добавена е нова реализация на калкулатора.
- В стандартната библиотека е добавена поддръжка на часови зони.
- Добавен е драйвер за чипсета Ensoniq ES1371, емулиран в VMware.
- В следващото значително издание 2.1 се очаква поддръжка на устройства AHCI, xHCI, USB HID. В клон 2.2 е планирано реализирането на поддръжка на архитектурата AArch64.



Източник: opennet.ru
