Выпуск свободной операционной системы Visopsys 0.92

После двух лет разработки опубликован релиз визуальной операционной системы Visopsys 0.92 (VISual OPerating SYStem), разрабатываемой с 1997 года и не похожей на Windows и Unix. Код системы разработан с нуля и распространяется в исходных текстах под лицензией GPLv2. Загрузочный Live-образ занимает 23 МБ.

Графическая подсистема, при помощи которой формируется интерфейс пользователя, интегрирована прямо в ядро ОС, при этом поддерживается и работа в консольном режиме. Из файловых систем в режиме чтения/запись предлагаются FAT32, в режиме только для чтения дополнительно поддерживаются Ext2/3/4. В Visopsys реализована вытесняющая многозадачность, многопоточность, сетевой стек, динамическое связывание, поддержка асинхронного ввода/вывода и виртуальной памяти. Подготовлен типовой набор приложений и стандартных Си-библиотек. Ядро работает в 32-разрядном защищенном режиме и оформлено в массивно-монолитном стиле (все вкомпилировано, без поддержки модулей). Исполняемые файлы оформлены в стандартном формате ELF. Имеется встроенная поддержка изображений JPG, BMP и ICO.

В новом выпуске:

  • Добавлена поддержка 64-разрядных файловых систем EXT2/3/4 (в режиме чтения).
  • Проведена работа по переводу реализации многозадачности в ядре на программное переключение задач. В частности, реализована функция contextSwitch(), добавлен поток collector для очистки завершённых процессов, планировщик задач преобразован для работы в форме обработчика прерываний.
  • Расширены возможности текстового редактора “edit”, в котором появились элементы “New” и “Save As” в меню.
  • Добавлена оконная библиотека для создания диалогов “cancel”, отменяющих незавершённые операции. Например, данный диалог можно использовать для отмены очень долго устанавливаемых TCP-соединений.
  • В сниффер пакетов добавлена поддержка фильтров, отсеивающий определённый вид трафика (TCP, ARP и т.п.).
  • Добавлена программа errno для вывода сообщений, связанных с заданными кодами ошибок.
  • Обновлены используемые в ядре функции хэширования на базе алгоритма MD5. Программа md5 разделена на отдельные утилиты md5pass и md5sum для создания хэшей для строк и файлов.
  • Улучшено использование блокировок для структур ядра.
  • В стандартную библиотеку добавлена функция strndup(). Реализована глобальная таблица строк, ассоциированных с кодами ошибок.






Release. Ссылка here.