Цифровой журнал «Компьютерра» 2011 № 26 (74) - [2]

Шрифт
Интервал

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

Второй способ (новая архитектура ОС) реализуется в проекте Microsoft Singularity.

Microsoft Singularity

В недрах компании Microsoft, точнее — в её исследовательском центре Microsoft Research с 2006 года ведётся работа над архитектурой новой операционной системы. Проект Singularity не является «убийцей» нынешней коммерчески успешной Windows, но может доказать, что система с программно изолированными процессами, основанная на идее управляемого выполнения кода, может быть безопаснее и надёжнее традиционных систем. Не потеряв при этом их производительности и расширяемости функций.

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

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

В системах, подобных Singularity, предполагается тщательная верификация кода программы, которая будет в данный момент выполняться. Результат такой верификации — строгое математическое доказательство того, что этот код, именуемый проверенно безопасным (verifiably safe code), в ходе своего выполнения будет работать только с положенными ему объектами и не станет вносить никаких изменений в код и данные других процессов.

То есть, запуская любую программу, система предварительно удостоверяется в полной легитимности работы и, следовательно, полностью контролирует процесс её выполнения. Это и есть идея управляемого выполнения кода.

В такой модели работы процессов для них не требуется аппаратно выделять изолированные адресные пространства памяти и следить за тем, чтобы их границы не были нарушены. Поскольку все будущие действия процесса верифицированы и строго доказана их безопасность для системы и других процессов, то можно сказать, что работа процессов изолирована друг от друга программным способом. Даже располагаясь в едином адресном пространстве памяти, процессы не смогут помешать работе друг друга.

Но разве предварительная верификация кода не снижает производительность системы? Ведь такая проверка не менее затратна по времени и ресурсам, чем переключение процессов.

Ответ на этот вопрос кроется в прогрессе программных платформ управляемого выполнения кода. Основанные на типобезопасных языках, таких, например, как Java или C#, и высокопроизводительных runtime компиляторах, способных «на лету» генерировать оптимальный и дотошно проверенный код, на системах сборки мусора, корректно очищающих память после завершения работы программы, подобные платформы в последнее время сделали гигантский скачок в плане производительности. Теперь она соизмерима с выполнением обычного неуправляемого кода.

Процесс управляемого выполнения кода — основа архитектуры системы Singularity. Базируется он на спецификации Microsoft CLS (Common Language Specification), поддержка которой открыта для многих из имеющихся и вновь разрабатываемых языков программирования и компиляторов для них. Согласно CLS, эти компиляторы не генерируют неуправляемый код, а создают некий промежуточный код на языке MSIL (Microsoft Intermediate Language). Дополнительно с генерацией кода MISL они создают манифест — метаданные программы, в которых чётко описаны её типы, сведения о необходимых программе внешних объектах и правила взаимодействия с ними. Код MISL и манифест упаковываются в исполняемый PE (portable executable) файл.

Дальше происходит компиляция MISL-кода в машинный код, специфичный для системы команд процессора, на котором запущена Singularity. Занимаются этим процессом или JIT-компилятор (just-in-time), генерирующий машинные команды для процессора «на лету», или же программа-генератор NGen (Native Image Generator), создающая традиционный исполняемый образ. Важным является то, что в ходе работы и JIT-компилятора, и программы NGen создаваемый машинный код


Еще от автора Журнал «Компьютерра»
Компьютерра, 2008 № 01-02 (717-718)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Компьютерра, 2007 № 15 (683)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Компьютерра, 2008 № 10 (726)

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Компьютерра, 2005 № 27-28 (599-600)

Документ создан на основе открытого контента, расположенного по адресуhttp://offline.computerra.ru/2005/599/Размер изображений не менялся, поэтому некоторые могут быть некорректно отображены на неVGA-моделях КПК (особенно скриншоты и таблицы).


Цифровой журнал «Компьютерра» 2013 № 18 (171)

ОглавлениеКолонкаПочему мы позволяем нас обманывать, или Грустные размышления об иррациональности политической жизни Автор: Дмитрий ШабановГолубятня: Samsung Galaxy S4 — цидули перебежчика (часть 1) Автор: Сергей ГолубицкийУроки любви к Родине: McAfee патентует технологию обнаружения и блокировки пиратского содержания Автор: Сергей ГолубицкийПодпадает ли астрономия под закон о митингах Автор: Дмитрий ВибеIT-рынокНасколько глупа шумиха вокруг «умных» часов? Автор: Андрей ПисьменныйПромзонаПосмотрите на свалку, которую китайцы превратили в парк Автор: Николай МаслухинЭтот сайт позволяет создать собственное световое шоу на точном макете Токио Автор: Николай МаслухинТехнологииДжипег, подвинься! Веппи как единственный необходимый графический формат Автор: Евгений ЗолотовИнновацииПочему менеджерам российских корпораций не нужны стартапы Автор: Елена КраузоваИнга Нахмансон (Fitting Reality): «Российскому e-commerce не до виртуальности» Автор: Елена КраузоваГидGoogle Now для iOS появился без лишнего шума и уже собирает сведения Автор: Андрей Васильков.


Цифровой журнал «Компьютерра» 2012 № 01 (101)

ОглавлениеСтатьиTertium datur: другие компьютеры Автор: Евгений Лебеденко, Mobi.ruИнтервьюПавел Фролов («ГНУ/Линуксцентр») о НПП Автор: Евгений КрестниковА. Самсонов о троичной логике и цифровой археологии Автор: Андрей ПисьменныйКолумнистыВасилий Щепетнёв: Месть индейских вождей Автор: Василий ЩепетневКивино гнездо: Беззаконие роботехники Автор: Киви БердКафедра Ваннаха: Подарки и конструкции Автор: Михаил ВаннахАлександр Амзин: Силой данного мне природой мозга Автор: Александр АмзинВасилий Щепетнёв: Гимн усталому караулу Автор: Василий ЩепетневКивино гнездо: Беззаконие роботехники (окончание) Автор: Киви БердДмитрий Шабанов: Марков и Эволюция человека Автор: Дмитрий ШабановКафедра Ваннаха: Пришельцы на Луне Автор: Михаил ВаннахГолубятня-ОнлайнГолубятня: Даже гоблин ходит в отпуск Автор: Сергей ГолубицкийГолубятня: Железный парад 2011 Автор: Сергей Голубицкий.


Рекомендуем почитать
Цифровой журнал «Компьютерра» 2012 № 48 (148)

ОглавлениеКолумнистыДмитрий Вибе: Заблудшая планета Автор: Дмитрий ВибеВасилий Щепетнёв: Укрепление тары Автор: Василий ЩепетневКафедра Ваннаха: Душа по Пенроузу Автор: Михаил ВаннахГолубятня-ОнлайнГолубятня: Аудиофилия второй волны Автор: Сергей Голубицкий.


Компьютерра PDA N136 (17.09.2011-23.09.2011)

ОГЛАВЛЕНИЕСергей Голубицкий: Голубятня: Ужастик ЕвернотВаннах Михаил: Кафедра Ваннаха: Углерод и кремнийДенис Злобин: Пиратство: почему мы перестали ценить информациюСергей Голубицкий: Голубятня: Исход из 1PasswordВасилий Щепетнев: Василий Щепетнёв: Исчезновение столицыДмитрий Шабанов: Аргумент ХойлаАлла Аршинова: Александр Бондарь (ИЯФ СО РАН) о megascience-проектахВаннах Михаил: Кафедра Ваннаха: Удешевить странуЮрий Ильин: После шаттла: "Клипер" и "Русь"Киви Берд: Кивино гнездо: Дежавю, или Хождение по кругуСергей Голубицкий: Голубятня: News360 и ZiteВасилий Щепетнев: Василий Щепетнёв: Светлая сторона торгаАлександр Амзин: Возникнут модыАндрей Федив: Обзор Windows 8 Developer PreviewВаннах Михаил: Кафедра Ваннаха: Демократия хищных вещейДмитрий Вибе: Почтальон сойдёт с ума.


Компьютерра PDA N142 (22.10.2011-28.10.2011)

ОГЛАВЛЕНИЕСергей Голубицкий: Голубятня: Хронотоп детстваВасилий Щепетнев: Василий Щепетнёв: Колхоз имени Тома СойераЕвгений Лебеденко, Mobi.ru: Микропроцессор Hobbit: на каком языке говорили полуросликиВаннах Михаил: Кафедра Ваннаха: Intel в зеркале финансов Киви Берд: Кивино гнездо: Стены и мосты Олег Нечай: Обзор NAS Buffalo Link Station Pro Duo 2 ТВВасилий Щепетнев: Василий Щепетнёв: Без параллелейЕвгений Крестников: Валентин Макаров (РУССОФТ) о тендере на создание НППВаннах Михаил: Кафедра Ваннаха: Выкидуха в боюДмитрий Шабанов: Аргумент ГоссеАлександр Амзин: На отвлечённую темуСергей Голубицкий: Голубятня: Будучи ТАМВасилий Щепетнев: Василий Щепетнёв: До двенадцатого знакаДмитрий Вибе: Немного холодной воды у солнцаАндрей Федив: Обзор телефона Apple iPhone 4S.


Компьютерра PDA N174 (19.05.2012-25.05.2012)

ОГЛАВЛЕНИЕДмитрий Вибе: Ударим Венерой по МарсуВасилий Щепетнев: Василий Щепетнёв: После точкиСергей Голубицкий: Голубятня: От ашрама-дхармы к президенту-вампируДмитрий Шабанов: Объемное слышаниеОлег Нечай: PocketBook A 10": планшет, притворяющийся ридеромДмитрий Вибе: Так будет не всегда.


Цифровой журнал «Компьютерра» 2012 № 28 (128)

ОглавлениеСтатьиОбратная сторона эпохи пост-ПК: 30-долларовый компьютер Raspberry Pi Автор: Андрей ПисьменныйТерралабКак производятся материнские платы Автор: Олег НечайКолумнистыКафедра Ваннаха: Европейский лидер Автор: Михаил ВаннахВасилий Щепетнёв: Честь пикейного жилета Автор: Василий ЩепетневДмитрий Шабанов: Судьба точек роста в системе декоративного образования Автор: Дмитрий ШабановДмитрий Вибе: Лунная астрономия Автор: Дмитрий ВибеГолубятня-ОнлайнГолубятня: Про одного битого зелёного слоника Автор: Сергей ГолубицкийГолубятня: 4 спичечных коробка Автор: Сергей Голубицкий.


Цифровой журнал «Компьютерра» 2012 № 08 (108)

ОглавлениеКолумнистыКафедра Ваннаха: Горячая цифровая война Автор: Михаил ВаннахДмитрий Шабанов: Парадокс ускорения эволюции Автор: Дмитрий ШабановКивино гнездо: Пароль для серой зоны Автор: Киви БердВасилий Щепетнёв: Предсказания и пророчества Автор: Василий ЩепетневДмитрий Вибе: Мы сверху Автор: Дмитрий ВибеГолубятня-ОнлайнГолубятня: Идеальный мобильный звук. Часть вторая Автор: Сергей Голубицкий.


Цифровой журнал «Компьютерра» 2012 № 49 (149)

ОглавлениеИнтервьюВалерий Тельнов (ИЯФ СО РАН) о бозоне Хиггса Автор: Алла АршиноваТерралабНовое поколение нетбуков Acer и Packard Bell Автор: Ника ПарамоноваКолумнистыВасилий Щепетнёв: Освобождение Автор: Василий ЩепетневДмитрий Вибе: А вы уже закупили спички и соль? Автор: Дмитрий ВибеКафедра Ваннаха: Сланцевая передышка Автор: Михаил ВаннахДмитрий Шабанов: Вперёд, к эпигенетическому будущему! Автор: Дмитрий ШабановГолубятня-ОнлайнГолубятня: Хоть бы что-нибудь еще… всё не так, как надо! Автор: Сергей ГолубицкийГолубятня: Касталийский мираж истории Автор: Сергей Голубицкий.


Цифровой журнал «Компьютерра», 2010 № 21

ОглавлениеБольшие новостиE3 2010: Microsoft Kinect, новый Xbox 360 Автор: Андрей Письменный E3 2010: Nintendo DS со стереоэкраном Автор: Михаил Карпов Госинтернет, тариф «Социальный» Автор: Юрий Ильин Что высокие технологии дают Чемпионату мира по футболу Автор: Михаил Карпов Кодек WebM набирает популярность Автор: Крестников Евгений E3 2010: Десятка лучших игр Автор: Андрей Письменный Nintendo и Microsoft: порознь во враждебные воды Автор: Юрий Ильин Onlive: играем в сети Автор: Михаил Карпов Как сэкономить на мобильном интернете Автор: Максим Букин Виртуальные валюты: Facebook, «Вконтакте», Livejournal Автор: Юрий Ильин ТерралабПромзона: Кухня будущего Автор: Николай Маслухин Промзона: Светящиеся контуры Автор: Николай Маслухин Промзона: Кофейный iTunes Автор: Николай Маслухин Промзона: Звуковой кокон Автор: Николай Маслухин Чипсеты для новых десктопных процессоров Intel Автор: Олег Нечай Своя играВасилий Щепетнёв: Законотворчество Автор: Василий Щепетнев Кивино гнездо: Фактор Мэннинга Автор: Берд Киви Кафедра Ваннаха: Мораль, автоэволюция, моделирование Автор: Ваннах Михаил Василий Щепетнёв: Жаба и Чехов Автор: Василий Щепетнев Плюс интернетизация всей страны Автор: Юрий Ревич Кафедра Ваннаха: Эволюция машин Автор: Ваннах Михаил Кивино гнездо: Архив-Шнархив Автор: Берд Киви ИнтерактивАнна Ламтюгина («Яндекс») о сервисе «Народные карты» Автор: Андрей Письменный В.


Цифровой журнал «Компьютерра» 2013 № 11 (164)

ОглавлениеКолонкаПринуждение к альтруизму, или 451 градус политкорректности Автор: Василий ЩепетнёвМатематика как ресурс: На каком наследии работает отрасль информационных технологий Автор: Михаил ВаннахГолубятня: Праздник на нашей улице, или Фактура, столь редкая для софтверных обзоров Автор: Сергей ГолубицкийТень Рикардо: Чему биржевик и мыслитель былых времён может научить нас в информационную эру? Автор: Михаил ВаннахЗаказная мифология IT-прессы Автор: Сергей ГолубицкийЛожь навсегда: почему нас обманывают снова и снова Автор: Василий ЩепетнёвИгра в беспилотники: Как технологии боевых роботов соотносятся с классическим римским правом Автор: Михаил ВаннахСотая колонка: попытка перевести дух, осмотреться и понять, что и зачем я делаю Автор: Дмитрий ШабановВот и пришел Песочный Человек: о презентации Samsung своего нового флагмана и харакири Филла Шиллера Автор: Сергей ГолубицкийЧто общего между отключением Google Reader, заявлением Элиссы Финк и жалобой Дина Гарфилда? Автор: Сергей ГолубицкийОрганика в старом веществе Солнечной системы Автор: Дмитрий ВибеIT-рынокКак компьютеры, стоящие доллар, изменят привычные вещи и перевернут всё с ног на голову Автор: Андрей ПисьменныйАлександр Чачава: «Россия появилась на мировой технологической карте как полноценный инновационный рынок» Автор: Елена КраузоваGrowth Hackers: кто это и почему они нужны стартапам Автор: Игорь ТишкинКак смартфоны смогут демократизировать такси Автор: Андрей ПисьменныйПромзонаПосмотрите на серию плакатов, посвящённых выдающимся учёным и их открытиям Автор: Николай МаслухинДополненная реальность как способ обучения игре в бильярд Автор: Николай МаслухинПосмотрите на составные часы, складывающие время из сотен других часов Автор: Николай МаслухинMobileТестирование приложений для Android как инструмент выхода в ТОП на Google Play Автор: Дмитрий Куриленко, компания PromwadВосемь угроз вашему мобильному банку.


Цифровой журнал «Компьютерра» 2010 № 10

ОглавлениеТерралабOpera 10.50: оперативный релиз Автор: Андрей КрупинАнтивирус со вкусом "Яндекса" Автор: Андрей КрупинБлоки питания на любой случай, часть 2. 600–700 Вт Автор: Константин ИвановОбзор Samsung i5700 Galaxy Spica Автор: Алексей СтародымовСвоя играМодель чугунного дирижабля, или Учитель Добреску — 2 Автор: Василий ЩепетневКафедра Ваннаха: Нано-блюз Автор: Ваннах МихаилВасилий Щепетнёв: Разбор полётов перед стартом Автор: Василий ЩепетневКивино гнездо: За что боролись Автор: БЕРД КИВИОткрытые системы Королевского Флота Автор: Ваннах МихаилИнтерактивCeBIT 2010: первые новинки Автор: Алексей СтародымовReaDitorialMovavi: история развития Автор: Наталья ХудяковаГолубятня-ОнлайнГолубятня: Хули Холи Автор: Сергей ГолубицкийГолубятня: Бабу Автор: Сергей ГолубицкийГолубятня: Агора № 20 Автор: Сергей ГолубицкийНаука и жизньМарсианский экспресс Автор: Олег Волошин.