16 bit applications just use 1 thread at a time. Win 32 applications can execute multiple threads.
Each win 32 application runs in its own 2 GB address space. Component object model (COM)
Allows objects to communicate with each other. Object linking or embedding (OLE) provides linking or embedding
in applications and is
optimised for usability whereas ActiveX enables embedding in a website and is optimised for size and speed.
Open GL (Graphics Language) can support VGA 16 colour mode. NT 4 has 3 component to direct X,
Direct draw, direct sound and direct play.
MS-DOS applications operate in an NT virtual DOS machine (NTVDM). Win 16 on Win 32 (WOW)
also runs in a NTVDM. DOS based applications run in their own NTVDM Win 16 applications
Run in a shared NTVDM.
The blue screen of death is a sign that the kernel has crashed.
Components of NTVDM are Ntvdm.exe, Ntio.sys and Ntdos.sys.
Virtual Device Drivers (VDD) are loaded for each NTVDM, covering the mouse, keyboard, COM ports and printers.
The VDD information is found in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\VirtualDeviceDrivers.
Configuration of the NTVDM is done via the PIF (right-click the application file name). The Autoexec.nt
and the Config.nt are located in the System32 directory. The commands in the Autoexec file
are the same as those in MS-DOS 5.0.
WOW includes Wowexec.exe, Wow32.dll, Krnl386.exe, User.exe and Gdi.exe.
WOW is a 32-bit user-mode program that allows 16-bit Windows programs to run in an NTDVM. Thunking
is a translation of 16-bit calls to equivalent 32-bit calls. General Protection Failure (GPF),
memory sharing violation, can occur as the 16-bit applications share memory with one another and
in addition, there is no preemptive multitasking.
A separate NTVDM can be setup for each 16-bit application and these applications will run in their
own memory space allowing preemptive multitasking and more reliability. They cannot share memory
with one another. This is achieved by either typing start /separate application,
or clicking Run, typing the application name and checking the Run in Separate Memory Space
POSIX uses the components Psxss.exe, Posix.exe and Psxdll.dll. POSIX
loads only when an application is run and up to 32 can run at the same time. The
product Exceed is a commerical emulator than runs at the subsystem layer.
Because of the different platforms that NT can run on, you must be careful that the applications
can run on the NT platform. A Source-compatible application must be recompiled for
each NT platform whereas a Binary-compatible application can run on any platform
Distributed Component Object Model (DCOM) uses the tools that COM uses to provide
distributed processing across the network. COM is the basis of OLE, DCOM is network OLE. Remote
stations only have the objects and information that they need to have. The programming
model is the same as ActiveX. Remote Procedure Calls (RPC) are used to provide
communication and interoperability between stations. The RPC executes a call to stub code
which is like a procedure that just happens to be on another machine.
To set up DCOM type dcomcnfg at the command prompt and here you can set up security, identity
of the computer and the location of the application on the network. Windows 95 does not have DCOM.
At the command prompt, using the start command allows you to set the priority of an application.
In a preemptive multitasking OS the microkernel schedules threads for the microprocessor in order of
priority. Priority 0 - 15 are dynamic applications and normal things that are not critical and
can be written to the page file. Priority 16 - 31 are real time applications such as the kernel
and these cannot be written to the page file.
- start /realtime application - set priority to 24
- start /high application - set priority to 13
- start /normal application - set priority to 8
- start /low application - set priority to 4
The relative priority of foreground and background applications can be changed by adjusting
the Boost settings on the Performance tab in System Properties.
Task Manager can be used to show the applications that are running, microprocessor time,
memory size, virtual memory size, page faults, base priority and thread count. Line graphs
are displayed, a debugger can be activated and application priorities can be changed.
Task Manager can be started by typing Ctrl+Shift+Esc or Ctrl+Alt+Del or
right-clicking on the NT Taskbar.