Singularity (операційна система)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Singularity
Розробник 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# (спеціально доопрацьованому для даного проекту діалекті Spec#, який в свою чергу був діалектом C#[1]) з використанням небезпечного режиму (англ. unsafe mode). Також присутній код на C, що використовується в цілях налагодження. BIOS комп'ютера викликається тільки на етапі завантаження в 16-розрядному реальному режимі роботи процесора. Після переходу в 32-розрядний режим, BIOS більше ніколи не викликається, замість нього використовуються драйвери, написані на Sing#. При установці ядра, оп-коди CIL компілюються в інструкції x86 за допомогою компілятора Bartok.

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

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

Код Singularity та допоміжних засобів доступний для вивчення та використання [Архівовано 9 березня 2010 у Wayback Machine.] на сайті [1] [Архівовано 27 січня 2010 у Wayback Machine.].

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

  1. Gubskiy, Andrew (4 квітня 2023). The C# Multiverse — the Singularity of Programming Languages. Medium (англ.). Процитовано 22 червня 2023.
  2. Advanced Compiler Technology - Home. web.archive.org. 6 квітня 2006. Архів оригіналу за 6 квітня 2006. Процитовано 22 червня 2023.