Microsoft Singularity

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Singularity
Разработчик Майкрософт
Семейство ОС Windows NT
Основана на Windows Me
Первый выпуск 18 сентября 2004
Последняя версия 2.1 (12 апреля 2007 г.)
Поддерживаемые платформы x86
Типядра Микроядро
Лицензия GPL (Ранее Microsoft Research License)
Состояние Отменён
Веб-сайт microsoft /en-us/rese…

Singularity— начатый в 2003 году проект исследовательского подразделения корпорацииМайкрософтпо созданию высоконадёжнойоперационной системы,в котороймикроядро,драйвераустройств и приложения написаны науправляемом коде.

Отличительной особенностью данной ОС является использование идеологии программно-изолированных процессов (Software Isolated Processes, SIP), похожих на лёгкие процессы языкаErlang,общение между которыми происходит исключительно посредством сообщений. В отличие от традиционных ОС, защита таких процессов в Singularity производится не путём организации аппаратно-защищённых адресных пространств, а путём использования типобезопасного подмножества промежуточного языка (MSIL) и его верификации перед компиляцией в родной код процессора. Каждый SIP обладает своим объектным пространством, «сборщиком мусора» и средой периода исполнения. Для таких процессов не допускается совместное использование памяти, и они не имеют возможности модифицировать свой код, что усиливает гарантии надежности работы программы в SIP.

Низкоуровневый код обработкипрерыванийx86написан наязыке ассемблераиC.Библиотеки времени исполнения (англ.runtime) исборщик мусоранаписаны наSing#(специально доработанном для данного проекта диалектеC#) с использованием небезопасного режима (англ.unsafe mode). Также присутствует код на C, использующийся в целях отладки.BIOSкомпьютера вызывается только на этапезагрузкив 16-разрядном реальном режиме работыпроцессора.После перехода в 32-разрядный режим BIOS больше никогда не вызывается, вместо него используются драйверы, написанные наSing#.При установке ядра оп-коды CIL компилируются в инструкции x86 при помощикомпилятораBartok[англ.].

Bartok[1]— это исследовательский проект по созданию на языке C# оптимизирующего компилятора из CIL в x86.

Singularity 1.0 была завершена в 2007 году. Исследовательский пакет Singularity 1.1 Research Development Kit (RDK) был выпущен под лицензиейShared Sourceи допускает академическое некоммерческое использование; пакет доступен наCodePlex.14 ноября 2008 г. был выпущен Singularity RDK 2.0. Дальнейшая разработка прекращена.

Код Singularity и вспомогательных средств доступен для изучения и использованияна сайтеCodePlexАрхивная копияот 31 марта 2021 наWayback Machine.