Jump to content

Verve (операционная система)

Воодушевление
Разработчик Microsoft Исследования
Написано в БугиПЛ, C# ; загрузчик на языке ассемблера , C++ ; может использовать другие общие промежуточные языки (CIL)
Семейство ОС Языковые операционные системы
Рабочее состояние В разработке
Исходная модель Доступен исходный код (через Инициативу общего источника )
Первоначальный выпуск сентябрь 2010 г .; 13 лет назад ( 2010-09 )
Последний выпуск r73999 / 10 ноября 2013 г .; 10 лет назад ( 10.11.2013 )
Платформы х86
ядра Тип Микроядро , основанное на языке
Лицензия Лицензия Microsoft на исследования

Verve — исследовательская операционная система , разработанная Microsoft Research . Verve проходит сквозную проверку на предмет безопасности типов и безопасности памяти .

Из-за их сложности святым Граалем проверки программного обеспечения была проверка свойств операционных систем. Операционные системы обычно пишутся на языках низкого уровня, таких как C , которые предоставляют очень мало гарантий. Проект Singularity применил подход к написанию операционной системы на C# , языке, безопасном для типов и памяти. Слабость этого подхода заключается в том, что операционным системам обязательно необходимо вызывать код нижнего уровня, например, для перемещения указателя стека. Verve решает эту проблему, разделяя операционную систему на проверенный язык ассемблера , который должен быть низкоуровневым и иметь доверенный интерфейс для остальной части операционной системы, написанный на C#. Существует надежная спецификация, которая гарантирует, что ассемблерный код низкого уровня не изменяет кучу, а высокоуровневый код C# не изменяет стеки.

Verve состоит из небольшого Nucleus , который действует как минимальный уровень аппаратной абстракции, и Kernel , который использует примитивы, предоставляемые Nucleus, для предоставления более традиционного интерфейса приложениям. Все компоненты системы, кроме Nucleus, написаны на управляемом коде C# и скомпилированы Bartok (первоначально разработанным для проекта Singularity ) в типизированный ассемблер (TAL), что проверяется проверкой TAL.

Nucleus реализует распределитель памяти и сборку мусора, поддержку переключения стека и управление обработчиками прерываний.Он написан на BoogiePL, который служит входными данными для верификатора Boogie MSR , который доказывает правильность Nucleus с помощью (решателя) теорем Z3 теоремы выполнимости по модулю теорий (SMT) автоматического средства доказательства . Nucleus полагается на ядро ​​для реализации потоков, планирования, синхронизации и предоставления большинства обработчиков прерываний. Несмотря на то, что ядро ​​формально не проверено, например, ошибка в планировании может привести к зависанию системы, оно не может нарушать безопасность типа или памяти и, следовательно, не может напрямую вызывать неопределенное поведение. Если он попытается отправить недействительные запросы к Ядру, формальная проверка гарантирует, что Ядро обработает ситуацию контролируемым образом .

Verve Доверенная вычислительная база (TCB) ограничена: Boogie/Z3 для проверки правильности Nucleus; BoogieASM для перевода на х86-сборку; спецификация BoogiePL о том, как должен вести себя Nucleus; верификатор ТАЛ; ассемблер и компоновщик; и загрузчик. Примечательно, что ни компилятор/среда выполнения C#, ни компилятор Bartok не являются частью TCB.

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2f7410f14f9295c53e2d68a65806c73b__1712776860
URL1:https://arc.ask3.ru/arc/aa/2f/3b/2f7410f14f9295c53e2d68a65806c73b.html
Заголовок, (Title) документа по адресу, URL1:
Verve (operating system) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)