Hatred's Log Place

DON'T PANIC!

Sep 22, 2016 - 1 minute read - programming c++

IncludeOS

Не мог обойти вниманием сиё творение.

Ребята запилили на суровом C++11/14 однозадачную сервисо-ориентированную операционку. Суть: операционка с минимальным футпринтом (образ 707кб), которая обслуживает ровно одну задачу (в их терминологии - сервис) и работает под управлением виртуальной машины: KVM, VirtualBox, используя возможности аппаратной виртуализации.

Сама операционка внутри представлена в виде асинхронного фреймворка, призванного, в первую очередь, строить сетевые приложения. Т.е. внутри реализован стек TCP/IP (судя по описанию, пока только IPv4, но IPv6 активно пилится). Многопоточность не поддерживается, реализован подход с кооперативной многозадачностью, которых очень хорошо ложится на асинхронную модель. Есть базовая поддержка файловых и дисковых операций (как минимум есть поддержка RAM-диска и файловых систем Ext4 и FAT).

При всём этом доступны для использования libc++ от LLVM (в том числе исключения), stdc в лице newlib.

В общем, интересное решение для сервис-ориентированных архитектур, для создания выделенных микросервисов. Плюс приятная лицензия: Apache2.

Ну и ссылки: