stringtranslate.com

Сингулярность (операционная система)

Singularity — экспериментальная операционная система , разработанная Microsoft Research в период с 9 июля 2003 г. [3] по 7 февраля 2015 г. [4] Она была спроектирована как высоконадежная операционная система, в которой были написаны ядро , драйверы устройств и прикладное программное обеспечение . в управляемом коде . Внутренняя безопасность использует безопасность типов вместо аппаратной защиты памяти .

Операция

Код диспетчеризации прерываний x86 самого низкого уровня написан на языке ассемблера и C. Как только этот код выполнит свою работу, он вызывает ядро, чья система выполнения и сборщик мусора написаны на Sing# (расширенная версия Spec#, которая сама является расширением C# ) и запускается в незащищенном режиме. [5] : 14  [6] : 4  Уровень аппаратной абстракции написан на C++ и работает в защищенном режиме. Существует также некоторый код C для отладки. Базовая система ввода-вывода компьютера ( BIOS ) запускается на этапе начальной загрузки 16-битного реального режима ; в 32-битном режиме Singularity больше никогда не вызывает BIOS, а вызывает драйверы устройств, написанные на Sing#. Во время установки коды операций Common Intermediate Language (CIL) компилируются в коды операций x86 с помощью компилятора Bartok . [6] : 11 

Дизайн безопасности

Singularity — это микроядерная операционная система. В отличие от большинства исторических микроядер, его компоненты выполняются в том же адресном пространстве ( процессе ), что и программно-изолированные процессы (SIP). Каждый SIP имеет собственную структуру данных и кода и независим от других SIP. Эти SIP ведут себя как обычные процессы, но позволяют избежать затрат на переключение задач. [5] : 4,11,35 

Защита в этой системе обеспечивается набором правил, называемых инвариантами , которые проверяются статическим анализом программы . Например, в состояниях, инвариантных к памяти, между двумя SIP не должно быть перекрестных ссылок (или указателей памяти); связь между SIP происходит по каналам связи более высокого порядка, управляемым операционной системой. Инварианты проверяются при установке приложения. (В Singularity установкой управляет операционная система.)

Большинство инвариантов полагаются на использование более безопасных языков с управлением памятью , таких как Sing#, которые имеют сборщик мусора , не допускают произвольных указателей и позволяют проверять код на соответствие заданной политике компьютерной безопасности .

Статус проекта

Первый комплект разработки Singularity Research Development Kit (RDK), RDK 1.1, был первоначально выпущен 4 марта 2008 года [1] под лицензией с общим исходным кодом , допускающей академическое некоммерческое использование и доступной на CodePlex . [7] RDK 2.0 был выпущен позже, 14 ноября 2008 г. [2]

Похожие проекты

Смотрите также

Рекомендации

  1. ^ ab "Singularity RDK 1.1" . КодПлекс . Архивировано из оригинала 4 мая 2009 года . Проверено 16 января 2022 г.
  2. ^ ab «Первоначальный выпуск Singularity RDK 2.0 (17067)» . КодПлекс . 14 ноября 2008 года. Архивировано из оригинала 6 декабря 2008 года . Проверено 16 января 2022 г.
  3. ^ «Сингулярность». Майкрософт . Проверено 16 января 2022 г.
  4. ^ "Сингулярность РДК" . КодПлекс . Архивировано из оригинала 2 января 2018 года . Проверено 16 января 2022 г.
  5. ^ ab «Обзор проекта Singularity» (PDF) . Майкрософт . Проверено 16 января 2022 г.
  6. ^ аб Хант, Гален; Ларус, Джеймс. «Сингулярность: переосмысление стека программного обеспечения» (PDF) . Майкрософт . Microsoft Research Редмонд . Проверено 16 января 2022 г.
  7. Риччути, Майк (5 марта 2008 г.). «Является ли Microsoft Singularity ОС будущего?». CNET . Проверено 16 января 2022 г.

Внешние ссылки