home *** CD-ROM | disk | FTP | other *** search
/ CICA 1993 August / CICA.cdr / cis_libs / mswin32 / 17 / w32swh.txt < prev    next >
Encoding:
Text File  |  1992-08-25  |  8.1 KB  |  170 lines

  1.                     An Overview of Win32s
  2.  
  3. What is Win32s?
  4.  
  5.   Win32s is Microsoft's first step towards providing a Win32
  6.   environment on MS-DOS-based operating systems. With Win32s,
  7.   programs written for tomorrow's 32-bit operating systems will run
  8.   on today's widely installed Windows version 3.1.
  9.   
  10.   Win32s is an extension of Windows version 3.1 that allows
  11.   applications using a subset of the Win32 Application Programming
  12.   Interface (API) to run unmodified on both Windows version 3.1 and
  13.   Windows NT. The Win32s subset consists of Win32 equivalents of
  14.   Win16 functions (Win16 is the 16-bit API offered in Windows version
  15.   3.1) as well as flat memory management and structured exception-
  16.   handling features. Win32s programs will take full advantage of the
  17.   32-bit capabilities of the Intel 80x86 microprocessors. Using the
  18.   Win32s API, developers can compile and run 32-bit code today that
  19.   will be supported across Microsoft's 32-bit platforms tomorrow.
  20.   
  21.   Win32s consists of three components: an executable that loads
  22.   Win32s applications in Windows version 3.1, a virtual device driver
  23.   that provides flat memory model and structured exception-handling
  24.   support, and a set of Dynamic Link Libraries (DLLs) that translate
  25.   Win32 function calls to Win16 function calls. To run your Win32s
  26.   application on Windows version 3.1, you must include these Win32s
  27.   components with your application. You will be able to ship your
  28.   application with Win32s royalty-free, the same way that you can
  29.   ship COMMDLG.DLL and TOOLHELP.DLL today.
  30.   
  31.  
  32. Why should you convert your application to Win32s?
  33.  
  34.   To take advantage of 32-bit development
  35.  
  36.   32-bit development means that applications no longer have to deal
  37.   with the segmented memory addressing of 16-bit systems. This will
  38.   facilitate memory allocation in most applications because 64K
  39.   memory boundaries no longer apply. 32-bit applications are faster
  40.   and more efficient because they take advantage of the 32-bit
  41.   specific instructions and register sets available in 80386 and
  42.   80486 computers. Moreover, Intel is optimizing the 80486 and future
  43.   processors for 32-bit operation instead of 16-bit operation.
  44.   Although other 32-bit development systems for Windows exist, Win32s
  45.   is the only system that will run applications seamlessly under
  46.   Windows version 3.1, on Windows NT, and on future versions of
  47.   Windows for MS-DOS environments.
  48.   
  49.   To improve performance
  50.  
  51.   Win32s is a perfect candidate for applications that are memory-
  52.   intensive or calculation-intensive, such as CAD packages, paint
  53.   packages, image manipulation tools, spreadsheet programs, and
  54.   simulation software. Manipulating data in 32-bit mode improves the
  55.   performance of these applications significantly. Win32s
  56.   applications will also see performance improvements in Windows
  57.   version 3.1, despite the slight overhead caused by 32-bit to 16-bit
  58.   translation (thunking) that occurs during API calls. On Windows NT,
  59.   Win32s applications will call Win32 functions directly; for this
  60.   reason, a Win32s application will run faster than its Win16
  61.   counterpart on both Windows version 3.1 and on Windows NT.
  62.   
  63.   To make your application binary-compatible with Windows
  64.  
  65.   The executable format of Win32s applications is identical to that
  66.   of Windows NT applications. Although Windows NT supports existing
  67.   Win16-based applications, a Win32s application running on Window NT
  68.   will gain additional functionality (such as desynchronized
  69.   messaging and process protection), which will not be available to a
  70.   Win16-based application. In general, developers can write Win32s
  71.   applications that sample the environment and take advantage of any
  72.   additional functions the environment supports. For example, an
  73.   application that is single-threaded in Windows version 3.1 can
  74.   support multiple threads in Windows NT. A Win32s application
  75.   requires only recompiling and linking (with no code changes) to run
  76.   native on other hardware platforms that support Windows NT, such as
  77.   MIPS R4000 and DEC Alpha.
  78.   
  79.   To migrate easily from other 32-bit platforms to Windows
  80.  
  81.   Applications developed for UNIX or other 32-bit environments are
  82.   often difficult to port to 16-bit systems because of memory
  83.   constraints. Win32s removes the 64K memory barrier so these 32-bit
  84.   applications are easier to port.
  85.   
  86.  
  87. Is Win32s for your application?
  88.  
  89.   Thunking overhead
  90.  
  91.   The Win32s extension to Windows version 3.1 contains two types of
  92.   functions: thunked functions (which are converted to 16-bit
  93.   functions) and non-thunked functions (which are called directly in
  94.   32-bit mode). The Win32 equivalents of Win16 functions are thunked,
  95.   whereas memory management functions are not. There is an estimated
  96.   two to eight percent overhead for thunking. For this reason, Win32s
  97.   is best suited for applications that are memory-intensive or
  98.   calculation-intensive. Because of the thunking overhead, user-
  99.   interface intensive applications with few memory traversals or
  100.   calculations may not see performance gains. There is no overhead
  101.   when a Win32s application runs on Windows NT because the
  102.   application calls Windows NT's 32-bit functions directly.
  103.   
  104.   Windows version 3.1 requirements
  105.  
  106.   To run your Win32s application in Windows version 3.1, the user
  107.   must have Windows version 3.1 running in protected mode (not
  108.   standard mode), a 80386 microprocessor (minimum), and the Win32s
  109.   components shipped with your application. Win32s applications are
  110.   not backward-compatible with Windows version 3.0.
  111.   
  112.  
  113. How should you test your Win32s application?
  114.  
  115.   Users will expect your Win32s application to run on both Windows
  116.   version 3.1 and Windows NT. For this reason, you must test your
  117.   application thoroughly on both platforms and verify compatibility.
  118.   
  119.  
  120. When will Win32s be available?
  121.  
  122.   Win32s will be delivered to you as part of the Win32 Software
  123.   Development Kit (SDK) for Windows NT. Win32s will not be included
  124.   in the Preliminary Win32 SDK for Windows NT but will be available
  125.   in an SDK update in late 1992.
  126.   
  127.   Microsoft will distribute the Preliminary Win32 SDK for Windows NT
  128.   to attendees at the Win32 Professional Developers Conference (San
  129.   Francisco, July 6-8, 1992). Starting July 20, developers can order
  130.   the SDK or request more information directly from the Microsoft
  131.   Developer Services Team at (800) 227-4679, extension 11771.
  132.   
  133.  
  134. When can I start building my Win32s application?
  135.  
  136.   You can use the Preliminary Win32 SDK for Windows NT now
  137.  
  138.   You need not wait for Win32s availability to start developing your
  139.   Win32s application. You can use the Preliminary Win32 SDK to port
  140.   your Win16 application to Win32 and begin your development work
  141.   immediately. The first step is to perform a simple port using only
  142.   Win32 features that Win32s supports. (The Preliminary SDK includes
  143.   a list of supported functions.) When Win32s becomes available in an
  144.   update to the SDK, simply test your application and ship it with
  145.   the Win32s software so it will run on Windows version 3.1.
  146.   
  147.   Or, wait for Win32s support on MS-DOS
  148.  
  149.   Win32s development tools for Windows 3.1 will be available in late
  150.   1992. If you would like to continue your current development work
  151.   using Windows for MS-DOS tools, you may decide to wait for this
  152.   release.
  153.   
  154.  
  155. How does Win32s fit into Microsoft's system strategy?
  156.  
  157.   Win32s is an integral part of Microsoft's system strategy and
  158.   represents the first step in the evolutionary process towards 32-
  159.   bit processing in Windows. Although Windows for MS-DOS will
  160.   continue to run 16-bit applications, Microsoft plans to convert the
  161.   Windows operating system code to 32 bits. Thus, 32-bit applications
  162.   will run faster and use memory more efficiently in Windows. Win32s
  163.   applications are the only applications that can run native on both
  164.   Windows NT and on Windows version 3.1 without performance
  165.   degradation.
  166.   
  167.   The PC hardware and software industries are already optimizing
  168.   their systems for 32-bit operation. Microsoft encourages you to
  169.   take advantage of these developments today by designing your
  170.   applications with Win32s.