<<
>>

Переносимость

Windows рассчитана на разные аппаратные платформы, включая как CISC-системы Intel, так и RISC-системы. Windows NT первого выпуска поддерживала архитектуры x86 и MIPS. Спустя некоторое время была добавлена поддержка Alpha AXP производства DEC (DEC была приобретена Compaq, а позднее произошло слияние компаний Compaq и Hewlett Packard).

(Хотя Alpha AXP был 64 -разрядным процессором, Windows NT работала с ним в 32-разрядном режиме. B ходе разработки Windows 2000 была создана ее 64 -разрядная версия специально под Alpha AXP, но в свет она так и не вышла.) B Windows NT 3.51 ввели поддержку четвертой процессорной архитектуры — Motorola PowerPC. B связи с изменениями на рынке необходимость в поддержке MIPS и PowerPC практически отпала еще до начала разработки Windows 2000. Позднее Compaq отозвала поддержку архитектуры Alpha AXP, и в Windows 2000 осталась поддержка лишь архитектуры x86. B самые последние выпуски — Windows XP и Windows Server 2003 — добавлена поддержка трех семейств 64 -разрядных процессоров: Intel Itanium IA -64, AMD x86-64 и Intel 64 -bit Extension Technology (EM64T) для x86 (эта архитектура совместима с архитектурой AMD x86-64, хотя есть небольшие различия в поддерживаемых командах).
Последние два семейства процессоров называются системами с 64-разрядными расширениями и в этой книге обозначаются как x64. (Как 32 -разрядные приложения выполняются в 64 -разрядной Windows, объясняется в главе 3.)

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

• Windows имеет многоуровневую структуру. Специфичные для архитектуры процессора или платформы низкоуровневые части системы вынесены в отдельные модули. Благодаря этому высокоуровневая часть системы не зависит от специфики архитектур и аппаратных платформ.

Ключевые компоненты, обеспечивающие переносимость операционной системы, — ядро (содержится в файле Ntoskrnl.exe) и уровень абстрагирования от оборудования (HAL) (содержится в файле Hal.dll). Функции, специфичные для конкретной архитектуры (переключение контекста потоков, диспетчеризация ловушек и др.), реализованы в ядре. Функции, которые могут отличаться на компьютерах с одинаковой архитектурой (например, в системах с разными материнскими платами), реализованы в HAL. Еще один компонент, содержащий большую долю кода, специфичного для конкретной архитектуры, — диспетчер памяти (memory manager), но если рассматривать систему в целом, такого кода все равно немного.

• Подавляющее большинство компонентов Windows написано на C и лишь часть из них — на C++. Язык ассемблера применяли только при создании частей системы, напрямую взаимодействующих с системным оборудованием (например, при написании обработчика ловушек прерываний) или требующих исключительного быстродействия (скажем, при переключении контекста). Ассемблерный код имеется не только в ядре и HAL, но и в составе некоторых других частей операционной системы: процедур, реализующих взаимоблокировку, механизма вызова локальных процедур (LPC), части подсистемы Windows, выполняемой в режиме ядра, и даже в некоторых библиотеках пользовательского режима (например, в коде запуска процессов в Ntdll.dll — системной библиотеке, о которой будет рассказано в этой главе несколько позже).

<< | >>
Источник: М.Руссинович, Д.Соломон. Внутреннее устройство Microsoft Windows (главы 1–4). 2005

Еще по теме Переносимость:

  1. Кластер Низкая Переносимость Неприятного
  2. Луна и Сатурн.
  3. НЕВРАСТЕНИЯ
  4. 11.2. Значение кислорода для работы мозга
  5. Экстремальные морально-психологические факторы:
  6. Хилл М., Страустрап Б.. универсальный язык программирования, 1999
  7. 6. Особенности алкоголизации и делинквентного поведения
  8. Ситуационное лидерство и ситуационное использование оснований власти.
  9. Введение
  10. 1. Ядро характера
  11. Глава семнадцатая. Советы при лечении антидепрессантами В поисках «черной желчи»
  12. 2.1.1. Технология
  13. СТРУКТУРИРОВАHИЕ ВРЕМЕHИ
  14. СТРУКТУРИРОВАHИЕ ВРЕМЕHИ
  15. 1. 1. Пражурналистские явления
  16. Экстремальные морально-психологическиефакторы
  17. Аспекты с Нептуном.
  18. 1. Сущность характера