Singularity (операционная система) - Singularity (operating system)

Singularity Project
Сингулярность v1.png
Сингулярность после загрузки
РазработчикКорпорация Майкрософт
Написано вязык ассемблера, C, C ++, C #, Петь#
Семейство ОССистемы на основе языка
Рабочее состояниеСнято с производства
Исходная модельИсточник доступен (через Инициатива общего источника )
изначальный выпуск2007; 13 лет назад (2007)
Окончательный релиз2.0 / 14 ноября 2008 г.; 12 лет назад (2008-11-14)
Доступно ванглийский
Платформыx86
Ядро типМикроядро на основе языка
По умолчанию пользовательский интерфейсИнтерфейс командной строки
ЛицензияЛицензия Microsoft Research
Официальный веб-сайтисследование.microsoft.com/ en-us/ проекты/ сингулярность

Сингулярность экспериментальный Операционная система (ОС), созданная Microsoft Research с 2003 по 2010 гг.[1] Он был разработан как высокий надежность ОС, в которой ядро, драйверы устройств, и программное обеспечение все были написаны на управляемый код. Внутренняя безопасность использует безопасность типа вместо того аппаратное обеспечение защита памяти.

Операция

Самый низкий уровень x86 прервать код отправки записан на язык ассемблера и C. Как только этот код выполнит свою работу, он вызывает ядро, которое система времени выполнения и уборщик мусора написаны в Петь# (расширенная версия Спецификация #, являющееся продолжением C # ) и работает в незащищенном режиме. В уровень аппаратной абстракции написано в C ++ и работает в защищенном режиме. Также есть код C для обработки отладки. Базовая система ввода / вывода компьютера (BIOS ) вызывается во время 16-битного реальный режим этап бутстрапа; однажды в 32-битный режиме Singularity больше никогда не вызывает BIOS, но вызывает драйверы устройств, написанные на Петь#. Во время установки Общий промежуточный язык (CIL) коды операций компилируются в коды операций x86 с использованием Компилятор Бартока.

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

Сингулярность - это микроядро Операционная система. В отличие от большинства исторических микроядер, его компоненты выполняются в одном адресное пространство (обработать ), который содержит программно изолированные процессы (SIP). Каждый SIP имеет свои собственные данные и структуру кода и не зависит от других SIP. Эти SIP ведут себя как обычные процессы, но избегают затрат на переключение задач.

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

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

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

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

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

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

  • Система на основе языка, общий дизайн ядра с использованием языковой защиты вместо аппаратной защиты.
  • Спецификация #, язык программирования, полученный из C # путем добавления Эйфель -любить дизайн по контракту.
  • Петь# язык программирования, полученный из Spec # путем добавления каналов и низкоуровневых конструкций; используется для создания Singularity.
  • Мидори, разработанная Microsoft операционная система на основе микроядра, которая рассматривается как возможный преемник Майкрософт Виндоус некоторыми представителями прессы, посвященной информационным технологиям (ИТ). Основан на Singularity и связан с ним.

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

  1. ^ История исходного кода на CodePlex
  2. ^ «Сингулярность РДК - Главная». Получено 2016-06-08.

внешняя ссылка