Soso — это простая unix-подобная операционная система, написанная на ассемблере Nasm и в основном на языке C. Она поддерживает мультизагрузку, поэтому запускается с помощью Grub.
Её можно собрать с использованием Nasm и Clang. Тестируемые среды сборки: Linux, FreeBSD.
Soso представляет собой 32-битную операционную систему x86 со следующими функциями: — многозадачность с процессами и потоками; — подкачка страниц; — разделение между kernelspace (работает в ring0) и userspace (работает в ring3); — виртуальная файловая система; — файловая система FAT32 с использованием FatFs; — системные вызовы; — Libc (Musl портирован с базовыми вызовами, такими как open, read и т. д.); — программы userspace в виде ELF-файлов; — поддержка mmap; — графика Framebuffer (доступна для userspace через mmap); — разделяемая память; — последовательный порт; — мышь PS/2; — Unix-сокеты; — драйвер TTY.
В Soso есть Libc, поэтому существующие приложения, зависящие только от Libc, могут быть легко перенесены на Soso. На Soso работают следующие приложения: — Nano-X (клиент/сервер); — Lua; — Doom.
Вы можете скачать образ компакт-диска (файл ISO) из раздела релизов и попробовать его в эмуляторе ПК, таком как QEMU. После запуска вы можете запустить «doom» и «lua» в окне терминала.
Чтобы попробовать Soso в QEMU, просто запустите:
qemu-system-i386 -cdrom soso.iso
Для сборки ядра просто запустите:
make
Это создаст только ядро (kernel.bin). Сборка бинарных файлов userspace будет описана позже.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )