Wednesday, August 31, 2011

Windows内核学习-2.2

可扩展性(Scalability):
  • 在任何可用的处理器上同时执行代码
  • 同一进程内的多线程可以同时在多个处理器上执行
  • 与内核、驱动、服务器进程进行良好同步(自旋锁,自旋锁队列等),多组件可以同时在多核上运行
  • I/O接口等编程机制可以在具有多线程的服务进程上良好实现,并扩展至多处理器
ClientServer版本的差异:
  • Windows 2000
    • Client: Windows 2000 Professional
    • Server: Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server
  • Windows XP,均为client版本:
    • Windows XP Starter Edition
    • Windows XP Home Edition
    • Windows XP Professional Edition
      (
      已下三种与professional具有相同的系统核心)
    • Windows XP Tablet PC Edition
    • Windows XP Media Center Edition
    • Windows XP Embedded
  • ClientServer主要在支持的处理器数、物理内存数、网络并发连接数方面存在不同。Server同时还提供特殊的分层服务,如directory services, clusteringmultiuser Terminal Services等。
  • Windows Server 2003的大部分组件相对于Windows XP未作改变,是Server版。
  • Windows XPWindows 2003的差异
Number of Processors Supported (32-bit edition)
Physical Memory Supported (32-bit edition)
Number of Processors Supported (64-bit edition)
Physical Memory Supported (Itanium editions)
Physical Memory Supported (x64 editions)
Windows XP Home Edition
1
4 GB
Not available
Not available
Not available
Windows XP Professional
2
4 GB
2
16 GB
16 GB
Windows Server 2003 Web Edition
2
2 GB
Not available
Not available
Not available
Windows Server 2003 Small Business Server
2
2 GB
Not available
Not available
Not available
Windows Server 2003 Standard Edition
4
4 GB
Not available
Not available
Not available
Windows Server 2003 Enterprise Edition
8
32 GB
8
64 GB
64 GB
Windows Server 2003 Datacenter Edition 32
128 GB on x64;
64 GB on x86
64
512 GB (1024 GB in SP1)
Not available
  • Windows Server 2003各版本的差异
  • 系统通过HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions下的ProductType键值来判断系统是Client还是Server: ServerNTWinNT,并存储为全局变量MmproductType.通过ProductSuite来判断各种版本。
  • Windows下用户编程通过VerifyVersionInfo函数来判断操作系统版本。设备驱动程序通过内核模式函数RtlGetVersion来获得。
  • Server会为系统吞吐优化,Client则为桌面交互的反应时间优化。
Checked build, debug version, Windows重新编译时的版本号,编译时定义了DBG标志,Windows 2000 Professional Windows XP ProfessionalWindows Server 2003,进行更严格的错误检查。大部分checked build代码包含断言,便于调试。

可以用如下VBScript检查版本:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colOperatingSystems = objWMIService.ExecQuery ("SELECT * FROM Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
Wscript.Echo "Caption: " & objOperatingSystem.Caption
Wscript.Echo "Debug: " & objOperatingSystem.Debug
Wscript.Echo "Version: " & objOperatingSystem.Version
Next

Windows体系结构:

1 comment:

  1. The history of Windows dates back to September 1981, when Chase Bishop, a computer scientist, designed the first model of an electronic device and project "Interface Manager" was started. It was announced in November 1983 (after the Apple Lisa, but before the Macintosh) under the name "Windows", but Windows 1.0 was not released until November 1985.

    Thanks
    Michael
    isa computer

    ReplyDelete