Читаем Журнал «Компьютерра» №41 от 08 ноября 2005 года полностью

Поэтому даже если бы в технологиях EM64T/AMD64 не было бы ничего сверх возможности оперировать с 64-битными указателями[Указатель на оперативную память (обычно просто говорят: указатель) - это ячейка памяти, в которой записывается номер другой ячейки. То есть, к примеру, мы можем как-то использовать в программе это число (номер ячейки) - присваивать его, изменять, увеличивать или уменьшать, а потом вызвать специальную операцию «разыменования» - взятия данных, расположенных по этому адресу в оперативной памяти. В C/C++ и подобных языках программирования указатели выделены в самостоятельный тип данных, и программист работает с ними «вручную»; в других языках «арифметику» указателей от программиста прячут, предлагая работать с более высокоуровневыми абстракциями, однако в машинном коде и оперативной памяти указатели встречаются почти всегда] на оперативную память, они по-прежнему оставались бы востребованными и своего покупателя все равно бы нашли. Но стоила бы в этом случае овчинка выделки?


Явные недостатки x86-64


Увы, нет. По крайней мере в ближайшие года три. Изменения регистров общего назначения и системы адресации памяти - совсем не то, что добавление новых регистров и новых инструкций для работы с ними. Расширения никак не влияют на работу старых программ, которые об их существовании и не догадываются; а вот пройти мимо изменений использующихся на каждом шагу регистров общего назначения - даже в уже существующих приложениях - невозможно. Очень часто приложения явным или неявным образом апеллируют к тому, что данные, которые они используют, имеют ту или иную длину и неожиданный сюрприз в виде занимающего не 4, а 8 байт указателя на оперативную память для них почти всегда фатален. Даже если программа не занимается «явным приведением типов», превращая их в 32-битные целые числа и обратно (это из сугубо программистских заморочек), то почти наверняка хоть где-нибудь она работает со структурой данных, в которую одним из компонентов входит тот самый указатель, и где для него отведено строго четыре байта, зажатых слева и справа данными той же или других структур. Так что подавляющее большинство существующих 32-битных программ в 64-битном режиме выполняться не будут.

Это не такая уж катастрофа, как может показаться: современные процессоры умеют быстро переключаться между 32- и 64-битным режимами, однако как минимум одно приложение, работающее на 64-битном компьютере, эти «нововведения» все-таки должно поддерживать. Ибо если даже операционная система, заведующая менеджментом виртуального адресного пространства, будет работать в 32-битном режиме, то ради чего мы боролись? Поэтому сформулируем «принцип номер один» для 64-битных систем: для поддержки 64-битности операционная система тоже должна быть 64-битной. Правда, объем переделок, которые для этого требуются, велик, но не бесконечен - релизы UNIX-систем с поддержкой AMD64 появились всего лишь несколькими месяцами позже представления новых систем, так что если бы этим дело и ограничилось, то особых поводов для беспокойства не возникло. Но, к сожалению, драйверы для операционных систем - это часть ОС, и, волей-неволей, они тоже должны быть 64-битными. А поскольку драйверы пишут тысячи и десятки тысяч «сторонних разработчиков», которым отнюдь не улыбается одновременно поддерживать 32- и 64-битные версии, не говоря о том, чтобы создавать драйвер для «железки», выпуск которой уже два года как прекращен, то это уже очень серьезная проблема, не решенная до сих пор[Сообществу OpenSource проще: там почти ко всем драйверам идут исходники, и зачастую достаточно простой перекомпиляции исходников, чтобы получить из 32-битной версии 64-битную или наоборот. Юниксоиды вообще стараются по возможности создавать переносимый код, который можно использовать с минимумом изменений на разных платформах; но даже если перекомпиляции недостаточно, то «модификация» этих исходников с исправлением тонких мест, вызывающих проблемы с 64-битностью, в принципе доступна любому мало-мальски грамотному программисту. Поэтому с «опенсорсными» 64-битными драйверами особых проблем сейчас нет. А вот с «фирменными» (вроде поддерживающего в Linux аппаратное ускорение OpenGL-драйвера для видеокарт nVidia) есть, хотя вендоры и стараются оперативно их решать].

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

Все книги серии Компьютерра

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

«Если», 2003 № 03
«Если», 2003 № 03

Кейдж БЕЙКЕР. КАРАВАНЛюбители острых ощущений могут готовиться к походу. Путь неблизкий, мир странный, компания подобралась душевная — что еще надо?Геннадий ПРАШКЕВИЧ. ПЕРСТЕНЬ НА ТРИ ЖЕЛАНИЯА как у вас там с фамилией?Стивен ПАЙЗИКС. ЗАВИСИМОСТЬКто-то берется за спицы из любви к рукоделию, кто-то — успокоить нервы, а кто-то — совсем с иной целью.Кирилл БЕНЕДИКТОВ. КОНКИСТАДОР В СТРАНЕ СНОВПалач смакует свою роль, забавляясь наивным неведением «клиента». А тот все толкует о каком-то Пути Богов.Александр ЗОРИЧ. ВТОРОЙ ПОДВИГ ЗИГФРИДАПрекрасная Кримхильда видела много подвигов в свою честь, но о таком и помыслить не смела.Еугениуш ДЕМБСКИЙ. ВОЛЯ ДРАКОНАХотите рассмотреть изнанку героической фэнтези?Андрей ЛЕГОСТАЕВ. ТОСТ В ЧЕСТЬ ПОБЕДИТЕЛЯПраво же, так и вспоминается Олимпиада в Солт-Лейк-Сити…ВИДЕОДРОМДеликатесы города потерянных детей… Звонят, откройте телевизор… Экранизации не горят!.. Явление Горлума народу.ВЕРНИСАЖМы говорили — «героическая фэнтези», подразумеваем — «Фразетта».Виталий КАПЛАН. ДИНАМО-МАШИНА, ИЛИ ВЕЧНЫЙ ДВИГАТЕЛЬ ФАНТАСТИКИПисатели на скоростных магистралях… А может, притормозить?ЭКСПЕРТИЗА ТЕМЫ«В принципе, я согласен, но хочу возразить…»РЕЦЕНЗИИЗаглянем в книжный магазин.КУРСОРНовый Grand Master, творческие планы, неизвестная книга Дж. P.P. Толкина и прочие новости.Мария ГАЛИНА. УНИВЕРСАМ ПРОТИВ УНИВЕРСУМАПисателю хорошо известно, на чем стоит мир. Особенно, если мир плоский.АЛЬТЕРНАТИВНАЯ РЕАЛЬНОСТЬПредставляем второго победителя конкурса для начинающих фантастов.Глеб ЕЛИСЕЕВ. КОЛЛЕКТИВНЫЙ РАЗУМИтоги голосования на сайте «Русская фантастика».Бела КЛЮЕВА. ЗДРАВСТВУЙТЕ, Я ВАША БАБУШКА!…заявляет старейший редактор фантастики и имеет на это звание полное право.ПЕРСОНАЛИИИнтернациональный экипаж номера.

Белла Клюева , Виталий Каплан , Дмитрий Володихин , Евгениуш Дембский , Екатерина Постникова

Фантастика / Фэнтези / Эссе / Проза / Журналы, газеты / Научная Фантастика
«Если», 2000 № 07
«Если», 2000 № 07

ФАНТАСТИКАЕжемесячный журналСодержание:Марина и Сергей Дяченко. ПОСЛЕДНИЙ ДОН КИХОТ, повестьНельсон Бонд. КНИЖНАЯ ЛАВКА, рассказШ. Н. Дайер. НОСТАЛЬДЖИНАВТЫ, рассказВИДЕОДРОМ*Адепты жанра--- Сергей Кудрявцев. ФИНСКИЙ КРЕПКИЙ ОРЕШЕК, статья*Фестиваль--- Николай Кузнецов. ПОБЕДА ВИРТУАЛЬНОГО НАД КОСМИЧЕСКИМ, статья*Рецензии*Писатель о кино--- Сергей Лукьяненко. МАУС-АМЕРИКАНУС, ИЛИ ВИДОВАЯ ПОЛИТКОРРЕКТНОСТЬ, статья*Экранизация--- Сергей Шикарев. ХОРОШО ЗАБЫТОЕ СТАРОЕ, статьяДэвид Хэст. ЯЩИК ПАНДОРЫ, рассказЭнтони Бёрджесс. МУЗА, рассказОрсон Скотт Кард. СОВЕТНИК ПО ИНВЕСТИЦИЯМ, повестьЛитературный портрет*Вл. Гаков. ПРОПОВЕДЬ-БЕСТСЕЛЛЕР, статьяНиколь Монтгомери. НЕРАЗЛУЧНЫЕ, повестьВладимир Михайлов. ХОЖДЕНИЕ СКВОЗЬ ЭРЫ, начало эссеДмитрий Володихин. ПОТАНЦУЕМ?… статьяРецензииКрупный план*Виталий Каплан. НАЧАЛО ОТВЕТА, статья2100: история будущего*Леонид Кудрявцев. СЛУЧАЙНАЯ НАХОДКА, статьяКурсорКонсилиум*Борис Стругацкий: «ОТВЕТ ОЧЕВИДЕН И ОДНОЗНАЧЕН».PersonaliaНа обложке иллюстрация Игоря Тарачкова к повести Орсона Карда «Советник по инвестициям».Иллюстрации: С. Шехова, Т. Ваниной, О. Дунаевой, О. Васильева, А. Юрьевой, И. Тарачкова, А. Филиппова. 

Борис Натанович Стругацкий , Владимир Гаков , Журнал «Если» , Леонид Викторович Кудрявцев , Николай Викторович Кузнецов

Фантастика / Журналы, газеты / Научная Фантастика