Цифровой журнал «Компьютерра» 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 создаваемый машинный код


Еще от автора Журнал «Компьютерра»
Компьютерра, 2007 № 15 (683)

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


Компьютерра, 2008 № 01-02 (717-718)

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


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

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


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

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


Компьютерра PDA N54 (04.09.2010-10.09.2010)

ОГЛАВЛЕНИЕСергей Голубицкий: Голубятня: Оттачиваем дефиницииМихаил Карпов: Глава Twitter рассказал об информационной перегрузкеНиколай Маслухин: Промзона: Кроссовки из "Назад в будущее"Василий Щепетнев: Василий Щепетнёв: На пальмы!Юрий Ильин: Вокруг Apple сгущаются "облака"Михаил Карпов: Конкурс для любителей электронных книгИгорь Осколков: Клавиатура Thermaltake Challenger Pro для геймеровАндрей Письменный: IFA 2010: Раз планшет, два планшетВаннах Михаил: Кафедра Ваннаха: Мемристоры и приемные детиСергей Голубицкий: Голубятня: Почему умрёт AndroidНиколай Маслухин: Промзона: Стерилизатор кухонных досокМихаил Карпов: NASA разрабатывает "рой" спутников-"камикадзе"Олег Нечай: Память из оксида кремния: дефект не всегда дефектМихаил Карпов: Полиция совершила рейды на серверы "варезных" группЕвгений Крестников: Google Wave закроется не совсемМихаил Карпов: Семь самолётов помогут лучше понять ураганыНиколай Маслухин: Промзона: Браслет-смартфонМихаил Карпов: Google будет искать без запросовВасилий Щепетнев: Василий Щепетнёв: МетаинфляцияOtto Diggman: Readitorial: Сумма будущего.


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

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


Рекомендуем почитать
Компьютерра, 2007 № 43 (711)

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


Компьютерра, 2007 № 41 (709)

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


Компьютерра, 2008 № 40 (756)

Короткий анонс:Тема номера - российские нанотехнологии. Как прошел первый год работы "Роснано", и что будет с российскими нанотехнологиями дальше (или не будет).Кирилл Тихонов заинтересовался "принципиально новыми пользовательскими интерфейсами для карманных устройств" (почти цитата). Статья посвящена TUI, но сейчас 8.32 по Москве, и я не знаю, как сказать это по-русски :)Юрий Ревич и Евгений Козловский продолжают возиться с HD-телевидением, но, кажется, оба закончили в этом номере свои сериалы, Евгений Антонович уж точно.


Компьютерра, 2008 № 33 (749)

— Большая тема Юры Романова "Плоская Земля". Собственно, название говорящее. Тема о ГИС, Веб-ГИС и прочих картографических радостях.— Михаил Ваннах добрался до роботизированного катера охраны, Protector;— В Портфолио рассказ о том как Роберт Пропст, Скотт Адамс, компании Intel, IBM, HP, Steelcase и многие-многие другие пытались (в разное время) переизобрести внутреннее устройство современного офиса;— Парковки нет. Вместо нее материал Николая Языкова о Московском Автосалоне. На картинках, главным образом, девушки, но автомобилей тоже есть немножко;— В новостях целый разворот отведен новому браузеру Chrome (ему же посвящена обложка; точнее, даже не одна — у нас уже готово 2 варианта, но мы пока не можем решить, какой именно пойдет в печать);— Сергей Голубицкий воюет уже непонятно с кем и почему, но, как обычно, очень складно.


Компьютерра, 2008 № 31 (747)

Темы как таковой опять нет. На обложку вынесена статья Берда Киви о результатах официальных и независимых расследований био-терактов с рассылкой сибирской язвы по почте в 2001 году в США. По традиции, все там оказалось не так просто, как кажется ФСБ. И, возможно, даже сложнее, чем кажется Киви. Или много проще.Замечательное, на мой взгляд, исследование Александра Поддьякова о социальных аспектах "мультитачности", и о том, как дети 4-х лет переходят от споров к сотрудничеству.Илья Щуров взял интервью у Збигнева Бранецкого (aka Gandalf) — бывшего лидера польского сообщества Mozilla, ныне работающего в Mozilla Corporation.


Компьютерра, 2007 № 36 (704)

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


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

ОглавлениеКолонкаУкраина — большая Врадиевка. Выбранные места из переписки с российскими и пророссийскими друзьями Автор: Дмитрий ШабановСамый лучший сын самого плохого папы Автор: Сергей ГолубицкийПечальная сага о хитром байбэке Автор: Сергей ГолубицкийПеремены в интеллектуальном пейзаже Автор: Михаил ВаннахОб уродах, единорогах и государстве, или Почему большое и общее — это всегда плохо Автор: Сергей ГолубицкийО форумных шутках, неблагонадёжности и Новой Инквизиции Автор: Сергей ГолубицкийНейтринная астрономия выходит на промышленный уровень Автор: Дмитрий ВибеОнлайн-гэмблинг 2013: рождение новой легенды Автор: Сергей ГолубицкийIT-рынокПродажа воздуха в видеоиграх и тендеции рынка Автор: Андрей ВасильковМаленькое чудо Evntlive: эпитафия или новая жизнь? Автор: Сергей ГолубицкийПромзонаБиологическая обувь, которую мы будем носить в 2050 году Автор: Николай МаслухинЭлектровелосипед Solar Cross работает на солнечных батарейках Автор: Николай МаслухинУмное кольцо как конкурент умным часам Автор: Николай Маслухин«Сфера Ниндзя»: весь дом под контролем Автор: Николай МаслухинТехнологииЦифровой рычаг: как высокие технологии спасли и чуть не похоронили шестерых туристов в Неваде Автор: Евгений ЗолотовКраткая история вирусов: к 25-летию Червя Морриса Автор: Олег НечайЧистые руки и грязные тарелки: кто виноват в утечках миллионов паролей и не пора ли что-то менять? Автор: Евгений ЗолотовКто ты, Сатоши? Установить личность создателя Bitcoin необходимо для выживания криптовалюты Автор: Евгений ЗолотовКто и как контролирует ваш мобильник — и чем ещё порадует Сноуден до конца года? Автор: Евгений Золотов.


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

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


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

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


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

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