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.].
Посилання
- Офіційна сторінка Singularity [Архівовано 5 листопада 2005 у Wayback Machine.](англ.)
- Сторінка з вихідним кодом на сайті CodePlex [Архівовано 9 березня 2010 у Wayback Machine.](англ.)
- Проект Singularity: обзор [Архівовано 8 травня 2013 у Wayback Machine.](рос.)
- Починаємо працювати з ОС Singularity [Архівовано 3 квітня 2008 у Wayback Machine.](рос.)
- Російськомовний форум по ОС Singularity [Архівовано 5 березня 2016 у Wayback Machine.](рос.)
- The C# Multiverse — the Singularity of Programming Languages
- ↑ Gubskiy, Andrew (4 квітня 2023). The C# Multiverse — the Singularity of Programming Languages. Medium (англ.). Процитовано 22 червня 2023.
- ↑ Advanced Compiler Technology - Home. web.archive.org. 6 квітня 2006. Архів оригіналу за 6 квітня 2006. Процитовано 22 червня 2023.