Windows поставляется как в клиентских, так и в серверных версиях. Наданныймоментсуществуетшестьклиентскихверсий Windows 7: Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Ultimate, Windows 7 Enterprise и Windows 7 Starter.
Существуетсемьразличныхсерверныхверсий Windows Server 2008 R2: Windows Server 2008 R2 Foundation, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter, Windows Web Server 2008 R2, Windows HPC Server 2008 R2 и Windows Server 2008 R2 for Itanium-Based Systems (выпуском Windows дляпроцессора Intel Itanium).
Кроме этого существуют клиентские «N»-версии, не включающие в себя WindowsMediaPlayer. И наконец, версии WindowsServer 2008 R2 Standard, Enterprise и Datacenter также включают выпуски «с Hyper-V», в которых присутствует Hyper-V.
Все эти версии отличаются друг от друга следующими показателями:
- числом поддерживаемых процессоров (в понятиях сокетов, а не ядер или потоков);
- объемом поддерживаемой физической памяти (фактически, самый большой физический адрес, доступный для оперативной памяти);
- количеством поддерживаемых параллельных сетевых подключений (Например, в клиентской версии к файловым и принтерным службам допускается максимально 10 параллельных подключений.);
- поддержкой Media Center;
- поддержкой Multi-Touch, Aero и Диспетчера рабочего стола (Desktop Compositing);
- поддержкой таких свойств, как BitLocker, VHD Booting, AppLocker, Windows XP Compatibility Mode и более ста других значений настраиваемой политики лицензирования;
- многоуровневыми службами, поставляемыми с версиями Windows Server и не поставляемыми с клиентскими версиями (например, службами каталогов и кластеризации).
Различия в поддержке памяти и процессоров для Windows 7 и Windows Server 2008 R2 показаны в табл. 2.2. Подробная сравнительная таблица различных версий Windows Server 2008 R2 представлена на веб-сайте www.microsoft.com/windowsserver2008/en/us/r2-compare-specs.aspx.
Содержание:
Различиямежду Windows 7 и Windows Server 2008 R2.
Количество поддерживаемых Сокетов (32-разр. версия) | Объем поддерживаемой физической памяти (32-разр. версия), Гбайт | Количество поддерживаемых сокетов (64-разр. версия) | Объем поддерживаемой физической памяти (Itanium- версии), Гбайт | Объем поддерживаемой физической памяти (x64- версии), Гбайт |
|
---|---|---|---|---|---|
Windows 7 Starter 1 | 1 | 2 | Нет | Нет | 2 |
Windows 7 Home Basic | 1 | 4 | 1 | Нет | 8 |
Windows 7 Home Premium | 1 | 4 | 1 | Нет | 16 |
Windows 7 Professional | 2 | 4 | 2 | Нет | 192 |
Windows 7 Enterprise | 2 | 4 | 2 | Нет | 192 |
Windows 7 Ultimate | 2 | 4 | 2 | Нет | 192 |
Windows Server 2008 R2 Foundation | Нет | Нет | 1 | Нет | 8 |
Windows Web Server 2008 R2 | Нет | Нет | 4 | Нет | 32 |
Windows Server 2008 R2 Standard | Нет | Нет | 4 | Нет | 32 |
Windows HPC Server 2008 R2 | Нет | Нет | 4 | Нет | 128 |
Windows Server 2008 R2 Enterprise | Нет | Нет | 8 | Нет | 2048 |
Windows Server 2008 R2 Datacenter | Нет | Нет | 64 | Нет | 2048 |
Windows Server 2008 R2 for Itanium-Based Systems | Нет | Нет | 64 | 2048 | Нет |
Несмотря на то что операционная система Windows распространяется в виде нескольких клиентских и серверных пакетов поставки, все они используют один и тот же набор основных системных файлов, включая образ ядра, Ntoskrnl.exe (а в PAE-версии Ntkrnlpa.exe), HAL-библиотеки, драйверы устройств и базовые системные утилиты и DLL-библиотеки. Эти файлы идентичны для всех версий Windows 7 и WindowsServer 2008 R2.
Откуда, при наличии такого разнообразия версий Windows с одинаковым образом ядра, система знает, какую именно версию загружать? Для этого делается запрос значений реестра ProductType и ProductSuite, находящихся в разделе HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions. Значение ProductType используется для того, чтобы отличить клиентскую систему от серверной (любой разновидности).
Эти значения загружаются в реестр на основе рассмотренного ранее файла политики лицензирования. Допустимые значения перечислены в таблице. Это значение может быть запрошено из функции пользовательского режима GetVersionEx или из драйвера устройства с помощью вспомогательной функции режима ядра RtlGetVersion.
Значения параметра ProductType, имеющегося в реестре.
Версия Windows | Значение ProductType |
---|---|
Windows client | WinNT |
Windows server (контроллер домена) | LanmanNT |
Windows server (только сервер) | ServerNT |
Другое значение реестра, ProductPolicy, содержит кэшированную копию данных, находящихся в файле tokens.dat, который устанавливает различия между версиями Windows и допускаемыми в них функциями.
Если пользовательским программам нужно определить, под какой версией Windows они работают, они могут вызвать Windows-функцию VerifyVersionInfo (см. документацию по SDK). Драйверы устройств могут вызвать функцию режима ядра RtlVerifyVersionInfo (см. документацию по WDK).
Но если основные файлы, по сути, одинаковы для клиентской и серверной версий, чем системы отличаются в работе? Вкратце, серверные системы по умолчанию оптимизированы под системную пропускную способность, позволяющую им выступать в роли высокопроизводительных серверов приложений, а клиентская версия (при наличии серверных возможностей) оптимизирована по времени отклика для интерактивного использования в качестве рабочего стола.
Например, на основе типа продукта по-другому принимается ряд решений по распределению ресурсов в процессе загрузки системы. В частности, это касается размеров и количества областей памяти, выделяемых программе для динамически размещаемых структур данных (или пулов), количества внутренних рабочих потоков системы и размера кэш-памяти системных данных. Также серверная и клиентская версии отличаются друг от друга решениями политики времени выполнения, способом учета диспетчером памяти потребностей в системной памяти и в памяти процессов.
Отличия между двумя семействами прослеживаются даже в некоторых деталях диспетчеризации потоков, составляющих их поведение по умолчанию. Все существенные функциональные различия между двумя продуктами выделены в соответствующих главах данной книги. Если не сделано специальных оговорок, то все, описанное в данной книге, относится как к клиентским, так и к серверным версиям.
Эксперимент: Определение возможностей, разрешенных политикой лицензирования.
Как уже ранее упоминалось, Windows поддерживает более ста различных функций, которые могут быть разрешены посредством механизма лицензирования программного обеспечения. Соответствующие настройки политики определяют различия не только между клиентской и серверной установками, но также и отличие каждой версии (или идентификатора товарной позиции — stock-keeping unit, SKU) операционной системы, в частности это касается поддержки такого средства, как BitLocker (доступного на серверных версиях Windows, а также на клиентских версиях Windows Ultimate и Enterprise). Для отображения значений политики, определенной для вашей машины, можно воспользоваться средством SlPolicy, доступным на веб-сайте Winsider Seminars & Solutions (www.winsiderss.com/tools/slpolicy.htm).
Настройки политики организованы по объектам, представляющим владельца модуля, к которому применяется политика. Запустив программу Slpolicy.exe с ключом –f, можно вывести список всех объектов, имеющихся в вашей системе:
C:\>SlPolicy.exe -f
SlPolicy v1.05 - Show Software Licensing Policies
Copyright (C) 2008-2011 Winsider Seminars & Solutions Inc.
www.winsiderss.com
Software Licensing Facilities:
Kernel
Licensing and Activation
Core
DWM
SMB
IIS
.
.
.
Чтобы вывести значение политики в отношении любого объекта, можно после ключа добавить его имя. Например, чтобы просмотреть ограничения, касающиеся центральных процессоров, доступной памяти нужно указать объект ядра — Kernel. Для машины с запущенной системой Windows 7 Ultimate можно ожидать следующий вывод:
C:\>SlPolicy.exe -f Kernel
SlPolicy v1.05 - Show Software Licensing Policies
Copyright (C) 2008-2011 Winsider Seminars & Solutions Inc.
www.winsiderss.com
Kernel
------
Processor Limit: 2
Maximum Memory Allowed (x86): 4096
Maximum Memory Allowed (x64): 196608
Maximum Memory Allowed (IA64): 196608
Maximum Physical Page: 4096
Addition of Physical Memory Allowed: No
Addition of Physical Memory Allowed, if virtualized: Yes
Product Information: 1
Dynamic Partitioning Supported: No
Virtual Dynamic Partitioning Supported: No
Memory Mirroring Supported: No
Native VHD Boot Supported: Yes
Bad Memory List Persistance Supported: No
Number of MUI Languages Allowed: 1000
List of Allowed Languages: EMPTY
List of Disallowed Languages: EMPTY
MUI Language SKU:
Expiration Date: 0