- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Журнал «Компьютерра» №41 от 08 ноября 2005 года - Журнал Компьютерра
Шрифт:
Интервал:
Закладка:
64-битный Linux
Операционные системы семейства *nix и особенно их разновидности с открытым исходным кодом никогда не испытывали затруднений с портированием на самые разные архитектуры. Unix вообще задумывалась как портируемая операционная система[Недаром же стандарт на Unix-системы называется POSIX - Portable Operation System Interface for computer environments], а множество добровольных помощников - неплохой способ сократить время отладки и тестирования новой разновидности «операционки» и драйверов для нее.
Именно это и позволило юниксоидам в полной мере использовать 64-битные x86-процессоры сразу же после того, как появились первые компиляторы, поддерживающие 64-битные инструкции x86-64. Благо что при желании собрать свой «64-битный» дистрибутив может любой человек, обладающий достаточными познаниями в программировании, организации и администрировании *nix-систем; а перекомпилировать «обычную» программу для того, чтобы она получила поддержку x86-64, в большинстве случаев может и обычный пользователь. В мире Unix-систем, в отличие от Microsoft Windows, поддержка технологии x86-64 происходит гораздо естественнее - если приложение (или драйвер) распространяется в «исходниках», то в большинстве случаев его достаточно «пересобрать» (заново откомпилировать программу); а если в «бинарниках» (в заранее откомпилированном виде) - то почти всегда этот бинарник представлен в целом ряде вариантов под разные версии *nix-систем, среди которых наверняка найдется подходящая версия под вашу конкретную операционную систему. Поскольку все вышесказанное относится и к драйверам (которые могут считаться пусть и не самостоятельными, но программами), то проблем с ними тоже, как правило, не возникает[Для некоторых устройств unix-драйверов попросту не существует - ни для 32-битных, ни для 64-битных версий операционных систем. Но эту ситуацию уже никак, естественно, не исправишь].
Мы попробовали установить один из современных дистрибутивов с поддержкой x86-64 - Linux Corporate Server 3.0 от компании Mandrake. С инсталляцией и опознанием оборудования трудностей не было (разве что аудиокодек не распознался); с компиляцией тестовых приложений - тоже. В отличие от своих Windows-собратьев, скомпилированные наиболее распространенным компилятором GCC эти приложения выиграли в производительности куда больше (до 40-50%). Дело в том, что GCC - кроссплатформный компилятор, способный генерировать машинный код для двух десятков разных процессорных архитектур, а потому код для каждой из архитектур он генерирует по более простым алгоритмам, нежели «заточенные» под IA-32 компиляторы, и потому от «подводных камней» x86 страдает больше. К примеру, в x86 рекордно мало регистров общего назначения и регистров SSE по сравнению с другими процессорами, на которые GCC рассчитан. Поэтому переход к удвоенному числу регистров общего назначения так сильно упрощает GCC работу, что он перестает «по-глупому» спотыкаться - и возникает большая «дельта» между результатами одной и той же программы в 32-битном и 64-битном режиме. Разумеется, это справедливо не для всех приложений, но для очень многих, так что если ваш процессор поддерживает технологию x86-64 и вы намерены установить на него операционную UNIX-систему - лучше заранее купите 64-битный дистрибутив.
Как пересобрать *nix-приложение для поддержки x86-64Большинство используемых в обычной жизни вариантов Linux ориентированы на работу с бинарными пакетами, и пересобирать программы в них приходится нечасто. Если вы хотите насладиться преимуществами 64-битной архитектуры, убедитесь, что заветные цифры «64» содержатся в номере версии вашего «дистро» - большинство крупных сборщиков поставляют специальные билды для этих целей. Впрочем, использовать или не использовать «продвинутые» дистрибутивы - вопрос открытый: Linux состоит из множества пакетов, и может статься, что нужная программа не собрана под 64-битную архитектуру в вашем репозитарии. Тогда можно попробовать собрать ее из исходников самостоятельно. Скорее всего, архитектура должна определиться автоматически (например, на этапе выполнения скрипта configure или при подготовке пакета из src.rpm-файла), и все нужные опции компилятора включатся без вашего участия. В особо запущенных случаях потребуется ручная правка Makefile. Здесь надо действовать по ситуации - но чаще всего будет достаточно добавить ключ -march ‹имя-архитектуры› при запуске gcc или g++[Например, -march k8 для сборки под AMD64 (полный перечень опций можно найти в документации gcс наwww.gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html
Microsoft Windows XP x64-bit edition
Говоря о технологии x86-64, невозможно не упомянуть, пожалуй, главную операционную систему, с которой пользователям этой технологии придется работать, - Microsoft Windows.
Можно долго рассуждать на тему, насколько интересна и востребована сегодня технология x86-64, но раз ее так или иначе поддерживают почти все новые процессоры, то у пользователей возникает вопрос иного рода: как 64-битность использовать на практике. Впрочем, очевидно, что для начала потребуется установить на компьютер 64-битную операционную систему.
Windows XP Professional x64 editionА поскольку для среднестатистического юзера понятия ОС и Microsoft Windows, можно сказать, равнозначны, то выбор у него не очень богатый: либо «более пользовательская» Windows XP Professional x64 edition, либо серверные разновидности Windows 2003 Server x64 edition. На самом деле выбор еще уже, поскольку, вопреки своему названию, Windows XP Professional x64 edition основывается отнюдь не на коде оригинальной Windows XP, а использует то же самое «ядро» от Windows 2003 Server. Так что какой бы вариант вы не предпочли, «достанется» вам примерно одно и то же, просто с разными настройками системы по умолчанию. «Обновлять» систему с 32 бит до 64 невозможно - в любом случае потребуется ее полная переустановка. Список доступных языков пока тоже невелик: либо английский, либо японский, либо пакет MUI с европейскими языками (в которые русский язык не включен); так что неопытному пользователю, боюсь, рекомендовать Windows x64 edition не приходится. Впрочем, еще год назад у Microsoft не было даже этого, так что даже такой скудный ассортимент - значительный шаг вперед.
Итак, все 64-битные варианты операционных систем от Microsoft основываются на ядре Windows 2003 Server и уже включают в себя первый сервис-пак к Windows 2003[Кстати, видимо, желание включить SP1 в состав x64 edition и вызвало длительную задержку с релизом Windows x64 edition], интерфейс DirectX 9.0c и медиаплейер Windows Media Player десятой версии. Единственное «видимое» отличие для пользователя этих «осей» от 2003 Server SP1 - это возможность запуска 64-битных приложений. Поддерживается как AMD64, так и EM64T, со всей сопутствующей последней технологии спецификой. В остальном чисто внешне новые операционные системы, если не считать красивых логотипов с подписями «x64 edition», ничем не отличаются от своих прародителей. Интерфейс, приемы работы в ОС, системные настройки - все остается прежним.
А вот «невидимых» программных изменений гораздо больше. К примеру, переход на 64-битную архитектуру и к 64-битным указателям должен был автоматически привести к тому, что все структуры Windows API, в которых эти указатели встречаются, разом устарели и потребовали замены. Проще говоря, переход к 64-битным вычислениям автоматически привел и к смене Windows API на новую, «64-битную» версию. Но поскольку подобного рода смена API не позволила бы запускать в новых «Окнах» 32-битные приложения (даже несмотря на поддержку такой возможности процессором), то «старый» API в ней тоже сохранили, реализовав его через специальный «переходник», конвертирующий данные из «старого» формата в новый и наоборот. Называется «переходник» WOW64 (Windows On Windows x64) и может сильно тормозить работу 32-битных приложений под 64-битной Windows. Вообще, ситуация, в которой 64-битные и 32-битные приложения вынуждены как-то налаживать взаимодействие друг с другом, уже привела к довольно забавным результатам. К примеру, в Windows x64 edition - целых два Internet Explorer’а: «новый» быстродействующий 64-битный и «старый» 32-битный, не столь проворный, зато совместимый со всевозможными 32-разрядными плагинами для Internet Explorer’а. Мелочь, конечно, но именно из таких мелочей складывается…
Общее впечатление от новой ОСВ целом оно очень хорошее. К примеру, Windows x64 «знает» практически все «железо» и содержит необходимые 64-битные драйверы к нему, так что установка ОС даже на новейшую платформу проходит быстро и с минимумом человеческого вмешательства. Все мыслимые дыры в системе безопасности «превентивно» залатаны свежайшим сервис-паком; старые программы работают без нареканий; 64-битные запускаются легко. Некоторые результаты, снятые на нашем тестовом стенде, вы можете видеть во врезках, а мы позволим себе вкратце их прокомментировать.
Пункт первый. За редчайшими исключениями 32-битные программы в Windows XP x64 edition работают нормально, но чуть медленнее, нежели в «родной» 32-битной Windows XP. Различия не столь велики, чтобы быть субъективно заметными, однако закономерность налицо. Кто в этом виноват - «режим совместимости», в котором приходится работать процессору, новое ядро Windows 2003 или «прослойка» WOW64, - непонятно, так что ситуация может варьироваться от приложения к приложению.

