┌─[nonos@] └──╼ | nonos-kernel | Управління пам'яттю та оновлення двійкового коду. Ядро перейшло на більш захищену систему, яку можна перевірити. Цей етап частково завершує архітектурну трансформацію його підсистеми пам'яті, двійкової структури та загальної цілісності збірки. Ядро тепер компілюється як статичний виконуваний файл ELF64 розміром 71 872 байти, який видаляється, оптимізується та відтворюється в різних збірках. Кожен розділ вирівнюється по сторінці, перевіряється і явно визначається на двійковому рівні. Зображення виконується безпосередньо в довгому режимі на голому металі, без переміщень, без динамічного зв'язування, без навантажувача під час виконання. Детермінована система за задумом. Забезпечення безпеки є абсолютним. Відповідність Write-XOR-Execute (W^X) повністю реалізована по всьому зображенню. Розділи коду є виконуваними, але ніколи не доступними для запису. Сегменти даних і стека не виконуються. Це гарантує ізоляцію між командами та пам'яттю даних, усуваючи клас експлойтів, які залежать від транскордонного пошкодження пам'яті. Ядро працює як запечатаний, перевірений образ ELF без змінного коду. i) Рівень керування пам'яттю було повністю покращено. Старий лінійний розподільник купи був замінений на розподільник приятелів з логарифмічним розподілом та ефективністю розподілу. Усі операції з пам'яттю тепер включають метадані виділення, канаркові значення, виявлення переповнення, позначку часу для криміналістичного відстеження та безпечне обнулення при розподілі. Понад 130 шляхів паніки та розгортання було видалено та замінено на обробку детермінованих помилок на основі результатів. Захисти стека та перевірки цілісності активні протягом усього виконання. Підсистема сторінок вводить явні метадані на рівні сторінки, зашифровані області пам'яті та правильну синхронізацію TLB. Кожна операція таблиці сторінок перевіряється, поширюється на помилки та є атомарною. Ці механізми формують основу для майбутніх функцій NUMA та шифрування сторінок, запланованих для подальшої розробки. ii) Процес збірки тепер досягає повної відтворюваності та верифікації. Використовуючи користувацьке визначення цілі для x86_64-nonos, усі залежності компілюються статично під контрольованою оптимізацією LTO. Отриманий двійковий файл проходить перевірку відповідності ELF64 і Multiboot і виконується як повністю автономний образ. Кожна збірка може бути криптографічно перевірена за еталонним дайджестом для гарантії відтворюваності. iii) Вимірювання продуктивності показують значний приріст ефективності. Затримка розподілу скорочується приблизно на дев'яносто відсотків. Обробка помилок без паніки та безпечне обнулення тепер виконуються детерміновано під навантаженням. Фрагментація пам'яті залишається незначною через структуру системи «Степінь двох друзів». Усі основні помилки під час виконання купи, сторінки або стека деградують витончено без паніки ядра. З архітектурної точки зору, ядро тепер дотримується чотирьох керівних принципів: дизайн без паніки, глибокий захист, детермінована відтворюваність і мінімальна поверхня довіри. Ці принципи визначають кожне рішення щодо впровадження, від операцій MMU на низькому рівні до політики розподільника на високому рівні. Наступні цілі зосереджені на підтримці зашифрованих сторінок, оптимізації NUMA та телеметрії пам'яті в реальному часі. Середньострокова робота включає інтеграцію Intel CET для цілісності потоку керування та розширення підсистеми криміналістичної пам'яті для налагодження та посмертного аналізу. У довгостроковій перспективі дорожня карта включає квантово-стійкий криптографічний захист для ключів шифрування пам'яті та адаптивну евристику розподілу, керовану машинним навчанням. Зображення розміром 71 КБ є компактним, ефективним і спеціально створеним для того, що представляє NØNOS: обчислення, яким можна довіряти, оскільки воно прозоре, вимірюється та вільне від зовнішньої залежності. Завтра ми надамо оновлену інформацію про NOXORIUS як наближається ✍️ запуск