Проект нацелен на расширение языков программирования и разработку новых методологий и инструментальных средств задания и верификации поведения программ. В частности, в Singularity используются языки со строгим контролем типов и абстрактный набор команд, позволяющие без участия аппаратных средств разбиения создавать надежно изолированные друг от друга программные процессы (Software Isolated Processes, SIP): каждый со своим объектным пространством, "сборщиком мусора" и средой периода исполнения. В прототипе Singularity создание таких процессов предельно упрощено, и они работают на нулевом кольце адресного пространства ядра ОС. В Singularity каждая программа, драйвер устройства и системное расширение представляет собой SIP. Для таких процессов не допускается совместное использование памяти, и они не имеют возможности модифицировать свой код, что усиливает гарантии надежности работы программы в SIP. Код Singularity и вспомогательных средств доступен для изучения и использования на сайте Microsoft CodePlex. В корпорации предлагают его исследователям в качестве платформы для экспериментов с новыми видами компьютерных архитектур.

Поделитесь материалом с коллегами и друзьями