Technical information
Reviewer’s Guide Microsoft Windows NT Workstation 3.51 9
The Program Properties dialog box for each application in Windows NT Workstation now includes the option to run
the application in its own memory space. For 32-bit applications, this option is always enabled. For 16-bit
applications, this option is set as shown below.
This environment provides several additional benefits:
• True multitasking of 16-bit Windows-based applications. Each VDM runs as its own process in the
Windows NT kernel. Hence, the scheduler in Windows NT Workstation automatically handles multitasking
between different VDMs.
• Overall responsiveness of these applications is improved in conjunction with Windows NT Workstation’s
support for asynchronous input queues.
• Support for multiple instances. You can start several instances of a 16-bit application, since each one
maintains data structures in its own memory space. This means, for example, that you can start printing a
huge spreadsheet from Microsoft Excel and use a second copy of Microsoft Excel to start working on
another spreadsheet.
• Scalability for 16-bit Windows-based applications. Since each VDM is a separate process, Windows NT
Workstation can allocate the processes across multiple processors on a SMP system.
Please note, however, that when 16-bit applications are initially installed on Windows NT Workstation, the default
option is for the 16-bit application to be set up to use a single VDM. This is set as the default option because some
applications require the use of shared memory in order to run as designed.
OLE 2.0
Object technology can facilitate integration between applications, and is projected to have a growing impact on open
systems over the next five years. Windows NT Workstation fully supports a 32-bit implementation of the Object
Linking and Embedding (OLE) 2.0 standard. The OLE 2.0 specification refers to a set of object-based services,
based on the underlying Component Object Model, which enables interoperability among various objects that may
have been written by different companies in any programming language. For example, using OLE, a spreadsheet
object provided by one vendor can be seamlessly embedded into a word processing document created by an
application from another vendor. The spreadsheet and word processor don’t need to know anything about each
other’s implementation, they only need to know how to connect through the collection of interfaces provided by the
Component Object Model.