Nightingale-это операционная система для X86_64, которую я разрабатываю в течение 7 лет, чтобы узнать о проектировании программирования и операционной системы низкого уровня.
Соловья реализует в основном Posix, похожий на пользователь, хотя соответствие не является целью. Я вижу Posix как полезный как хорошо понимаемый и документированный интерфейс, и тот, который позволяет совместимости с большим количеством существующего программного обеспечения.

Для получения более конкретной информации о функциях и возможностях см.
Nightingale использует систему сборки Cmake, и вы можете найти требования к пакетам в файлах рабочих процессов GitHub.
make в корне проекта../run.rb - его текст справки покажет доступные параметры doc : документацияinclude : файлы заголовков для всей системыinterface : определения интерфейса для Syscalls и значений Errnokernel : ядро операционной системыlibc : общие процедуры пользователя, включая такие вещи, как printflinker : загрузчик модуля ядра, динамический линкер пользователя и libelfscript : утилиты для строительства и развития соловьяtoolchain : файлы инструментов Cmakeuser : программы USERMODE в дереве, распределенные с системойbt.bash : удобная обертка вокруг addr2line для обратной передачиdump.bash : удобная обертка вокруг objdumpformat.bash : удобная обертка вокруг clang-formatmake.bash : двигатель Core Build для проектаrun.rb : удобная обертка вокруг qemu-system-x86_64Эти манифестные файлы определяют общедоступный интерфейс ядра Nightingale, они оказаны в перечислениях и метаданных, которые используются как ядром, так и библиотекой C.
ERRNOS : определяет значения errno , их имен и их струны perrorSYSCALLS : определяет числа, типы и аргументы Syscall