Thoughts from the EPS Windows Server Performance Team
Day Fourteen - we are past the halfway point. A good portion of the next two weeks will be devoted to Terminal Services and the new TS features. So strap in, and let's get started ...
We talked about the Windows Server 2008 Startup Processes in an earlier post. SMSS.EXE is still the first user-mode process created during the boot process as in previous versions of Windows. The change is that now SMSS.EXE launches a second instance of itself to configure Session 0, which is dedicated to system processes. The instance of SMSS.EXE dedicated to Session 0 launches the Windows Startup Application (WININIT.EXE) as well as an instance of CSRSS.EXE for Session 0, after which it exits. WININIT.EXE continues the startup process by starting SERVICES.EXE and LSASS.EXE as well as a new process, the Local Session Manager (LSM.EXE) which manages Terminal Server connections for the machine.
The Service Control Manager initializes the system services including the Terminal Services service which is implemented in termsrv.dll and hosted in an instance of SVCHOST.EXE. The Terminal Services stack driver, termdd.sys, is loaded and creates a listener thread to listen for incoming connections on TCP port 3389. When a session request is detected, the RDP listener thread creates a new RDP stack instance to handle the new session request. The listener thread hands over the incoming session to the new RDP stack instance and continues listening on TCP port 3389 for further connection attempts.
When a user logs on, either at the console or via Terminal Services, the initial Session Manager process creates a new instance of itself to configure the new session. The new SMSS.EXE process starts a CSRSS.EXE process, a Windows Logon process (WINLOGON.EXE) and a per-session instance of the Window Manager (WIN32K.SYS). WINLOGON.EXE starts the processes listed in the following registry key (USERINIT.EXE by default): HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\Userinit. USERINIT.EXE starts the process defined as the shell in the following registry key (EXPLORER.EXE by default on full installations of Windows Server 2008 and CMD.EXE on Server Core installations of Windows Server 2008) and then exits: HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon\Shell.
Terminal Server client sessions use separate drivers on the server, one for the display (rdpdd.dll) and one for the keyboard and mouse (rdpwd.sys). The user interface rendering calls are captured by rdpdd.dll and transmitted to the client over the RDP protocol. The keyboard and mouse input on the client is transmitted over the TCP connection to rdpwd.sys for translation. These drivers provide the remote server interaction functionality for the client session. Remember that prior to Windows Server 2008, TS session creation was done serially by the Session Manager process, SMSS.EXE. The new Session Manager design provides parallel session initialization, with the session-specific instances of SMSS.EXE concurrently creating the WINLOGON.EXE and CSRSS.EXE process instances for each session. The end result is improved Terminal Server logon times.
The next two tables list out the important services and binaries for Terminal Services on Windows Server 2008.
Terminal Server Services
Terminal Server Binaries
That brings us to the end of our quick overview of the Terminal Services Architecture in Windows Server 2008. Tomorrow we will go over some of the Management and Administration components of Terminal Server. Until next time ...
- CC Hameed
PingBack from http://lostdriveblog.com/2008/02/14/ws2008-terminal-services-architecture/
Bron: webwereld.nl Microsoft heeft afgelopen week een vijandig bod uitgebracht op de aandelen van Yahoo