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

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 09:11, 16 липня 2023, створена InternetArchiveBot (обговорення | внесок) (Виправлено джерел: 1; позначено як недійсні: 0.) #IABot (v2.0.9.5)
Перейти до навігації Перейти до пошуку
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.