home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / q / qdpmi101.zip / QDPMI.QIP / DPMIREAD.ME next >
Text File  |  1993-01-03  |  6KB  |  162 lines

  1.       QDPMI: Quarterdeck DPMI Host V1.01
  2.  
  3.                    =======
  4.                    READ.ME
  5.                    =======
  6.  
  7. QDPMI is an extension of Quarterdeck's QEMM-386 
  8. Memory Manager, and therefore requires that 
  9. QEMM-386 be installed before installation.
  10.  
  11. Quarterdeck's QDPMI V1.01 Host provides support 
  12. for the full DPMI 0.9 specification.
  13.  
  14.  
  15. FILES IN THE 1.01 RELEASE:
  16. ==========================
  17. 1.   LICENSE.TXT  Quarterdeck Licensing 
  18.                   Agreement for QDPMI (only
  19.                   included for BBS version).
  20.  
  21. 2.   INSTALL.EXE  QDPMI Installation Program.
  22.  
  23. 3    QDPMI.DOC    On-line documentation for 
  24.                   QDPMI.
  25.  
  26. 4.   QDPMI.QIP    Used by INSTALL.EXE.  The 
  27.                   contents of QDPMI.QIP are:
  28.  
  29.      A.  QDPMI.SYS   QDPMI 0.9 Host Device 
  30.                      Driver.
  31.  
  32.      B.  QDPMI.COM   Control and status display 
  33.                      of QDPMI services.
  34.  
  35.      C. QDPMIVM.OVL  The QDPMI Kernel.
  36.  
  37.      D. DPMIREAD.ME  This file.
  38.  
  39.      E. LWPFIX.COM   Patch for Novell's LAN 
  40.                      WorkPlace v4.01 TCPIP.EXE 
  41.                      driver.
  42.  
  43.  
  44. DIFFERENCES BETWEEN QDPMI 1.0 AND QDPMI 1.01? 
  45. =============================================
  46.  
  47. Version 1.01 of Quarterdeck's QDPMI 0.9 Host is 
  48. primarily a maintenance release.  V1.01 is even 
  49. more compatible, and provides better 
  50. performance with existing commercial 
  51. applications that are DPMI clients.
  52.  
  53. There are a few new features found in V1.01, 
  54. however.  They are summarized below:
  55.  
  56.  
  57. Dynamic VM Swapfile growing: 
  58. ============================
  59.  
  60. In QDPMI V1.0 when Virtual Memory was enabled, 
  61. a VM swapfile was created that equalled in size 
  62. the requested VM size specified in the QDPMI 
  63. environment variable.  This could consume large 
  64. amounts of disk space, and slow down the 
  65. application.  A couple of DPMI clients running 
  66. with 10 Megabyte swap files could fill up a 
  67. disk very quickly.
  68.  
  69. In QDPMI V1.01, the VM swapfile is created when 
  70. the DPMI client application starts up, but it 
  71. is created with a length of zero bytes.  It is 
  72. grown as VM backing-store (swapfile pages) are 
  73. required.  The file is never shrunk, except 
  74. when a DPMI client starts up, and at that time 
  75. it is truncated to zero length again.  The 
  76. value specified in the QDPMI environment 
  77. variable is therefore the MAXIMUM size that 
  78. this file can ever become.  It may never 
  79. actually reach that size, however.  Its final 
  80. size depends entirely on how much memory the 
  81. DPMI client application allocates, and how much 
  82. physical memory is available at the time.
  83.  
  84.  
  85. OVLDIR Command Line Parameter: 
  86. ==============================
  87.  
  88. In some diskless workstation installations, the 
  89. drive letter of the boot device (the network) 
  90. is replaced after the boot process is 
  91. completed.  QDPMI V1.0 required that the 
  92. QDPMIVM.OVL file be in the same directory as 
  93. QDPMI.SYS, which would not be possible if the 
  94. boot drive ceased to exist.  QDPMI V1.01 allows 
  95. the user to specify the path to search when it 
  96. needs to load its QDPMIVM.OVL file.  This may 
  97. be located on a device that is accessible at 
  98. the time a DPMI client starts up.
  99.  
  100.  
  101. EMS AND DPMI MEMORY CONFLICTS: 
  102. ==============================
  103.  
  104. QDPMI gets its memory resources through VCPI 
  105. memory services provided by QEMM.  EMS also 
  106. shares this memory resource.  Some DPMI clients 
  107. allocate both EMS and DPMI memory for their 
  108. use.  When this happens, it is possible for 
  109. DPMI's memory resources to become depleted 
  110. without QDPMI's knowledge.  If, for example, 
  111. DPMI services are asked to report how much free 
  112. memory is available, then all available EMS 
  113. memory is allocated, and finally some of the 
  114. DPMI memory reported to exist is allocated, the 
  115. DPMI allocation will either fail, or cause 
  116. QDPMI to begin swapping to disk if VM is 
  117. enabled.  This can disconcerting on machines 
  118. with large amounts of physical memory.
  119.  
  120. There are two solutions to this problem.  
  121. First, if it is possible to limit the EMS usage 
  122. of the DPMI client application through the use 
  123. of command line switches or configuration 
  124. files, this should be done.  Limiting EMS usage 
  125. to zero is recommended, as with QDPMI's VM, any 
  126. swapping can be handled by QDPMI.
  127.  
  128. If there is no way to accomplish this with the 
  129. client application, then setting QDPMI's MINMEM 
  130. parameter in the QDPMI environment variable to 
  131. be equal to the MAXMEM parameter will force 
  132. QDPMI to actually allocate ALL physical memory 
  133. it will ever use immediately when the DPMI 
  134. client application starts up.  This will 
  135. prevent the client from allocating any EMS 
  136. because it will already be taken by QDPMI.  
  137. This tactic is basically doing to the client 
  138. application what it would try to do to us, and 
  139. beating it to the punch.
  140.  
  141. The latter suggestion is not encouraged in 
  142. multitasking environments, as it causes large 
  143. pieces system-wide memory resources to be 
  144. wasted.
  145.  
  146. Some programs known to exhibit this behavior 
  147. are:
  148.  
  149.      1.   Borland C/C++ 3.0 & 3.1.  Use the 
  150.           command line switch -Qe- to disable 
  151.           EMS usage completely or -Qe=xxxx 
  152.           where xxxx is a number of kilobytes 
  153.           to allow to be allocated from EMS.
  154.  
  155.      2.   Microsoft C/C++ 7.0 Programmer's Work 
  156.           Bench (PWB).  Use the TOOLS.INI 
  157.           mechanism to return EMS to the system 
  158.           before shelling out to the individual 
  159.           tools such as NMAKE, CL, and LINK.
  160.  
  161.  
  162.