Interested Article - Microsoft Singularity
- 2021-10-11
- 1
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 — это исследовательский проект по созданию на языке C# оптимизирующего компилятора из CIL в x86.
Singularity 1.0 была завершена в 2007 году. Исследовательский пакет Singularity 1.1 Research Development Kit (RDK) был выпущен под лицензией Shared Source и допускает академическое некоммерческое использование; пакет доступен на CodePlex . 14 ноября 2008 г. был выпущен Singularity RDK 2.0. Дальнейшая разработка прекращена.
на сайте от 31 марта 2021 на Wayback Machine .
См. также
Ссылки
- (англ.)
- (англ.)
- (рус.)
- от 3 апреля 2008 на Wayback Machine (рус.)
- (рус.)
- 2021-10-11
- 1