Module 8: Supporting Applications
The Win32 subsystem, also supports error handing functions, application shutdown and console applicationsapplications not written for the Windows GUI.
Note: the security subsystem supports the logon process. It doesnt support other applications.
A malfunctioning user-mode component cannot cause a kernel mode component to stop functioning.
- Multi-threading, to enhance system performance:
For example; the Win32-based setup program can be broken into three threads:
- One that decompresses files.
- One that copies files.
- One that modifies the system configuration.
These threads function completely independent from each other, maintaining high system performance.
Each win32-based application runs in its own 2GB address space. Therefore it cannot corrupt the memory of another application. On failure it doesnt affect other win32-based applications.
- OLE/Microsoft ActiveX, and OpenGL support:
OLE and ActiveX are both based on the Component Object Model (COM). They provide low level object binding that enables objects to communicate with each other.
Features | OLE | ActiveX |
Function | Provides applications services such as linking or embedding, for creation of compound documents. | Enables controls to be embedded in Web sites and respond interactively to events. |
Optimization | For usability and integration of desktop applications. | Optimized for size and speed. |
Scope | For 16-and 32-bit applications interoperability. | Adds innovations for the Internet, including support for incremental renderings and asynchronous connections |
OpenGL (Graphics Language) for 2-and 3-dimensional graphics. Under Windows NT it supports VGA 16-color-mode. Other implementations require at least 256-colors.
- Microsoft Direct X set of APIs in Windows NT (designed especially for high performance applications such as games):
There are three DirectX components included with Windows NT:
You don't need to know more about this topic for the exam but it maybe better to review page 221 of the MOC.
Component | Function |
NTvdm.exe | Runs in kernel mode. Provides MS-DOS emulation and manages NTVDM. |
NTio.sys | Equivalent of the MS-DOS Io.sys |
NTdos.sys | Equivalent of the Msdos.sys (the MS-DOS kernel). |
IEU | On RISC-based computers, an additional component in the NTVDM. The Instruction Execution Unit emulates an Intel 80486-microprocessor. |
The NTVDM uses virtual device drivers (VDDs) to allow MS-DOS applications to access the system hardware. The VDD intercept the applications hardware calls and interact with the Windows NT-32-bit device driver. Windows NT provides VDDs for the mouse, keyboard, printer and COM-ports.
The NTVDM is configurable in the properties dialog box of the MS-DOS application. It supports the same autoexec.bat and config.sys instructions as MS-DOS 5.0 did.
Note: 16-bit Win 3.x VxDs are not supported under WOW. Win16 applications that rely on these drivers may not function correctly under Windows NT. (Visual Basic 3.x).
Look at page 225 for an overview of WOW components and their discription.
There are some disadvantages to:
- There is a lot of additional memory usage when each Win16 application is running in its own NTVDM.
- If Win16 applications do not follow the OLE and DDE specifications or if they rely on shared memory to exchange data, the will not function in separate memory spaces. Such applications must be run in a shared NTVDM and WOW application environment.
Method | Procedure |
At a command prompt | Type start /separate [path]application_executable |
On the start menu | Run à in the Open box type [path]application_executable and select the Run in separate memory space. |
From a shortcut | In the properties tab select Run in separate memory space. |
By file association | In
Windows NT Explorer; View à Options à file types, and select the application
to be edited. Click Edit and double click Open. Edit the open line to include
the /separate switch using the following syntax:
Cmd /c start /separate [path]application_executable %1 |
Using the short-cut method ensures always starting in a separate NTVDM.
You should read these pages, to put it into this trainngdump would mean typing over all the pages, and that is unnecessary (you should get the MOC anyway).
Priority | Used by |
0-15 | Dynamic applications user applications and most OS functions that are not crucial to the performance of the system and can be written to the page file. |
16-31 | Real-time applications, such as the kernel, that cannot be written to the page file. |
You can improve performance by increasing or decreasing
the priorities of the process. To start an application, changing its base priority,
use the following:
At the command prompt type | Effect on base priority |
Start /realtime application_executable | Sets base priority to 24 |
Start /high application_executable | Sets base priority to 13 |
Start /normal application_executable | Sets base priority to 8 |
Start /low application_executable | Sets base priority to 4 |
Note: Using the start command to run an application at high priority may slow down performance, because other applications get less I/O time. This is why only Administrators can use the /realtime option. |
"Boost"
Setting |
Response | Registry
Setting |
None | All applications have base priority; if all are equally important. |
0 |
Middle
Setting |
Foreground priority increases by one. Background applications maintain base priority. Use it for non critical operations (playing game while checking spelling on .doc) |
1 |
Maximum | Foreground priority increases by two. Background applications maintain base priority. Use it to run an application that must have as much processor time as possible. But still allow background applications to have minimal access to resources. |
2 |
In Windows NT quantum (time slicing) scheduling is used, Performance Monitor is not able to show these priority changes. They can only be seen in the registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\PriorityControl\Win32PrioritySeparation
Task Manager has the following tabs:
Task Manager Tab | Function |
Applications | Shows the status of the applications and processes currently running on the computer. Here you can start, end, or switch to a program. |
Processes | Info on the processes currently running on the computer. On the options menu, select show 16-bit tasks to include these in the process table. |
Performance | Monitors the computers system performance, including microprocessor and memory usage. |
Task Manager can be started with one of the following methods:
- Press CTRL+ALT+DELETE then click Task Manager.
- Right-click the Windows NT Taskbar, then click Task Manager.
- Press CTRL+SHIFT+ESC.
You can also force Windows NT to use a specific processor for a specific task, this is called hard affinity. To select microprocessors for a task, use the Task Manager processes tab à right-click the process name and click Set affinity (this option is only visable on multiprocessor computers.
![]() I'm sorry, but I can't answer specific network-related, or exam-related questions. |
|
Last Updated: August 6, 2001 | Grant Wilson, Edmonton, AB Canada |