Корпорация Microsoft вчера вечером представила новую операционную систему Singularity, предназначенную для использования в системах реального времени - в автомобилях, промышленном оборудовании, периферийном компьютерном оборудовании и т д.
Однако в корпорации отметили, что презентованный вчера проект является, во-первых, не законченной ОС, а скорее ее концептуальным прототипом, а во-вторых, опубликованная ОС пока что предназначена только для академических и исследовательских целей, которые в перспективе могут привести к появлению новых компьютерных архитектур. На сегодня данный проект ведется в подразделении Microsoft Research, а код ОС был размещен на сайте CodePlex в рамках ежегодного показа TechFest, традиционно организуемого Microsoft.
"Эта новая ОС была написана с чистого листа с одной лишь целью - стать максимально управляемой системой. Singularity поможет разработчикам сделать программное обеспечение более гибким", - сказал генеральный менеджер Microsoft Research Рик Рашид.
В 63-мегабайтной Singularity микроядро, драйверы устройств и приложения написаны на управляемом коде. Еще одной отличительной особенностью данной ОС является использование идеологии программно-изолированных процессов (похожим на легкие процессы языка Erlang) общение между которыми происходит исключительно посредством сообщений. В отличие от традиционных ОС, защита таких процессов в Singularity производится не путем организации аппаратно-защищенных адресных пространств, а путем использования типобезопасного подмножества промежуточного языка (MSIL) и его верификации перед компиляцией в родной код процессора.
Низкоуровневый код обработки прерываний x86 написан на языке ассемблера и C. Библиотеки времени исполнения (runtime) и сборщик мусора написаны на Sing# (специально доработанным для данного проекта диалекте C#) с использованием небезопасного режима (unsafe mode). Также присутствует код на C, использующийся в целях отладки. BIOS компьютера вызывается только на этапе загрузки в 16-разрядном реальном режиме работы процессора. После перехода в 32-разрядный режим, BIOS больше никогда не вызывается, вместо него используются драйверы, написанные на Sing#. При установке ядра, оп-коды CIL компилируются в инструкции x86 при помощи компилятора Bartok.
Также Microsoft анонсировала проект BEE3, реализуемый вместе с Университетом Калифорнии. Данный проект предусматривает создание нового поколения компьютерной архитектуры, которая позволит экспериментировать с комплектующими и алгоритмами, на которых работает оборудование.