Шрифт:
Интервал:
Закладка:
То есть, запуская любую программу, система предварительно удостоверяется в полной легитимности работы и, следовательно, полностью контролирует процесс её выполнения. Это и есть идея управляемого выполнения кода.
В такой модели работы процессов для них не требуется аппаратно выделять изолированные адресные пространства памяти и следить за тем, чтобы их границы не были нарушены. Поскольку все будущие действия процесса верифицированы и строго доказана их безопасность для системы и других процессов, то можно сказать, что работа процессов изолирована друг от друга программным способом. Даже располагаясь в едином адресном пространстве памяти, процессы не смогут помешать работе друг друга.
Но разве предварительная верификация кода не снижает производительность системы? Ведь такая проверка не менее затратна по времени и ресурсам, чем переключение процессов.
Ответ на этот вопрос кроется в прогрессе программных платформ управляемого выполнения кода. Основанные на типобезопасных языках, таких, например, как Java или C#, и высокопроизводительных runtime компиляторах, способных "на лету" генерировать оптимальный и дотошно проверенный код, на системах сборки мусора, корректно очищающих память после завершения работы программы, подобные платформы в последнее время сделали гигантский скачок в плане производительности. Теперь она соизмерима с выполнением обычного неуправляемого кода.
Процесс управляемого выполнения кода - основа архитектуры системы Singularity. Базируется он на спецификации Microsoft CLS (Common Language Specification), поддержка которой открыта для многих из имеющихся и вновь разрабатываемых языков программирования и компиляторов для них. Согласно CLS, эти компиляторы не генерируют неуправляемый код, а создают некий промежуточный код на языке MSIL (Microsoft Intermediate Language). Дополнительно с генерацией кода MISL они создают манифест - метаданные программы, в которых чётко описаны её типы, сведения о необходимых программе внешних объектах и правила взаимодействия с ними. Код MISL и манифест упаковываются в исполняемый PE (portable executable) файл.
Спецификация Microsoft CLS лежит в основе не только системы Singularity, но и среды разработки для традиционных систем .NET Framework
Дальше происходит компиляция MISL-кода в машинный код, специфичный для системы команд процессора, на котором запущена Singularity. Занимаются этим процессом или JIT-компилятор (just-in-time), генерирующий машинные команды для процессора "на лету", или же программа-генератор NGen (Native Image Generator), создающая традиционный исполняемый образ. Важным является то, что в ходе работы и JIT-компилятора, и программы NGen создаваемый машинный код проверяется на типобезопасность. В случае доказательства того, что полученный код типобезопасен, он исполняется, в противном случае генерируется исключение. Программа не прошла проверку и требует внесения изменений в свой исходный текст.
Проверка на типобезопасность кода каждой программы возможна только тогда, когда чётко доказана корректность работы всех компонентов системы управляемого выполнения кода. В настоящее время в Singularity для процессоров Intel x86 код MSIL компилируется в машинные инструкции компилятором Bartok, разработанным в той же Microsoft Research. При этом команда Singularity исходит из предположения, что Bartok не содержит ошибок и гарантированно создаёт типобезопасный машинный код.
В будущем должен быть создан специальный типизированный ассемблер TAL (Typed Assembly Language), который потребует от каждой программы доказательств её типобезопасности.
Читайте далее:Система строгого режима: Microsoft Singularity (часть 2)
Василий Щепетнёв: Мерзость запустения
Автор: Василий Щепетнев
Опубликовано 22 июня 2011 года
Воронежский парк отдыха и культуры в иные времена славился и сельскохозяйственной выставкой с показом быков, соболей и яйценоских кур, и шахматным павильоном, и прудом с цветущими лилиями (впрочем, лилии существовали преимущественно в воображении), и лягушками, которых малолетние обыватели ловили и за медные деньги сдавали в медицинский институт для опытов, и пивными ларьками, где продавали жигулёвское пиво гранёными полулитровыми кружками. Где оно теперь, то пиво, двадцать четыре копейки с пеной, теоретически по ГОСТу содержавшее два и семь десятых градуса спирта, а на деле нещадно разбавленное водой (и какой водой!), дарившее не столько хмель, сколько форсированный диурез?..
И была в парке лыжная база. Зимой физически активные личности брали лыжи и сдавали нормы ГТО на страх агрессору, летом же работники базы готовили спортинвентарь к зиме. А ещё базу украшала памятная доска, извещавшая всякого грамотного человека: на этом месте в июне одна тысяча восемьсот семьдесят девятого года состоялся съезд противоправительственной организации "Земля и воля". Регулярного парка тогда не существовало, съезжались прямо в лесочке, среди деревьев, с выпивкой и закускою - для конспирации. Плеханов, Михайлов, Желябов, Фигнер, Перовская, Морозов изображали беспечных гуляк, а на деле решали вопрос, каким путём пойдёт демократическое движение.
Тогда не было камер скрытого и явного наблюдения, даже моментальной фотографии не существовало, а фотографии обыкновенные, студийные считались делом сложным, канительным и затратным. Потому соответствующие службы обходились словесными портретами и полагались не на технику, а на собственные глаза, уши и ноги. На каждом этапе сыскного процесса рассчитывать приходилось только на людей. Но штат жандармского управления губернии при Александре Николаевиче не шёл ни в какое сравнение с современным. А в уездных городах профессионалов политического сыска не было вовсе, именно поэтому, а не из любви к минеральным водам народовольцы собирались в местах красивых, но безнадёжно провинциальных - Воронеж, Липецк...
Однако провинция провинцией, а и здесь зевать не приходилось. Жандарм был редок, но самый обыкновенный дворник обладал глазом, зорким на всякую подозрительную затею. Институт дворников, исправно служивший престолу в дореволюционной России и печально деградировавший сегодня, стоил дорогого. Дворники знали всё! Род занятий жильцов, размер дохода, что едят на завтрак в пятой квартире, кого бранят в седьмой... Замечали прибытие и убытие гостей и родственников, покупку колб и реторт, шумы, стуки и химические запахи из форточки. И при этом дворники убирали дом, затворяли ворота и совершали массу других малозаметных, но необходимых действий.
Собраться скрытно, не вызывая подозрения, даже втроём-вчетвером было непросто. Вот и устраивали именины, смотрины, крестины с водкою и без, но и при капитальных стенах дворник слышал достаточно. Потому приходилось изучать старые и открывать новые законы конспирации. Легко сказать - изучать, но где взять учебник? Даже во времена всеобщего увлечения биографией Ленина много ли было известно широким массам трудящихся о том, какими именно приёмами конспирации пользовался Ильич, как уходил от слежки, по какой системе шифровала письма Надежда Константиновна, чем обеспечивалась связь центра и периферии революционной организации? Ну да, в четвёртом классе читали хрестоматийный рассказ, как Ленин из тюрьмы писал молоком между строк, но вдруг это делалось для отвода глаз, а истинные приказы и распоряжения шли между строк молочных?
Но Ленин, большевики - впереди, а сейчас, в восемьсот семьдесят девятом году, слово за другими.
Деревенщики, возглавляемые Плехановым, стояли за эволюцию: просвещение, распространение социалистических идей, повседневная работа с крестьянскими массами. Исполкомовцы же, то есть члены Исполнительного Комитета, - Желябов, Фигнер, Перова надеялись больше на террор. Собственно, здесь, в Воронеже, и произошёл раскол "Земли и воли" на сравнительно умеренный "Чёрный передел" и бескомпромиссную "Народную волю", объявившую сезон охоты на царя отрытым. Охота продолжалась менее двух лет и закончилась гибелью Александра Второго.
Как им это удалось?
Вопрос не только исторический. Призрак Гриневицкого преследует правителей неотступно. Стреляли в Ленина, Брежнева, Горбачёва достоверно. Сталина, если верить домыслам, под занавес отравили. Ельцин и воду прошёл, и авиакатастрофу претерпел. Кто на новенького?
Я и захотел проникнуться духом, побывать в эпицентре истории, пусть и спустя изрядное время. Глядишь, уловлю связь времён. Сел в плохонький автобус и за девять рублей был доставлен на историческое место.
Сегодня воронежский парк отдыха и культуры представляет собою иллюстрацию на тему "мерзость запустения". Прудик зарос, павильоны сгорели или разрушились, быки и ондатры ликвидированы как класс, о пиве и не мечтайте. Мемориальная табличка с лыжной базы исчезла, да и сама база пребывает в состоянии полнейшей разрухи, агрессор может спать спокойно.
- Компьютерра PDA 13.03.2010-19.03.2010 - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA N89 (15.01.2011-21.01.2011) - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA 06.02.2010-12.02.2010 - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA 20.02.2010-26.02.2010 - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA 20.03.2010-26.03.2010 - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA N109 (30.04.2011-06.05.2011) - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA N138 (01.10.2011-07.10.2011) - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA N142 (22.10.2011-28.10.2011) - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA N113 (28.05.2011-03.06.2011) - Компьютерра - Прочая околокомпюьтерная литература
- Компьютерра PDA N143 (29.10.2011-04.11.2011) - Компьютерра - Прочая околокомпюьтерная литература