Читаем Компьютерра PDA N116 (18.06.2011-24.06.2011) полностью

Любая запускаемая программа или сервис с точки зрения Singularity является SIP - Software Isolated Process (программно изолированный процесс). Благодаря выполненной проверке типобезопасности SIP не нужно держать в "клетке" ограниченного адресного пространства. Он сам гарантирует свою лояльность - то, что будет работать только со строго определёнными объектами и данными, не нарушая целостности системы и других программ. А как же быть с межпроцессным взаимодействием? Без него в многозадачной среде никуда. Для взаимодействия SIP-ов Singularity предлагает очень надёжный механизм каналов, по которым один SIP может передавать другому сообщения и данные. Каналы в Singularity высокоскоростные и неплохо заменяют небезопасный механизм разделения данных в традиционных системах. SIP может общаться и с микроядром через специальный бинарный интерфейс ABI (Application Binary interface), с помощью которого один SIP может контролируемо повлиять на состояние другого SIP.

SIP в Singularity самодостаточны. Завершив свою работу, SIP вызывает один из множества наиболее подходящих сборщиков мусора, очищая за собой память так, чтобы не повредить работе остальных SIP и системы.

А как же быть с расширяемостью функций запускаемых программ? Здесь идея состоит в том, что расширения для программ тоже реализуются в виде SIPов с типобезопасным кодом.

Таким образом, упрощённо архитектура Singularity - это: микроядро, написанное на доверенном коде, трансляторы кода MSIL и компиляторы JIT (NGen), также состоящие из доверенного кода, множество SIP на основе верифицированного кода, работающие в едином адресном пространстве, каналы, связывающие SIPы, и интерфейс ABI, связывающий SIP с ядром.

В зависимости от потребностей в процессорном времени конкретного SIP, диспетчер задач Singularity предоставляет один из пяти имеющихся в его распоряжении алгоритмов планирования.

Данные SIPов хранит SIP специального типа - файловая система Boxwood, в которой файлы представлены бинарными деревьями (B-tree).

Неопределённость, связанная с установкой многочисленных объектов программы в разных частях системы, присущая традиционным операционным системам, в Singularity устраняется за счёт использования программой манифеста - метаданных, чётко описывающих её в терминах ресурсов и зависимостей между ними. На основе манифеста загрузчик программы может оценить и выявить конфликты, которые могут возникнуть при установке программы, и, при необходимости, прервать установку.

Разработчики Singularity предоставляют прикладным программистам и драйверописателям Singularity RDK, обеспечивающий среду создания и обкатки своих программ, совместимых с Singularity. Программы можно писать на массе совместимых c CLS языков, для которых Singularity поддерживает компиляторы MSIL. К ним относятся C#, F#, Perl и даже COBOL.

Очевидно, что число компиляторов MSIL для разных языков будет увеличиваться с развитием Singularity. А это означает привлечение к системе множества разработчиков. На данный момент пользовательский интерфейс Singularity весьма аскетичен и ограничивается командной строкой.

Интерфейс Singularity на данный момент весьма аскетичен. Но все необходимые для работы команды присутствуют. Тем не менее проект носит исследовательский характер, и ни о каком коммерческом его применении речи пока не идёт. Создатели Singularity сейчас стараются доказать, что надёжность и безопасность придуманного ими подхода выше, чем у традиционных операционных систем, а производительность не хуже, чем у них.

Побратимы Singularity

Архитектурные решения, реализованные в Singularity, родились не на пустом месте. На её архитектуру оказали влияние проекты таких микроядерных архитектур, как L4, Exokernel и SPIN. Однако большинство из них (кроме разве что SPIN, использующей язык Modula-3) создано на основе небезопасного кода и применяют традиционную для современных систем технологию разделения адресных пространств процессов.

Идея проверки кода на типобезопасность, реализованная в Singularity, перекликается с подобными подходами в таких проектах, как JX, JavaOS, KaffeOS (язык Java), Inferno (язык Limbo) и RMoX (язык occam-pi).

Итак, Microsoft Singularity - один из множества проектов, разрабатывающих архитектуру надёжной и безопасной операционной системы или среды исполнения, надстраиваемой над существующими системами, на основе изоляции процессов путём проверки их кода на типобезопасность. Благодаря активному развитию безопасных языков программирования и высокопроизводительных исполняющих сред этот, поначалу чисто теоретический, подход становится всё ближе к реальным коммерческим реализациям. Проекты, подобные Singularity, стараются доказать, что они способны составить конкуренцию архитектуре современных операционных систем и предоставить пользователям надёжную и предсказуемую среду исполнения их программ.

Наборы системной логики для процессоров Intel

Автор: Олег Нечай

Опубликовано 23 июня 2011 года

Перейти на страницу:

Похожие книги

Строить. Неортодоксальное руководство по созданию вещей, которые стоит делать
Строить. Неортодоксальное руководство по созданию вещей, которые стоит делать

Тони Фаделл возглавлял команды, создавшие iPod, iPhone и Nest Learning Thermostat, и за 30 с лишним лет работы в Кремниевой долине узнал о лидерстве, дизайне, стартапах, Apple, Google, принятии решений, наставничестве, сокрушительных неудачах и невероятных успехах столько, что хватило бы на целую энциклопедию. Тони использует примеры, которые мгновенно захватывают внимание, например, процесс создания самых первых iPod и iPhone. Каждая глава призвана помочь читателю решить проблему, с которой он сталкивается в данный момент - как получить финансирование для своего стартапа, уйти с работы или нет, или просто как вести себя с придурком в соседнем кабинете. Тони прокладывал свой путь к успеху рядом с такими наставниками, как Стив Джобс и Билл Кэмпбелл, иконами Кремниевой долины, которые снова и снова добивались успеха. Но Тони не следует кредо Кремниевой долины, согласно которому для создания чего-то великого необходимо изобретать все с нуля. Его советы нестандартны, потому что они старой закалки. Тони понял, что человеческая природа не меняется. Не нужно изобретать способы руководства и управления - нужно изобретать то, что ты делаешь. Тони Фаделл – американский топ-менеджер. Он создал iPod и iPhone, основал компанию Nest и создал самообучающийся термостат Nest. За свою карьеру Тони стал автором более 300 патентов. Сейчас он возглавляет инвестиционную и консультационную компанию Future Shape, где занимается наставничеством нового поколения стартапов, которые меняют мир.  

Tony Fadell , Тони Фаделл

Финансы / Прочая компьютерная литература / Банковское дело
Первые шаги с Windows 7. Руководство для начинающих
Первые шаги с Windows 7. Руководство для начинающих

Просто и понятно для начинающих пользователей описана операционная система Windows 7 и ее новые возможности. Рассказано, как установить Windows 7 (в том числе на нетбук), как полностью использовать новые возможности графического интерфейса, как работать с файлами и стандартными программами. Отдельное внимание уделено вопросам работы в Интернете: настройке доступа, описанию популярных программ для работы в Интернете, обеспечению безопасности. Подробно рассмотрены мультимедиапрограммы Windows Media, Windows Media Center, DVD-студия Windows, прожиг CD/DVD средствами операционной системы. Даны практические рекомендации использования системы восстановления Windows 7, позволяющей в большинстве случаев обойтись без переустановки операционной системы в случае ее сбоя.Прилагаемый компакт-диск содержит видеокурс по основам работы в Windows 7.

Денис Николаевич Колисниченко , Денис Н. Колисниченко

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Главный рубильник. Расцвет и гибель информационных империй от радио до интернета
Главный рубильник. Расцвет и гибель информационных империй от радио до интернета

Превратится ли всемирная паутина в «традиционное СМИ», содержание которого строго контролируется в интересах максимизации прибыли? В чьих руках сейчас находится Рубильник интернет-истории и, по сути, — развития общества? Исследуя развитие телефонии, радио, кино и телевидения, автор показывает, как эти индустрии прошли путь от хобби — к крупному бизнесу, от открытости и гибкости — к закрытой и жесткой системе. Какое будущее ожидает всемирную Сеть?Пролить свет на прошлое, чтобы предвидеть будущее — главная задача этой книги.Эта книга для тех, кто считает интернет не просто средством общения, но и инструментом познания мира, способом самовыражения. Для думающих и неравнодушных интернет-пользователей. Для студентов и преподавателей, особенно — экономических, телекоммуникационных и гуманитарных специальностей.

Тим Ву

Карьера, кадры / Интернет / Прочая компьютерная литература / О бизнесе популярно / Финансы и бизнес / Книги по IT