Уто
Hobby Unix-подобная ОС с графическим оконным менеджером Windows и приложениями для X86 PCS с портом AARCH64 с работой AARCH64.

Демо | Особенности | Приложения | Порты | Как построить
На удерживании
Развитие Duckos в настоящее время приостановлено. Не стесняйтесь разжигать это и возиться с этим, хотя!
Попробуйте Duckos
Виртуализировать локально
Недавний релиз можно загрузить со страницы релизов. В качестве альтернативы, изображение диска последних Duckos может быть загружено из артефактов рабочего процесса Duckos Github. Затем это может быть виртуализировано или эмулировано с помощью QEMU или вашего программного обеспечения.
Эмулировать в браузере
В качестве альтернативы, благодаря проекту V86 от Copy, вы можете попробовать версию Duckos в вашем браузере. Это намного медленнее, работая на местном уровне, и у него нет копий портового программного обеспечения, как Doom . Вы можете попробовать это здесь!
Функции
- Window Manager / Compositor плюс The Themable View на основе инструментов пользовательского интерфейса для создания приложений
- Основной стек TCP/UDP через сетевой стек IP с розетками Unix и драйвером E -12000 Ethernet
- Звуковая поддержка звуковых карт AC97
- Многие порты программ, таких как Doom, такие коммунальные услуги, как GCC и библиотеки, такие как SDL
- Динамическое связывание и загрузка двоичных файлов
- Возможности отладки на борту, такие как Ptrace и профилировщик отбора проб
- Библиотека 3D -рендеринга программного обеспечения
- Работает на каком -то настоящем оборудовании
- Порт WIP AARCH64, который загружается мимо этапа 1 на Raspberry Pi 3B :)
Планы на будущее
- Завершите порт Aarch64
- Реконструировать систему IPC, чтобы быть более эффективной
- Лучший шрифт (векторные шрифты, разные размеры и т. Д.)
- самостоятельно
- Больше стабильности и скорости
- Лучшая реализация кэша файловых систем, которая может свободно память при необходимости, и периодически промывает записи
- Больше тестов модуля ядра и пользователей
- Лучшая документация ядра, библиотек и приложений
- Еще несколько инструментов отладки отладки и пользователей пользователя, поэтому мне не нужно часами тратить по колено в отладчике QEMU всякий раз, когда происходит сегфолт из-за простой ошибки, которой можно было бы избежать с некоторым дополнительным кофе в моей системе
- Многопроцессорная (многоядерная) поддержка
- Медленно переходите различные модули от ядра в пользовательский пространство (A La Microkernel)
- Добавить ржавчину в микс (?)
Услуги
Код для них можно найти в услугах.
- Init (/bin/init): система init для Duckos.
- Pond (/Bin/Pond): Window Manager/Compositor для Duckos.
- Кварта (/bin/Quack): звуковой сервер для Duckos.
- DHCP Client (/bin/dhcpclient): клиент DHCP для назначения IP -адреса.
Приложения
Код для них можно найти в программах/приложениях.
- Калькулятор (/apps/calculator.app): базовый калькулятор.
- Терминал (/apps/terminal.app): приложение терминала на основе Libui.
- Системный монитор (/apps/monitor.app): базовый системный монитор, показывающий использование памяти и процессора.
- 4 подряд (/apps/4inarow.app): базовая игра с четырьмя в кадре. Играйте с двумя игроками или против компьютера.
- Sandbar (/Bin/Sandbar): базовая «панель задач», которая отображает строку кнопок внизу экрана для запуска приложений.
- Files (/apps/files.app): рудиментарное приложение для обозревателя файлов.
- Viewer (apps/viewer.app): основной медиа -просмотр
- Lib3d Demo (Apps/3demo.App): демонстрация библиотеки LIB3D. Отображает куб по умолчанию; можно использовать для просмотра файлов OBJ.
- Editor (/apps/editor.app): базовое приложение для редактирования текстовых файлов.
- О (/Apps/about.app): показывает некоторую системную информацию.
- Ducksweper (/apps/ducksweeper.app): игра по предотвращению утки на основе сетки;)
CLI программы
Код для них можно найти в программах/coerutils. Наряду с обычными подозреваемыми, у Duckos есть:
- DSH (/bin/dsh): основная оболочка с поддержкой трубопроводов, перенаправлений и отзывов команд.
- Открыть (/bin/open): утилита для открытия файлов и приложений из командной строки, используя соответствующую программу.
- Play (/bin/play): воспроизводит аудиофайлы.
- Дата (/bin/date): показывает дату и время.
- Профиль (/bin/profile): профилируется работающее приложение и выводит совместимый с Flamegraph/SpeedScope файл.
- Вы можете запустить
scripts/debugd.py на хосте (с установленным SpeedScope) и передать параметр -r в профиль, чтобы отправить выход непосредственно на хост через сеть и открыть его в SpeedScope.
Программы, которые принимают аргументы, предоставят вам правильное использование, когда вы запускаете их без аргументов.
Библиотеки
- LIBC: Стандартная библиотека C.
- Либм: математическая часть стандартной библиотеки C.
- Libpond: библиотека, используемая для взаимодействия с менеджером / композитором пруда.
- Libgraphics: библиотека, которая предоставляет несколько утилит для работы с графикой, такой как загрузка формата изображений.
- Libui: рамка пользовательского интерфейса для приложений.
- libtui: структура для терминальных приложений.
- Либамм: основа для обработки терминалов.
- Libduck: библиотека, содержащая широко используемые классы и утилиты, такие как анализ аргументов и файлов конфигурации.
- Libriver: библиотека IPC, не отличающаяся от D-BUS, которая обеспечивает основу для удаленных вызовов функций и передачи данных.
- LIBAPP: библиотека, предоставляющая методы получения информации об установленных и запусках приложений.
- Libsys: предоставляет абстракции C ++ более высокого уровня для получения информации о системе, а именно от Procfs.
- LibSound: предоставляет структуру для аудио приложений и взаимодействие с сервером звука, Quack.
- LIB3D: обеспечивает базовую функцию 3D -рендеринга программного обеспечения.
- Libmatrix: предоставляет математические утилиты матрицы.
- LibExec: обеспечивает поддержку ELF.
- Libdebug: предоставляет функциональность отладки.
Порты
Порты могут быть установлены путем запуска портов. Требуемые зависимости также будут построены и установлены.
Некоторые из наиболее захватывающих портов:
- РОК
- Вам нужно будет предоставить свой собственный гибель и поместить его в каталог/apps/doom.app/. (См. Инструкции по сборке для более подробной информации.)
- Бинутильс
- GCC
- SDL2
- Кроме того, SDL2_GFX, SDL2_IMAGE и SDL2_TTF
Здание / бег
- Смотрите инструкции. МД для инструкций.
Внося
- См. Appling.md для получения информации о том, как внести свой вклад в Duckos.
Кредиты
- Blanham's Mircor of Liballoc 1.1 для реализации распределения кучи ядра (это открытый домен, поэтому, если вы хотите его использовать, я очень рекомендую его)
- Serenityos для большого вдохновения
- Gohufont для шрифта (лицензирован в рамках WTFPL)
Лицензия