Microsoft Singularity

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Singularity
Singularity v1.png
Розробник Microsoft
Стан проекту розробка припинена
Модель коду Shared Source
Останній стабільний випуск 2.0/ 14 листопада 2008 г.
Доступні мови програмування асемблер
Тип ядра Мікроядро
Ліцензія Microsoft Research License
Веб-сайт research.microsoft.com/en-us/projects/singularity/

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 та допоміжних засобів доступний для вивчення та використання на сайті [2].

Посилання[ред. | ред. код]