Может кто-нибудь объяснить этот пример нумерации версий ОС Windows? - PullRequest
2 голосов
/ 19 марта 2011

Я наткнулся на эту странность сегодня, играя с некоторым кодом, чтобы идти по разным путям в приложении в зависимости от того, какая ОС Windows работает.Следующий код:

OperatingSystem os = Environment.OSVersion;
Version v = os.Version;
string osv = v.ToString();
Console.WriteLine("Revision=" + v.Revision.ToString());
Console.WriteLine("MinorRevision=" + v.MinorRevision.ToString());
Console.WriteLine("Minor=" + v.Minor.ToString());
Console.WriteLine("Major=" + v.Major.ToString());
Console.WriteLine("MajorRevision=" + v.MajorRevision.ToString());
Console.WriteLine(osv);

На моей рабочей станции XP SP3 отображается код, приведенный выше:

Revision=196608
MinorRevision=0
Minor=1
Major=5
MajorRevision=3
5.1.2600.196608

На одном из наших серверов Win2003 SP2 отображается:

Revision=131072
MinorRevision=0
Minor=2
Major=5
MajorRevision=2
5.2.3790.131072

Я был немного удивлен этим, так как номер основной версии предполагает, что XP и Windows Server 2003 - это, в основном, одна и та же версия Windows, с незначительным отличием в версии.Не совсем уверен, что означает термин «MajorRevision».

Я предполагал, что третьим термином в полном номере версии является номер сборки, но v.Build фактически возвращает пустое значение в обоих случаях.

Ответы [ 6 ]

8 голосов
/ 19 марта 2011

Это номер версии ядра Windows NT.

  • 5.0: Windows 2000
  • 5.1: Windows XP
  • 5.2: Windows Server 2003
  • 6.0: Windows Vista, Windows Server 2008
  • 6.1: Windows 7, Windows Server 2008 R2

Windows Server 2003 на самом деле довольно похож на Windows XP на уровне ядра, хотя, очевидно, существует много различий в уровнях над ядром. Ядро Windows Server 2008 фактически совпадает с ядром Windows Vista с пакетом обновления 1 (SP1), поэтому первый пакет обновления для Server 2008 назывался SP2. И Windows 7 и Server 2008 R2 не только используют одно и то же ядро, но вы даже можете использовать один и тот же пакет обновления для обновления их обоих до SP1.

Номер версии для Windows, версия.

2 голосов
/ 19 марта 2011

http://msdn.microsoft.com/en-us/library/ms724832(v=vs.85).aspx

Серверы XP и 2003 по сути происходят из одного мира, причем второстепенная версия (в вашем случае, 2 или 1) является определяющим фактором между ними.

1 голос
/ 19 марта 2011

С MSDN

MajorRevision Получает старшие 16 бит номера ревизии. MinorRevision Получает младшие 16 бит номера ревизии.

3-й номер на самом деле Version.Build. Это не может быть пустым, это число.

1 голос
/ 19 марта 2011

Что с ним не так? Большинство источников (ядро, оболочка и т. Д.) Совместно используются клиентскими и серверными версиями операционных систем Windows, основные различия заключаются в дополнительном программном обеспечении (например, AD server & co) и настройках системных компонентов (например, более длинные кванты планировщика).

Сервер Windows 2003 в основном основан на кодовой базе XP, год разработки продолжался год (XP родился в 2002 году); это типичный график выпуска серверов Windows (через 1 год после того, как клиентская операционная система основана на нем).

Общая информация: вы также можете заметить, что версия Windows XP для IA64 - 5.2, поскольку она основана на кодовой базе сервера 2003 года (поскольку это была "современная" Windows, которую они имели, когда начали работать над IA64).

1 голос
/ 19 марта 2011

Это довольно точно. Код ядра, который делает ядро ​​Windows одинаковым для XP и Windows 2003. Это также произошло позже, Vista и Windows 2008 используют одно и то же ядро. И Win7 и Windows 2008 R2.

0 голосов
/ 19 марта 2011

Я полагаю, что MajorRevision относится к значению пакета обновления.

Здесь много информации здесь , хотя наименование выглядит немного по-другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...