OS/2 2.1 Performance Tuning for End Users: Difference between revisions

From OS2World.Com Wiki
Jump to navigation Jump to search
Jugbogdan (talk | contribs)
Jugbogdan (talk | contribs)
 
(16 intermediate revisions by the same user not shown)
Line 246: Line 246:
See ?ile Systems?on page 22 for additional information.
See ?ile Systems?on page 22 for additional information.


==Formatting the Partition==
===Formatting the Partition===
The next decision to make at installation is whether or not to format. It is always advisable to format the partition at installation time. This allows clean up of any unnecessary files. It is important to remember that if you have applications or data on that partition that it must be backed up prior to formatting to be saved. If you select to not format the partition, installation will continue and will clean up system files (i.e. remove WIN-OS/2 support from 2.0 at install of 2.1, replacing it with the enhanced WIN-OS/2 support)
The next decision to make at installation is whether or not to format. It is always advisable to format the partition at installation time. This allows clean up of any unnecessary files. It is important to remember that if you have applications or data on that partition that it must be backed up prior to formatting to be saved. If you select to not format the partition, installation will continue and will clean up system files (i.e. remove WIN-OS/2 support from 2.0 at install of 2.1, replacing it with the enhanced WIN-OS/2 support)


==Install Features Selection==
===Install Features Selection===
The next decision to make is which installation path to take. The Install Preselected Features selection installs most, but not all, OS/2 features. It takes about 27 MB of disk space (plus the swap file). Any features not installed can be installed at a later time using the Selective Install feature. This is the Selective Install icon located in the OS/2 System folder. Install All Features will install all features available in OS/2. There are few selections to be made during this install,
The next decision to make is which installation path to take. The Install Preselected Features selection installs most, but not all, OS/2 features. It takes about 27 MB of disk space (plus the swap file). Any features not installed can be installed at a later time using the Selective Install feature. This is the Selective Install icon located in the OS/2 System folder. Install All Features will install all features available in OS/2. There are few selections to be made during this install,


Line 264: Line 264:
Selection of features depends on personal preference. There are no performance impacts from selecting required function. Do not install features that your hardware cannot support (i.e. CD-ROM, PCMCIA, APM). Disk space requirements are listed to help you understand disk space requirements only.
Selection of features depends on personal preference. There are no performance impacts from selecting required function. Do not install features that your hardware cannot support (i.e. CD-ROM, PCMCIA, APM). Disk space requirements are listed to help you understand disk space requirements only.


===Preselected Install===
====Preselected Install====
Preselected installation provides a general installation of OS/2 features for users. This default is good for new users that do not have enough space for a full install. The features provided when the pre-selected installation is taken include all required files for OS/2 and the following features:
Preselected installation provides a general installation of OS/2 features for users. This default is good for new users that do not have enough space for a full install. The features provided when the pre-selected installation is taken include all required files for OS/2 and the following features:


Figure 5. Features Installed with PreSelected Install
Figure 5. Features Installed with PreSelected Install
  Documentation (.8MB)
  Documentation (.8MB)             OS/2 Tutorial (168KB)
OS/2 Tutorial (168KB)
 
  Fonts (1.9MB)
  Fonts (1.9MB)                     Helvetica (233KB)
Helvetica (233KB)
                                  Courier (outline) (502K)
Courier (outline) (502K)
 
  Optional System Utilities (1.6MB)
  Optional System Utilities (1.6MB) Backup Hard Disk (29KB)
Backup Hard Disk (29KB)
                                  Change File Attributes (37KB)
Change File Attributes (37KB)
                                  Manage Partitions (228KB)
Manage Partitions (228KB)
                                  Restore Backed Up Files (30KB)
Restore Backed Up Files (30KB)
                                  Sort Filter (32KB)
Sort Filter (32KB)
                                  Installation Utilities (501KB)
Installation Utilities (501KB)
 
  Tools and Games (6.0MB)
  Tools and Games (6.0MB)           Search and Scan Tool (71KB)
Search and Scan Tool (71KB)
                                  Personal Productivity (1407KB)
Personal Productivity (1407KB)
 
  OS/2 DOS Support (1.3MB)
  OS/2 DOS Support (1.3MB)         DOS Protect Mode Interface (22KB)
DOS Protect Mode Interface (22KB)
                                  Virtual Expanded Memory Management (19KB)
Virtual Expanded Memory Management (19KB)
                                  Virtual Extended Memory Support (8KB)
Virtual Extended Memory Support (8KB)
 
  Windows Support (9.0MB)
  Windows Support (9.0MB)           Readme Files (143KB)
Readme Files (143KB)
                                  Accessories (1154KB)
Accessories (1154KB)
                                  Screen Savers (77KB)
Screen Savers (77KB)
                                  Sound (253KB)
Sound (253KB)
 
  High Performance File System (0.4MB)
  High Performance File System (0.4MB)


===Full Install===
====Full Install====
Full installation option installs all features of OS/2. This selection requires about 40 MB of disk space. Additional space is required for the swap file in constrained systems. If your partition is small ( < 50 MB) it is advisable to move the swap file to another partition.
Full installation option installs all features of OS/2. This selection requires about 40 MB of disk space. Additional space is required for the swap file in constrained systems. If your partition is small ( < 50 MB) it is advisable to move the swap file to another partition.
The features provided when the full installation is taken include all required files for OS/2 and ALL the features listed in selectable install.
The features provided when the full installation is taken include all required files for OS/2 and ALL the features listed in selectable install.


===Selectable Install===
====Selectable Install====
Selectable install allows for full end-user control of features to be installed on a system. There are several options available on menus, and sub-menus allow for a more specific selection. For example, you can choose to select (or not select) all the productivity aids, or you can use the sub-menu to select some of the productivity aids.
Selectable install allows for full end-user control of features to be installed on a system. There are several options available on menus, and sub-menus allow for a more specific selection. For example, you can choose to select (or not select) all the productivity aids, or you can use the sub-menu to select some of the productivity aids.
The selectable install is the best selection for users who understand the features available, and for users that are concerned with disk requirements. The 2.1 release is larger (especially the enhanced WIN-OS/2 support) and selectable install will provide you with a full range of feature selection. Remember that the more features selected the more disk space required. Also, the more entries in a folder, the slower the performance when opening that folder. For example, if you select all the productivity aids and games, then opening the productivity folder will be slower than if you had only the 2 productivity aids you actually used. All features can be added after installation by using selective install in the system setup folder. (For deleting features, see Appendix D, "Removing Features" on page 58)  
The selectable install is the best selection for users who understand the features available, and for users that are concerned with disk requirements. The 2.1 release is larger (especially the enhanced WIN-OS/2 support) and selectable install will provide you with a full range of feature selection. Remember that the more features selected the more disk space required. Also, the more entries in a folder, the slower the performance when opening that folder. For example, if you select all the productivity aids and games, then opening the productivity folder will be slower than if you had only the 2 productivity aids you actually used. All features can be added after installation by using selective install in the system setup folder. (For deleting features, see Appendix D, "Removing Features" on page 58)  
Line 537: Line 537:
RMSize
RMSize


==Migrating Applications==
===Migrating Applications===
The Migrate Applications utility can be run during the install process or from the System Setup Folder. It uses a migration database to define what specific changes need to be made to DOS and WIN-OS/2 session settings, as well as how OS/2, DOS and Windows applications should be setup. This database is called DATABASE.DAT and is located in the \OS2\INSTALL subdirectory of your OS/2 system. A text version of this file, called DATABASE.TXT, also exists in the \OS2\INSTALL subdirectory to allow you to change the settings of a particular application, or to add new applications to the database.
The Migrate Applications utility can be run during the install process or from the System Setup Folder. It uses a migration database to define what specific changes need to be made to DOS and WIN-OS/2 session settings, as well as how OS/2, DOS and Windows applications should be setup. This database is called DATABASE.DAT and is located in the \OS2\INSTALL subdirectory of your OS/2 system. A text version of this file, called DATABASE.TXT, also exists in the \OS2\INSTALL subdirectory to allow you to change the settings of a particular application, or to add new applications to the database.
Migrate should be used, either at install time or after an application is installed, to setup the application and place its icon in the appropriate folder. The customized settings for applications listed in the migration database are good general defaults. After installation, see the sections on tuning applications for additional changes to improve performance.
Migrate should be used, either at install time or after an application is installed, to setup the application and place its icon in the appropriate folder. The customized settings for applications listed in the migration database are good general defaults. After installation, see the sections on tuning applications for additional changes to improve performance.


===Installation and WIN-OS/2 Support===
===Installation and WIN-OS/2 Support===
When installing OS/2 2.1 over a prior version of OS/2 2.x, the WIN-OS/2 support previously provided will be deleted. This is true even if you installed using the WIN-OS/2 beta and placed WIN-OS/2 on another partition. You may defer the installation of WIN-OS/2 3.1 by not selecting WIN-OS/2 3.1 installation during the installation phase. However, install will remove WIN-OS/2 3.0 regardless of whether WIN-OS/2 3.1 is installed or not.
When installing OS/2 2.1 over a prior version of OS/2 2.x, the WIN-OS/2 support previously provided will be deleted. This is true even if you installed using the WIN-OS/2 beta and placed WIN-OS/2 on another partition. You may defer the installation of WIN-OS/2 3.1 by not selecting WIN-OS/2 3.1 installation during the installation phase. However, install will remove WIN-OS/2 3.0 regardless of whether WIN-OS/2 3.1 is installed or not.
If you decide to install WIN-OS/2 3.1, you will have an option to either install a new Windows desktop or preserve the current desktop. Select this option if you would like to keep the customized Windows desktop you already have installed. You will also have the option to install to a partition other than the one where you are installing OS/2. This provides flexibility on systems where the install partition is too small for all the features selected.
If you decide to install WIN-OS/2 3.1, you will have an option to either install a new Windows desktop or preserve the current desktop. Select this option if you would like to keep the customized Windows desktop you already have installed. You will also have the option to install to a partition other than the one where you are installing OS/2. This provides flexibility on systems where the install partition is too small for all the features selected.


Line 641: Line 643:
The High Performance File System, which was designed for the larger disk drives, generally performs better than FAT in partitions greater than 100MB, especially where there are many small files, a very large file (for example a database) or the access to the disk will generally be random.
The High Performance File System, which was designed for the larger disk drives, generally performs better than FAT in partitions greater than 100MB, especially where there are many small files, a very large file (for example a database) or the access to the disk will generally be random.


==FAT File System==
====FAT File System====
The FAT file system contains no significant changes from OS/2 version 2.0.
The FAT file system contains no significant changes from OS/2 version 2.0.
The FAT file system contains the following enhancements in 2.0 that provide improved performance and enhanced support for disk hardware devices:
The FAT file system contains the following enhancements in 2.0 that provide improved performance and enhanced support for disk hardware devices:
Line 652: Line 654:
The FAT file system manages the partition using clusters. The cluster size varies with the partition size because only 64 KB is used to manage the entire partition. Larger partitions have larger clusters than smaller partitions. Since a file or directory always takes n number of clusters, this results in a less efficient use of DASD in large partitions (a 1 byte file will take a cluster, even if the cluster is 8 KB). See Figure 4 on page 9 for cluster size information.
The FAT file system manages the partition using clusters. The cluster size varies with the partition size because only 64 KB is used to manage the entire partition. Larger partitions have larger clusters than smaller partitions. Since a file or directory always takes n number of clusters, this results in a less efficient use of DASD in large partitions (a 1 byte file will take a cluster, even if the cluster is 8 KB). See Figure 4 on page 9 for cluster size information.


==High Performance File System==
====High Performance File System====
The High Performance File System has made some internal changes to improve performance. In version 2.1, when small files (1/8th the cache size; max file size 128 KB) are opened, they are immediately read into the HPFS cache. This allows for increased performance when accessing the data in that file.
The High Performance File System has made some internal changes to improve performance. In version 2.1, when small files (1/8th the cache size; max file size 128 KB) are opened, they are immediately read into the HPFS cache. This allows for increased performance when accessing the data in that file.
The HPFS under OS/2 supports the following:
The HPFS under OS/2 supports the following:
Line 665: Line 667:
large files are loaded and saved (desktop publishing & applications using large files (spread sheets) are examples).
large files are loaded and saved (desktop publishing & applications using large files (spread sheets) are examples).


==Partition Size and File System Performance==
====Partition Size and File System Performance====
The FAT file system is basically the traditional DOS file system with some enhancements in the file system cache and lazy writing (write-behind) available. The High Performance File System, first available in OS/2 1.2, was designed to handle large DASD and large files. HPFS uses B-trees to locate the information on directories and files. Both file systems perform well on small (<100 MB) partitions. The advantage goes to HPFS in large (>100 MB) partitions because of the faster access through the B-tree. B-tree searching allows faster access to HPFS also manages DASD space at a sector granular level rather than by clusters like FAT.
The FAT file system is basically the traditional DOS file system with some enhancements in the file system cache and lazy writing (write-behind) available. The High Performance File System, first available in OS/2 1.2, was designed to handle large DASD and large files. HPFS uses B-trees to locate the information on directories and files. Both file systems perform well on small (<100 MB) partitions. The advantage goes to HPFS in large (>100 MB) partitions because of the faster access through the B-tree. B-tree searching allows faster access to HPFS also manages DASD space at a sector granular level rather than by clusters like FAT.
What this means is that if a system has a small hard file, or is partitioned into small (< 100
MB) partitions, the file systems perform generally the same. The FAT file system is preferable
because it uses less disk space to manage the files and directories. The FAT file system is always
active in OS/2 (HPFS does not handle diskettes). HPFS is started by the statement:
IFS=C:\OS2\SYSTEM\HPFS.IFS /c:64
in the CONFIG.SYS. If a system does not need HPFS, removing this line reduces memory
requirements by 100 KB when not accessed, and approximately 500 KB when accessed. If
memory is constrained, this will help improve overall system performance. If the system is not
overcommitted, removal of this option will not improve performance. If any partition size is
large ( >100 MB ), HPFS should be used for function as well as performance.
Special consideration should be given if you will be installing Windows applications. Many of
these applications place files in the WINDOWS\SYSTEM subdirectory. This forces you to plan
ahead for disk space requirements to install these applications. Additional consideration must
also be given if an you expect to boot and execute under native DOS. Native DOS (all versions)
does not provide access to HPFS formatted partitions.
File System Caches and Lazy Writing
Whether a system is using FAT, HPFS or both, tuning the file system cache has performance
advantages for heavy I/O applications. Both file systems allow various cache sizes as well as
threshold parameters. There are some functional differences in the file systems.


Cache parameters determine when data will be lazy written to disk. Consult the OS/2 Command
What this means is that if a system has a small hard file, or is partitioned into small (< 100 MB) partitions, the file systems perform generally the same. The FAT file system is preferable because it uses less disk space to manage the files and directories. The FAT file system is always active in OS/2 (HPFS does not handle diskettes). HPFS is started by the statement:
Reference for more information. Changes in these values generally have no discernible impact on
IFS=C:\OS2\SYSTEM\HPFS.IFS /c:64
system performance The read ahead value is not settable by the end user, and is provided here
in the CONFIG.SYS. If a system does not need HPFS, removing this line reduces memory requirements by 100 KB when not accessed, and approximately 500 KB when accessed. If memory is constrained, this will help improve overall system performance. If the system is not overcommitted, removal of this option will not improve performance. If any partition size is large ( >100 MB ), HPFS should be used for function as well as performance.
for information only. The threshold value (CRECL) will affect the performance of I/O intensive
 
applications. This value determines the cut off point at which I/O requests are not cached by
Special consideration should be given if you will be installing Windows applications. Many of these applications place files in the WINDOWS\SYSTEM subdirectory. This forces you to plan ahead for disk space requirements to install these applications. Additional consideration must also be given if an you expect to boot and execute under native DOS. Native DOS (all versions) does not provide access to HPFS formatted partitions.
the file system. If your application uses large I/O requests, performance will be improved when
 
this value is increased to include the larger I/O size. This would mean more data will be avail-
====File System Caches and Lazy Writing====
able in the file system cache. This is useful if the application accesses the same data repeatedly,
Whether a system is using FAT, HPFS or both, tuning the file system cache has performance advantages for heavy I/O applications. Both file systems allow various cache sizes as well as threshold parameters. There are some functional differences in the file systems.
or if the application accesses the data sequentially. This value does have a dependency on the
 
file system cache. The file systems will not allow I/O requests greater than 1/4 of the total cache
Cache parameters determine when data will be lazy written to disk. Consult the OS/2 Command Reference for more information. Changes in these values generally have no discernible impact on system performance The read ahead value is not settable by the end user, and is provided here for information only. The threshold value (CRECL) will affect the performance of I/O intensive applications. This value determines the cut off point at which I/O requests are not cached by the file system. If your application uses large I/O requests, performance will be improved when this value is increased to include the larger I/O size. This would mean more data will be avail-
into the file system cache. This is to prevent constant overwriting of data in the cache. If you
able in the file system cache. This is useful if the application accesses the same data repeatedly, or if the application accesses the data sequentially. This value does have a dependency on the file system cache. The file systems will not allow I/O requests greater than 1/4 of the total cache into the file system cache. This is to prevent constant overwriting of data in the cache. If you increase the threshold value, be certain that the file system cache can use that value with the cache size set. OS/2 will ignore unacceptable threshold value, and use the default value.
increase the threshold value, be certain that the file system cache can use that value with the
 
cache size set. OS/2 will ignore unacceptable threshold value, and use the default value.
The file system cache is used for I/O requests that are less than the threshold value set, or 1/4 of the cache size maximum. Increasing the cache size will improve performance for I/O intensive applications. Experiment with various values to determine the best setting for your application.
The file system cache is used for I/O requests that are less than the threshold value set, or 1/4 of
 
the cache size maximum. Increasing the cache size will improve performance for I/O intensive
Each file system has its own cache. If both file systems are enabled, determine the file system that will be used for the I/O intensive applications and increase the size of that file system's cache. Decrease the size of the other file system cache. Decrease both file system caches if your application is not I/O intensive, as this will free up memory for your application(s).
applications. Experiment with various values to determine the best setting for your application.
Each file system has its own cache. If both file systems are enabled, determine the file system
that will be used for the I/O intensive applications and increase the size of that file system's
cache. Decrease the size of the other file system cache. Decrease both file system caches if your
application is not I/O intensive, as this will free up memory for your application(s).


Figure 11. Cache and Lazy Writing Parameters
Figure 11. Cache and Lazy Writing Parameters
Line 766: Line 744:


EXAMPLES: These examples only suggest changes for systems, and assumes that memory is NOT overcommitted.
EXAMPLES: These examples only suggest changes for systems, and assumes that memory is NOT overcommitted.
CPU Application.
* CPU Application.
System Setup - C: is the system partition, 60MB, FAT
System Setup - C: is the system partition, 60MB, FAT
D: is the application partition, 100MB, HPFS
D: is the application partition, 100MB, HPFS
Line 773: Line 751:
128K for HPFS will probably be sufficient.
128K for HPFS will probably be sufficient.
No changes in threshold.
No changes in threshold.
DASD Application.
* DASD Application.
System Setup - C: is the system partition, 60MB, FAT
System Setup - C: is the system partition, 60MB, FAT
D: is the application partition, 100MB, HPFS
D: is the application partition, 100MB, HPFS
Line 779: Line 757:
Increase the size of the HPFS cache, threshold to 64K.
Increase the size of the HPFS cache, threshold to 64K.
Decrease the size of the FAT cache, no change to threshold
Decrease the size of the FAT cache, no change to threshold
DASD Application
* DASD Application
System Setup - C: is the system partition, 70MB, FAT
System Setup - C: is the system partition, 70MB, FAT
D: is the application partition, 210MB, HPFS
D: is the application partition, 210MB, HPFS
Line 785: Line 763:
Increase the size of the HPFS cache, increase threshold to 64K.
Increase the size of the HPFS cache, increase threshold to 64K.
Decrease the size of the FAT cache, no change to threshold
Decrease the size of the FAT cache, no change to threshold
CPU Application.
* CPU Application.
System Setup - C: is the system partition, 60MB, FAT
System Setup - C: is the system partition, 60MB, FAT
D: is the application partition, 60MB, FAT
D: is the application partition, 60MB, FAT
Line 792: Line 770:
No change in FAT threshold.
No change in FAT threshold.
Default File System Cache Sizes
Default File System Cache Sizes
Although the installation defaults might not be specifically customized to a particular system, it
is beneficial to have access to larger cache sizes. Therefore, OS/2 2.x installs with larger cache
sizes when additional memory is available on the system. system.
The default values are shown in Figure 12 on page 27. If only the FAT file system is installed,
the default sizes are for the DISKCACHE= statement in the CONFIG.SYS file. If the system
has partitions that are all HPFS, the default size is for the IFS=HPFS statement in the
CONFIG.SYS file. If the system uses both file systems types, then OS/2 2.x installation changes
the cache size for both file systems. The file system with the largest total amount of DASD
(sum of the partitions) gets that larger value (listed under 2 file systems) and the other file system
gets the smaller value. See the section on File Systems for additional information.


==The CONFIG.SYS==
Although the installation defaults might not be specifically customized to a particular system, it is beneficial to have access to larger cache sizes. Therefore, OS/2 2.x installs with larger cache sizes when additional memory is available on the system. system.
The default values are shown in Figure 12 on page 27. If only the FAT file system is installed, the default sizes are for the DISKCACHE= statement in the CONFIG.SYS file. If the system has partitions that are all HPFS, the default size is for the IFS=HPFS statement in the CONFIG.SYS file. If the system uses both file systems types, then OS/2 2.x installation changes the cache size for both file systems. The file system with the largest total amount of DASD (sum of the partitions) gets that larger value (listed under 2 file systems) and the other file system gets the smaller value. See the section on File Systems for additional information.
 
===The CONFIG.SYS===
OS/2 provides many options and tunable settings. The default settings are designed for the 'average' user. Certain assumptions were made that will not apply to all end users. While these choices are excellent for general use, some changes can provide for increased performance in the end user environment. The following is intended to provide information to allow you to change the settings to tune the system for your specific requirements.
OS/2 provides many options and tunable settings. The default settings are designed for the 'average' user. Certain assumptions were made that will not apply to all end users. While these choices are excellent for general use, some changes can provide for increased performance in the end user environment. The following is intended to provide information to allow you to change the settings to tune the system for your specific requirements.


Customizing
====Customizing====
 
There is a considerable amount of flexibility in the settings in the CONFIG.SYS. Generally end users try to make changes and 'see what happens'. This can lead to the situation where the system will not boot. Use the new ALT-F1 feature or boot from a diskette to recover. The ALT-F1 feature takes the CONFIG.SYS, OS2SYS.INI and OS2.INI from the install directory and replaces them over the existing files. To use this optimally, set up your system as you like it (Workplace Shell included) and then copy those files over to the OS2\INSTALL subdirectory on the boot partition. This allows experimentation without high risk - recovery is to the last saved
There is a considerable amount of flexibility in the settings in the CONFIG.SYS. Generally end users try to make changes and 'see what happens'. This can lead to the situation where the system will not boot. Use the new ALT-F1 feature or boot from a diskette to recover. The ALT-F1 feature takes the CONFIG.SYS, OS2SYS.INI and OS2.INI from the install directory and replaces them over the existing files. To use this optimally, set up your system as you like it (Workplace Shell included) and then copy those files over to the OS2\INSTALL subdirectory on the boot partition. This allows experimentation without high risk - recovery is to the last saved
setup. If you don't make any changes, the files saved are the CONFIG.SYS and INI files from initial installation. Considerable time can be saved by copying these files after system changes are made.
setup. If you don't make any changes, the files saved are the CONFIG.SYS and INI files from initial installation. Considerable time can be saved by copying these files after system changes are made.
You might want to copy a CONFIG.SYS file from a network server or from a previously installed system. However, using the statements from an existing system for another system might not enable optimum performance of the second system, because many of the parameters for the CONFIG.SYS statements are dynamically determined at install time based on the configuration of the system. See the section on Installation for more specific information. Customizing the OS/2 2.1 CONFIG.SYS file improves performance and reduces memory requirements.
You might want to copy a CONFIG.SYS file from a network server or from a previously installed system. However, using the statements from an existing system for another system might not enable optimum performance of the second system, because many of the parameters for the CONFIG.SYS statements are dynamically determined at install time based on the configuration of the system. See the section on Installation for more specific information. Customizing the OS/2 2.1 CONFIG.SYS file improves performance and reduces memory requirements.
This section describes some OS/2 2.1 CONFIG.SYS statements.
This section describes some OS/2 2.1 CONFIG.SYS statements.
PATH=
 
Specifies the directories and search sequence to find .EXE, .BAT, .CMD and .COM files.
;PATH=:Specifies the directories and search sequence to find .EXE, .BAT, .CMD and .COM files. The path statement should be tuned for your particular system. By placing the most commonly used directories in the beginning of the path, performance can be improved. This reduces the number of directories that must be searched to locate a particular file.
The path statement should be tuned for your particular system. By placing the most com-
 
monly used directories in the beginning of the path, performance can be improved. This
 
reduces the number of directories that must be searched to locate a particular file.
 


Figure 12. Installed Cache Default Sizes
Figure 12. Installed Cache Default Sizes
Line 875: Line 846:




LIBPATH=
;LIBPATH=:Specifies the directories and search sequence to find DLLs, resources and fonts. Specify the most frequently accessed directories first so the operating system can find them faster. A .;  in the beginning of the LIBPATH tells OS/2 to search the current directory first.
Specifies the directories and search sequence to find DLLs, resources and fonts. Specify the
;DPATH=:Specifies the directories and search sequence to find data. Specify the most frequently accessed directories first so that the operating system can find them faster.
most frequently accessed directories first so the operating system can find them faster. A
;SWAPPATH=:Specifies the location of the swap file, the minfree value, and the initial size. See the section on the swap file for specific tuning information (page 20). The default location for the file is \OS2\SYSTEM. Both values are given in KB. All changes take effect after the next boot. The following statement will create the SWAPPER.DAT file in the OS2\SYSTEM subdirectory on the  D: partition, with a minfree value of 2MB, and an initial size of 4MB.<br/><tt>SWAPPATH=D:\OS2\SYSTEM 2048 4096</tt><br/>The following statement will create a SWAPPER.DAT file in the root directory on the E: partition, with a minfree value of 5MB, and an initial size of 12MB.
.;  in the beginning of the LIBPATH tells OS/2 to search the current directory first.
DPATH=
Specifies the directories and search sequence to find data. Specify the most frequently
accessed directories first so that the operating system can find them faster.
SWAPPATH=
Specifies the location of the swap file, the minfree value, and the initial size. See the section
on the swap file for specific tuning information (page 20). The default location for the file
is \OS2\SYSTEM. Both values are given in KB. All changes take effect after the next
boot.
The following statement will create the SWAPPER.DAT file in the OS2\SYSTEM subdirec-
tory on the  D: partition, with a minfree value of 2MB, and an initial size of 4MB.
SWAPPATH=D:\OS2\SYSTEM 2048 4096
The following statement will create a SWAPPER.DAT file in the root directory on the
E: partition, with a minfree value of 5MB, and an initial size of 12MB.
SWAPPATH=E:\ 5120 12288
SWAPPATH=E:\ 5120 12288
DISKCACHE=
;DISKCACHE=:Specifies the size (in KB) of memory to allocate for use for the FAT file system's disk cache, whether FAT lazy writing is enabled, and the threshold (in sectors) for caching disk reads. Caching speeds up applications that read hard disks by keeping frequently accessed hard disk data in a cache. However, increasing the size of the disk cache decreases the size of available memory. See Figure 12 on page 27 for the default disk cache sizes. If the LW parameter is specified, FAT lazy writing is on. Lazy writing is a feature whereby actual writing of data to the hard disk is deferred. This allows control to be returned to an application without having to wait for the completion of I/O operations. Disabling lazy writing severely degrades system performance. The default enables lazy writing. The following statement sets the FAT file system cache at 128 KB with lazy writing enabled.
Specifies the size (in KB) of memory to allocate for use for the FAT file system's disk
;DISKCACHE=128,LW:The threshold parameter specifies the number of sectors that will be placed into cache for read operations. If the threshold parameter is not specified (as in the previous example), it defaults to a value of 4 (2KB). The threshold value may not exceed 1/4 the total cache size or the specified value will be ignored and the default value will be used instead. Any read operation that is less than the threshold is read into the disk cache first. Therefore, subsequent read operations will probably find the needed data in the cache, thus improving performance. The following statement sets the FAT file system cache at 512KB with lazy writing enabled and a threshold value of 64 resulting in the caching of all reads < 32KB. DISKCACHE=512,LW,64
cache, whether FAT lazy writing is enabled, and the threshold (in sectors) for caching disk
;BUFFERS=:Provides memory that OS/2 2.x uses to cache FAT directory information, thereby improving performance. This usage is different than in a DOS environment. A buffer is the size of a FAT sector (512 bytes), so every 8 buffers take one page of memory. On larger FAT partitions, performance will be improved by increasing the number of buffers. The default value is 30.
reads.
;IFS=:This statement causes the High Performance File System to be loaded. It is also used to specify the size in KB of memory to allocate for the HPFS disk cache (via the /CACHE parameter), and the threshold in KB for caching disk reads (via the /CRECL parameter).
Caching speeds up applications that read hard disks by keeping frequently accessed hard
:Note: If your system has no HPFS partitions defined, you should disable the loading of HPFS by adding a REM to the beginning of the IFS= line in your CONFIG.SYS.
disk data in a cache. However, increasing the size of the disk cache decreases the size of
Lazy writing for HPFS defaults to ON. A RUN=CACHE statement is required to change the state of lazy writing. CACHE also can be executed from a command prompt. See
available memory. See Figure 12 on page 27 for the default disk cache sizes.
Figure 12 on page 27 for the default disk cache sizes and Figure 11 on page 25 for the other cache and lazy write options that are available.
If the LW parameter is specified, FAT lazy writing is on. Lazy writing is a feature whereby
actual writing of data to the hard disk is deferred. This allows control to be returned to an
application without having to wait for the completion of I/O operations. Disabling lazy
writing severely degrades system performance.
The default enables lazy writing.
The following statement sets the FAT file system cache at 128 KB with lazy writing
enabled.
DISKCACHE=128,LW
The threshold parameter specifies the number of sectors that will be placed into cache for
read operations. If the threshold parameter is not specified (as in the previous example), it
defaults to a value of 4 (2KB). The threshold value may not exceed 1/4 the total cache size
or the specified value will be ignored and the default value will be used instead. Any read
operation that is less than the threshold is read into the disk cache first. Therefore, subse-
quent read operations will probably find the needed data in the cache, thus improving per-
formance.
The following statement sets the FAT file system cache at 512KB with lazy writing enabled
and a threshold value of 64 resulting in the caching of all reads < 32KB.
DISKCACHE=512,LW,64
 
BUFFERS=
Provides memory that OS/2 2.x uses to cache FAT directory information, thereby
improving performance. This usage is different than in a DOS environment. A buffer is
the size of a FAT sector (512 bytes), so every 8 buffers take one page of memory. On
larger FAT partitions, performance will be improved by increasing the number of buffers.
The default value is 30.
IFS=
This statement causes the High Performance File System to be loaded. It is also used to
specify the size in KB of memory to allocate for the HPFS disk cache (via the /CACHE
parameter), and the threshold in KB for caching disk reads (via the /CRECL parameter).
Note: If your system has no HPFS partitions defined, you should disable the loading of
HPFS by adding a REM to the beginning of the IFS= line in your CONFIG.SYS.
Lazy writing for HPFS defaults to ON. A RUN=CACHE statement is required to change
the state of lazy writing. CACHE also can be executed from a command prompt. See
Figure 12 on page 27 for the default disk cache sizes and Figure 11 on page 25 for the
other cache and lazy write options that are available.
The example that follows shows the default statement on 8MB systems. This results in the
The example that follows shows the default statement on 8MB systems. This results in the
allocation of a 512KB HPFS disk cache and in the caching of I/O requests that are smaller
allocation of a 512KB HPFS disk cache and in the caching of I/O requests that are smaller
Line 1,050: Line 972:
The default value is YES.
The default value is YES.


Changes for a DOS Session
====Changes for a DOS Session====
Virtual device drivers used by DOS sessions take little or no memory below the 640KB limit. A
Virtual device drivers used by DOS sessions take little or no memory below the 640KB limit. A user can install device drivers that are required by, and are specific to, certain applications that run in a DOS session. If the commands to load these device drivers or other memory resident programs are added to the CONFIG.SYS file, these device drivers (or programs) are loaded into any DOS session. This reduces the amount of conventional memory available to DOS applications.
user can install device drivers that are required by, and are specific to, certain applications that
 
run in a DOS session. If the commands to load these device drivers or other memory resident
DOS settings allow a user to customize a DOS session. To ensure that the maximum amount of memory is available in each DOS session, load the necessary DOS device drivers for the DOS application by using DOS settings. For example:
programs are added to the CONFIG.SYS file, these device drivers (or programs) are loaded into
any DOS session. This reduces the amount of conventional memory available to DOS applica-
tions.
DOS settings allow a user to customize a DOS session. To ensure that the maximum amount of
memory is available in each DOS session, load the necessary DOS device drivers for the DOS
application by using DOS settings. For example:
DEVICEHIGH=
DEVICEHIGH=
Loads a specified DOS device driver into an available upper memory block (UMB) for a
Loads a specified DOS device driver into an available upper memory block (UMB) for a
Line 1,071: Line 987:
the operating system or DOS applications will control upper memory blocks.
the operating system or DOS applications will control upper memory blocks.
Note:  Upper memory blocks are provided by the XMS device driver.
Note:  Upper memory blocks are provided by the XMS device driver.
It also is necessary to include a VXMS.SYS statement in the CONFIG.SYS file to have
upper memory blocks available.
 With a DOS=HIGH/LOW,UMB statement, the operating system controls the upper
memory blocks. This means that DOS applications can be loaded into upper memory
but cannot allocate UMBs.
 With a DOS=HIGH/LOW,NOUMB statement, the operating system will not control
any UMBs. DOS applications can allocate UMBs but cannot be loaded there.
Eliminate DEVICE= statements for DOS device drivers from the CONFIG.SYS file unless the
device driver is required for any DOS session.


==The AUTOEXEC.BAT==
It also is necessary to include a VXMS.SYS statement in the CONFIG.SYS file to have upper memory blocks available.
Customizing
* With a DOS=HIGH/LOW,UMB statement, the operating system controls the upper memory blocks. This means that DOS applications can be loaded into upper memory but cannot allocate UMBs.
* With a DOS=HIGH/LOW,NOUMB statement, the operating system will not control any UMBs. DOS applications can allocate UMBs but cannot be loaded there.
Eliminate DEVICE= statements for DOS device drivers from the CONFIG.SYS file unless the device driver is required for any DOS session.
 
===The AUTOEXEC.BAT===
====Customizing====
The AUTOEXEC.BAT file is specific to the DOS session and has no effect on the OS/2 operating system. It can be customized for each session. This file contains DOS system commands that run when a DOS session is started. The AUTOEXEC.BAT file starts memory resident programs, such as network programs, and sets up environment variables.
The AUTOEXEC.BAT file is specific to the DOS session and has no effect on the OS/2 operating system. It can be customized for each session. This file contains DOS system commands that run when a DOS session is started. The AUTOEXEC.BAT file starts memory resident programs, such as network programs, and sets up environment variables.


To make as much base memory as possible available to applications, remove any unnecessary commands from the AUTOEXEC.BAT file. Create several AUTOEXEC.BAT files. Include only the commands needed in each AUTOEXEC.BAT file to customize a specific DOS session.
To make as much base memory as possible available to applications, remove any unnecessary commands from the AUTOEXEC.BAT file. Create several AUTOEXEC.BAT files. Include only the commands needed in each AUTOEXEC.BAT file to customize a specific DOS session.
Note:  Do not allow the installation of a DOS or Windows application to change the
Note:  Do not allow the installation of a DOS or Windows application to change the AUTOEXEC.BAT file supplied with OS/2. If a DOS command is necessary for a specific
AUTOEXEC.BAT file supplied with OS/2. If a DOS command is necessary for a specific
DOS application, customize the specific AUTOEXEC.BAT file for that DOS session.
DOS application, customize the specific AUTOEXEC.BAT file for that DOS session.
How To Specify a Different AUTOEXEC.BAT File
You may start DOS or WIN-OS/2 sessions with the default AUTOEXEC.BAT file which is
located in the root directory of the boot drive. It is better to specify a customized
AUTOEXEC.BAT file to create the environment for running that specific DOS or Windows
application. The specification of the new AUTOEXEC.BAT can be done by selecting the setting
DOS_AUTOEXEC in the WIN-OS/2 Settings notebook for the application object (Dos Set-
tings). Also see Dos Settings, Page 40.


Tuning for OS/2 Applications
====How To Specify a Different AUTOEXEC.BAT File====
OS/2 applications are designed to run in the native OS/2 environment. Because of this, special
You may start DOS or WIN-OS/2 sessions with the default AUTOEXEC.BAT file which is located in the root directory of the boot drive. It is better to specify a customized AUTOEXEC.BAT file to create the environment for running that specific DOS or Windows application. The specification of the new AUTOEXEC.BAT can be done by selecting the setting DOS_AUTOEXEC in the WIN-OS/2 Settings notebook for the application object (Dos Settings). Also see Dos Settings, Page 40.
settings and configurations to support these applications are not required. Well written OS/2 appli-
cations take advantage of OS/2 at the API level. Users do not need to make explicit changes for
OS/2 applications.


Tuning for Windows Applications
===Tuning for OS/2 Applications===
Enhanced and Standard Modes
OS/2 applications are designed to run in the native OS/2 environment. Because of this, special settings and configurations to support these applications are not required. Well written OS/2 applications take advantage of OS/2 at the API level. Users do not need to make explicit changes for OS/2 applications.
The Enhanced Mode Compatibility enables the user to run a number of Windows 3.1 enhanced
 
mode applications under OS/2 2.1. It is important to realize that this is not an implementation
===Tuning for Windows Applications===
of Windows 3.1 enhanced mode, but a mode specific to WIN-OS/2 3.1 that illustrates the flexi-
====Enhanced and Standard Modes====
bility of OS/2 and its power in blending different application environments into an integrated
The Enhanced Mode Compatibility enables the user to run a number of Windows 3.1 enhanced mode applications under OS/2 2.1. It is important to realize that this is not an implementation of Windows 3.1 enhanced mode, but a mode specific to WIN-OS/2 3.1 that illustrates the flexibility of OS/2 and its power in blending different application environments into an integrated platform since the major benefit to Windows 3.1 users of enhanced mode was virtual memory - something which OS/2 users already have.
platform since the major benefit to Windows 3.1 users of enhanced mode was virtual memory -
 
something which OS/2 users already have.
Like the previous WIN-OS/2 3.0, a special VDM is provided to emulate a DPMI server and the WIN-OS/2 3.1 kernel is loaded into the VDM to directly service the requests of Windows applications running in the VDM. To preserve the integrity of the system and avoid having duplicate virtual device drivers (one running on top of the other), the WIN-OS/2 3.1 Enhanced Mode Compatibility does not use the Windows enhanced mode virtual device drivers (VxDs). As a result, Windows 3.1 applications which do not access the VxDs, such as Mathematica, OmniPage Professional and Vellum, will run in the WIN-OS/2 3.1 Enhanced Compatibility Mode.
Like the previous WIN-OS/2 3.0, a special VDM is provided to emulate a DPMI server and the
 
WIN-OS/2 3.1 kernel is loaded into the VDM to directly service the requests of Windows appli-
An application can be set up to run in the Enhanced Compatibility Mode by setting the WIN_RUNMODE to "3.1 ENHANCED". This setting can be found in the WIN-OS/2 Settings
cations running in the VDM. To preserve the integrity of the system and avoid having duplicate
notebook for the application object. You can also start an Enhanced Compatibility mode session from an OS/2 or DOS command line by typing WINOS2 /E or WINOS2 /3.
virtual device drivers (one running on top of the other), the WIN-OS/2 3.1 Enhanced Mode
 
Compatibility does not use the Windows enhanced mode virtual device drivers (VxDs). As a
To start an application to run in the Enhanced Compatibility mode, for example hello.exe, you would type WINOS2 /3 hello.exe.
result, Windows 3.1 applications which do not access the VxDs, such as Mathematica,
 
OmniPage Professional and Vellum, will run in the WIN-OS/2 3.1 Enhanced Compatibility
An application can be set up to run in Standard Mode by setting the WIN_RUNMODE to "3.1 STANDARD". This setting can be found in the WIN-OS/2 Settings notebook for the application object.
Mode.
 
An application can be set up to run in the Enhanced Compatibility Mode by setting the
You can determine which mode is enabled in a VDM by bringing up the Help pop-up menu from the Program Manager and select About.... The selection would display the About Program Manager Box which will inform you if the session is in Standard or Enhanced Compatibility Mode.
WIN_RUNMODE to "3.1 ENHANCED". This setting can be found in the WIN-OS/2 Settings
notebook for the application object. You can also start an Enhanced Compatibility mode
session from an OS/2 or DOS command line by typing WINOS2 /E or WINOS2 /3.


To start an application to run in the Enhanced Compatibility mode, for example hello.exe, you
would type WINOS2 /3 hello.exe.
An application can be set up to run in Standard Mode by setting the WIN_RUNMODE to "3.1
STANDARD". This setting can be found in the WIN-OS/2 Settings notebook for the applica-
tion object.
You can determine which mode is enabled in a VDM by bringing up the Help pop-up menu
from the Program Manager and select About.... The selection would display the About Program
Manager Box which will inform you if the session is in Standard or Enhanced Compatibility
Mode.
How To Install a WIN-OS/2 Application.
How To Install a WIN-OS/2 Application.
You can select migration and the system will migrate your application, placing the icon in the
You can select migration and the system will migrate your application, placing the icon in the Windows Application folder. This is easiest as the system will provide paths and some settings.
Windows Application folder. This is easiest as the system will provide paths and some settings.
You can install a Windows application on the workplace shell by creating a program object from the Templates folder and use the Settings Notebook for the object to specify the settings for the application accordingly. For a Single Application definition, enter the full path and file name of the application in the Program Object definition. For a multiple application definition, enter the name of the program manager, i.e., MYAPP.EXE, in the Program Object definition. Once the program definition has been done, you can go to the Session Object to specify the session type:
You can install a Windows application on the workplace shell by creating a program object from
the Templates folder and use the Settings Notebook for the object to specify the settings for the
application accordingly. For a Single Application definition, enter the full path and file name of
the application in the Program Object definition. For a multiple application definition, enter the
name of the program manager, i.e., MYAPP.EXE, in the Program Object definition. Once the
program definition has been done, you can go to the Session Object to specify the session type:
WIN-OS/2 Full Screen or WIN-OS/2 Windowed. If you select the WIN-OS/2 Windowed option
WIN-OS/2 Full Screen or WIN-OS/2 Windowed. If you select the WIN-OS/2 Windowed option
then you can select the Separate option to run your application in a separate VDM. If the
then you can select the Separate option to run your application in a separate VDM. If the option is not selected then it will be run by default in a Common seamless session.
option is not selected then it will be run by default in a Common seamless session.
 
Starting DOS and OS/2 Applications from WIN-OS/2
Starting DOS and OS/2 Applications from WIN-OS/2
The ability to start non-Windows applications from a VDM running WIN-OS/2 does not exists
 
under OS/2 2.0. In the release 2.1, you can now start DOS and OS/2 applications from a VDM
The ability to start non-Windows applications from a VDM running WIN-OS/2 does not exists under OS/2 2.0. In the release 2.1, you can now start DOS and OS/2 applications from a VDM running a WIN-OS/2 full screen or seamless session.
running a WIN-OS/2 full screen or seamless session.
 
From a command prompt in a DOS VDM session, you can start an OS/2 application by typing
From a command prompt in a DOS VDM session, you can start an OS/2 application by typing the name of the application as if the application was a DOS application,.
the name of the application as if the application was a DOS application,.
Full Screen vs. Seamless Mode.
Full Screen vs. Seamless Mode.
By default, the WIN-OS/2 icon is set to full screen. Because it references * in the program set-
 
tings, you cannot easily change from full screen to seamless. Some performance gain can be
By default, the WIN-OS/2 icon is set to full screen. Because it references * in the program settings, you cannot easily change from full screen to seamless. Some performance gain can be obtained by running your application under WIN-OS/2 in a full screen. However, you may prefer to run in seamless mode. A quick way to change from full screen to seamless is to change the WIN-OS/2 program settings path and file name to C:\OS2\MDOS\WINOS2\PROGMAN.EXE (assuming C: is the partition where WIN-OS/2 is installed). This allows you to choose either WIN-OS/2 Full Screen or WIN-OS/2 Windowed (seamless). to launch your applications. (change the selection of full screen or seamless on the session page of the icon settings) Change the icon title on the general settings page.
obtained by running your application under WIN-OS/2 in a full screen. However, you may
prefer to run in seamless mode. A quick way to change from full screen to seamless is to change
the WIN-OS/2 program settings path and file name to
C:\OS2\MDOS\WINOS2\PROGMAN.EXE (assuming C: is the partition where WIN-OS/2 is
installed). This allows you to choose either WIN-OS/2 Full Screen or WIN-OS/2 Windowed
(seamless). to launch your applications. (change the selection of full screen or seamless on the
session page of the icon settings) Change the icon title on the general settings page.


How to Load Your Application Faster in the Seamless Environment
How to Load Your Application Faster in the Seamless Environment


An application can run in a common or separate sessions. Common seamless sessions share one
An application can run in a common or separate sessions. Common seamless sessions share one WIN-OS/2 kernel regardless of the number of applications loaded. Separate sessions load a new copy of the WIN-OS/2 kernel each time an application (or session) is started. As a result, if you launch an application from a separate seamless session, the time taken to load the application includes the time to load the WIN-OS/2 kernel as well. To eliminate the loading time of the WIN-OS/2 kernel, you can either load a small Windows utility program at the system startup time (e.g., loading clock.exe from the StartUp folder), or before the actual loading of your main
WIN-OS/2 kernel regardless of the number of applications loaded. Separate sessions load a new
copy of the WIN-OS/2 kernel each time an application (or session) is started. As a result, if you
launch an application from a separate seamless session, the time taken to load the application
includes the time to load the WIN-OS/2 kernel as well. To eliminate the loading time of the
WIN-OS/2 kernel, you can either load a small Windows utility program at the system startup
time (e.g., loading clock.exe from the StartUp folder), or before the actual loading of your main
application.
application.


How to Reduce Memory Management Overhead for WIN-OS/2 3.1
How to Reduce Memory Management Overhead for WIN-OS/2 3.1


When a WIN-OS/2 session starts, the WIN-OS/2 kernel checks the settings of DOS_RMSIZE
When a WIN-OS/2 session starts, the WIN-OS/2 kernel checks the settings of DOS_RMSIZE and DPMI_MEMORY_LIMIT before committing the memory it would allocate to the session.
and DPMI_MEMORY_LIMIT before committing the memory it would allocate to the session.
The new WIN-OS/2 3.1 kernel will allocate 1MB for the DOS virtual machine and partially commit the DPMI memory that was asked for. By adjusting the settings for DPMI memory, you can drastically reduce the overhead associated with the memory management
The new WIN-OS/2 3.1 kernel will allocate 1MB for the DOS virtual machine and partially
commit the DPMI memory that was asked for. By adjusting the settings for DPMI memory, you
can drastically reduce the overhead associated with the memory management


How to Reduce Memory Resource Usage
How to Reduce Memory Resource Usage
Line 1,185: Line 1,051:
To reduce system memory resource usage, use a Common Seamless session whenever possible
To reduce system memory resource usage, use a Common Seamless session whenever possible
since only one VDM will be started for all of the WIN-OS/2 Seamless sessions.
since only one VDM will be started for all of the WIN-OS/2 Seamless sessions.
Also, reduce the amount of EMS and XMS memory allocated to your sessions if your applica-
Also, reduce the amount of EMS and XMS memory allocated to your sessions if your application do not require it. While the session only allocates linear address space, some applications try to touch all memory just to see what is available. This will increase the memory required to run the application and may increase the size of the swap file. If you are not sure if your application(s) use EMS or XMS, then reduce the amounts from the default 2048 KB to 64KB.
tion do not require it. While the session only allocates linear address space, some applications
This will provide enough memory for applications to run without causing application failure with applications requiring EMS or XMS memory support.
try to touch all memory just to see what is available. This will increase the memory required to
run the application and may increase the size of the swap file. If you are not sure if your
application(s) use EMS or XMS, then reduce the amounts from the default 2048 KB to 64KB.
This will provide enough memory for applications to run without causing application failure with
applications requiring EMS or XMS memory support.


How to Improve Cut and Paste Operations
How to Improve Cut and Paste Operations
Line 1,208: Line 1,069:
ance.
ance.


WIN-OS/2 Settings
====WIN-OS/2 Settings====
Settings for WIN-OS/2 sessions can be changed globally, using the WIN-OS/2 Setup icon found
Settings for WIN-OS/2 sessions can be changed globally, using the WIN-OS/2 Setup icon found in the System Setup folder. Settings can also be changed for specific sessions, using the application settings notebook. Changes to the WIN-OS/2 Setup icon will change all Windows applications that start after the change is made. The WIN-OS/2 Setup settings will not override any custom values set for applications. This allows you to change settings easier when you have multiple applications.
in the System Setup folder. Settings can also be changed for specific sessions, using the applica-
tion settings notebook. Changes to the WIN-OS/2 Setup icon will change all Windows applica-
tions that start after the change is made. The WIN-OS/2 Setup settings will not override any
custom values set for applications. This allows you to change settings easier when you have
multiple applications.
There are two new settings for WIN-OS/2 3.1.
There are two new settings for WIN-OS/2 3.1.
WIN_RUNMODE
 
In WIN-OS/2 3.1, the WIN_RUNMODE Settings option has been changed to include two
;WIN_RUNMODE:In WIN-OS/2 3.1, the WIN_RUNMODE Settings option has been changed to include two radio buttons for selecting either one of the two modes - 3.1 Standard or 3.1 Enhanced Compatibility. The default is Standard.
radio buttons for selecting either one of the two modes-- 3.1 Standard or 3.1 Enhanced
;DOS_AUTOEXEC:The DOS_AUTOEXEC setting is new in WIN-OS/2 3.1. This setting allows the application to run in different DOS environments. You can now specify the AUTOEXEC.BAT file to be executed when the VDM session is started. The default is blank, and the AUTOEXEC.BAT found in the root directory will be used.
Compatibility.
There are several other settings that affect the performance of your WIN-OS/2 session that are the same as in OS/2 2.0.
The default is Standard.
;WIN_DDE:This setting allows WIN-OS/2 to share DDE information between WIN-OS/2 and OS/2 sessions. For better performance, this setting should be set OFF, but only if you are not exchanging data via DDE between OS/2 and WIN-OS/2 applications. This should be set to Off for private data exchange between DOS applications. The default is ON.
DOS_AUTOEXEC
;WIN_CLIPBOARD:This setting allows WIN-OS/2 to share clipboard information between public WIN-OS/2 and OS/2 sessions. For better performance this setting should be set to Off for private data exchange between WIN-OS/2 applications. Only set this setting Off if you will not be exchanging clipboard data between OS/2 applications and WIN-OS/2 applications. The default is ON.
The DOS_AUTOEXEC setting is new in WIN-OS/2 3.1. This setting allows the application
;DOS_BACKGROUND_EXECUTION:Allows DOS applications to run in the background.
to run in different DOS environments. You can now specify the AUTOEXEC.BAT file to
be executed when the VDM session is started.
The default is blank, and the AUTOEXEC.BAT found in the root directory will be used.
There are several other settings that affect the performance of your WIN-OS/2 session that are
the same as in OS/2 2.0.
WIN_DDE
This setting allows WIN-OS/2 to share DDE information between WIN-OS/2 and OS/2
sessions. For better performance, this setting should be set OFF, but only if you are not
exchanging data via DDE between OS/2 and WIN-OS/2 applications.
This should be set to Off for private data exchange between DOS applications.
The default is ON.
WIN_CLIPBOARD
This setting allows WIN-OS/2 to share clipboard information between public WIN-OS/2
and OS/2 sessions.
For better performance this setting should be set to Off for private data exchange between
WIN-OS/2 applications. Only set this setting Off if you will not be exchanging clipboard
data between OS/2 applications and WIN-OS/2 applications.
The default is ON.
DOS_BACKGROUND_EXECUTION
Allows DOS applications to run in the background.
* When the setting is set to On a Windows application runs when it is in the background.
* When the setting is set to On a Windows application runs when it is in the background.
* When the setting is set to Off a Windows application is suspended when it is in the background.
* When the setting is set to Off a Windows application is suspended when it is in the background.
When the Windows application is suspended, it no longer receives interrupts. For example,
When the Windows application is suspended, it no longer receives interrupts. For example, if users have a polling application running on the background, it may slow down the foreground application. Thus, the setting may be turned on to gain the foreground performance. The default is On.
if users have a polling application running on the background, it may slow down the fore-
;VIDEO_8514A_XGA_IOTRAP:This setting is used to directly access the Model 8514/A or XGA video. Setting this to Off will make an application run faster. It releases the 1 MB of allocated memory where video information is saved in a WIN-OS/2 session, specifically when executing with the 8514/A display driver, certain operations such as painting a dithered background will run faster. Set this to On for all WIN-OS/2 sessions that run in 8514 or XGA video modes. The default is Off.
ground application. Thus, the setting may be turned on to gain the foreground perform-
;VIDEO_SWITCH_NOTIFICATION:This setting is used to notify the DOS program when the session switches to or from a full screen VDM session. WIN-OS/2 understands this notification and will redraw the screen when the screen is switched. For WIN-OS/2 sessions, set the to ON. The default is On.
ance.
:Note: This setting must be ON if the VIDEO_8514A_XGA_IOTRAP is set OFF.
The default is On.
;INT_DURING_IO:Allows interrupts to be handled during file reads/writes. This setting is primarily designed for DOS multimedia applications and should be turned on when the user runs such applications. The default value is Off.
VIDEO_8514A_XGA_IOTRAP
;DOS_RMSIZE:Defines the amount of conventional memory available to WIN-OS/2. This setting is used to decrease the amount of available memory to less than 640 KB. Do not decrease this value for WIN-OS/2 sessions. The default value is 640 KB.
This setting is used to directly access the Model 8514/A or XGA video.
;DPMI_MEMORY_LIMIT:Defines the amount of DPMI memory available to the WIN-OS/2 session. This setting enables you to specify the amount of DPMI memory for the Windows applications on a per session basis. The field for this setting contains values expressed in megabytes. The default value is 64 MB. The range is 1 to 512.
Setting this to Off will make an application run faster. It releases the 1 MB of allocated
 
memory where video information is saved in a WIN-OS/2 session, specifically when exe-
===Tuning for DOS Applications===
cuting with the 8514/A display driver, certain operations such as painting a dithered back-
====Full Screen vs. Windowed====
ground will run faster.
DOS applications (non-graphical) perform well in a windowed session. For example, DOS fileintensive applications such as FoxPro 1.0 perform well while running in a VDM windowed session. DOS word processors such as WordPerfect 5.1 and Word 5.0 also perform well in a windowed DOS session. DOS programs doing intensive text or graphical display will run slower in a windowed session compared to a full screen session. The main reason is that the full screen session allows data to be directly written to video memory while the windowed session does not.
Set this to On for all WIN-OS/2 sessions that run in 8514 or XGA video modes.
 
The default is Off.
====Multitasking DOS sessions====
VIDEO_SWITCH_NOTIFICATION
OS/2 2.x allows users to run more than one VDM session. It provides the ability for all DOS and OS/2 sessions to timeshare the CPU and other system resources. It is important to note that DOS applications, unlike OS/2 applications, rarely block. They consume CPU timeslices even if they are in the background or appear not to be doing anything useful (e.g., polling keyboards or other devices.) This is controlled by the DOS setting Idle_Sensitivity.
This setting is used to notify the DOS program when the session switches to or from a full
Some applications recommend that the idle sensitivity be set to a high value. Those applications may contain functions that appear to OS/2 to be polling, and the lower setting on idle sensitivity may cause a functional problem. If your application has functions that appear to 'hang' when the idle sensitivity is set low, increase idle sensitivity to a value where the function works correctly.
screen VDM session. WIN-OS/2 understands this notification and will redraw the screen
 
when the screen is switched. For WIN-OS/2 sessions, set the to ON.
Another option is to set the DOS_BACKGROUND_EXECUTION to Off. This makes the foreground job and other OS/2 jobs run faster as there will be no background DOS applications competing for the CPU usage. This also allows idle sensitivity to be set higher than the default value, which improves the foreground DOS application.
The default is On.
 
Note: This setting must be ON if the VIDEO_8514A_XGA_IOTRAP is set OFF.
====Running Interrupt-critical DOS sessions====
INT_DURING_IO
Some DOS applications require fast and stable hardware interrupt support. For instance, DOS communication programs need a steady data flow from COM ports. Since the VDM session are virtualized, there are some inherent interrupt limitations. For a DOS communication application, the data processing rate can reach 9600 bps for a single-character buffer com port. This value is reduced when running multiple communication application applications concurrently, to a total of 9600 bps.
Allows interrupts to be handled during file reads/writes. This setting is primarily designed
Similarly, DOS multimedia applications require constant timer interrupts. By the nature of the VDM interrupt mechanism, interrupts may get simulated into the application(s) not at constant time intervals but in a clustered fashion. Therefore, if the DOS application depends on timer interrupts, you may encounter some unpredictable behavior.
for DOS multimedia applications and should be turned on when the user runs such applica-
tions.
The default value is Off.
DOS_RMSIZE
Defines the amount of conventional memory available to WIN-OS/2. This setting is used
to decrease the amount of available memory to less than 640 KB. Do not decrease this
value for WIN-OS/2 sessions.
The default value is 640 KB.
DPMI_MEMORY_LIMIT
Defines the amount of DPMI memory available to the WIN-OS/2 session. This setting
enables you to specify the amount of DPMI memory for the Windows applications on a
per session basis. The field for this setting contains values expressed in megabytes.
The default value is 64 MB. The range is 1 to 512.


Tuning for DOS Applications
====DOS Settings====
Full Screen vs. Windowed
Every object (including program objects) has settings. You can adjust DOS and WIN-OS/2 settings to improve performance. Settings are properties or characteristics that tell the operating system how one object is different from other objects. Each object has a notebook or pop-up menu choice that allows you to customize settings.
DOS applications (non-graphical) perform well in a windowed session. For example, DOS file-
For example, you can customize the settings for a program object to tell the operating system how the application should start each time the program object is opened. You might open the Mouse object to customize the mouse for left hand use.
intensive applications such as FoxPro 1.0 perform well while running in a VDM windowed
session. DOS word processors such as WordPerfect 5.1 and Word 5.0 also perform well in a
windowed DOS session. DOS programs doing intensive text or graphical display will run slower
in a windowed session compared to a full screen session. The main reason is that the full screen
session allows data to be directly written to video memory while the windowed session does not.


Multitasking DOS sessions
====Performance Tuning====
OS/2 2.x allows users to run more than one VDM session. It provides the ability for all DOS
DOS settings provide the ability to selectively configure and customize a DOS session to meet the requirements of a particular application. Some DOS applications require certain features; others operate better without them. Thus, an individual DOS session can be set up to provide the optimum environment for the application that will run within it. All settings can be changed before the session is created. Some settings can also be set at any time, even while an application is running in the session. The Master Help Index has detailed information about settings.
and OS/2 sessions to timeshare the CPU and other system resources. It is important to note
that DOS applications, unlike OS/2 applications, rarely block. They consume CPU timeslices
even if they are in the background or appear not to be doing anything useful (e.g., polling key-
boards or other devices.) This is controlled by the DOS setting Idle_Sensitivity.
Some applications recommend that the idle sensitivity be set to a high value. Those applications
may contain functions that appear to OS/2 to be polling, and the lower setting on idle sensitivity
may cause a functional problem. If your application has functions that appear to 'hang' when
the idle sensitivity is set low, increase idle sensitivity to a value where the function works cor-
rectly.
Another option is to set the DOS_BACKGROUND_EXECUTION to Off. This makes the fore-
ground job and other OS/2 jobs run faster as there will be no background DOS applications
competing for the CPU usage. This also allows idle sensitivity to be set higher than the default
value, which improves the foreground DOS application.
Running Interrupt-critical DOS sessions
Some DOS applications require fast and stable hardware interrupt support. For instance, DOS
communication programs need a steady data flow from COM ports. Since the VDM session are
virtualized, there are some inherent interrupt limitations. For a DOS communication applica-
tion, the data processing rate can reach 9600 bps for a single-character buffer com port. This
value is reduced when running multiple communication application applications concurrently, to
a total of 9600 bps.
Similarly, DOS multimedia applications require constant timer interrupts. By the nature of the
VDM interrupt mechanism, interrupts may get simulated into the application(s) not at constant
time intervals but in a clustered fashion. Therefore, if the DOS application depends on timer
interrupts, you may encounter some unpredictable behavior.
DOS Settings
Every object (including program objects) has settings. You can adjust DOS and WIN-OS/2 set-
tings to improve performance. Settings are properties or characteristics that tell the operating
system how one object is different from other objects. Each object has a notebook or pop-up
menu choice that allows you to customize settings.
For example, you can customize the settings for a program object to tell the operating system
how the application should start each time the program object is opened. You might open the
Mouse object to customize the mouse for left hand use.


==Performance Tuning==
DOS settings provide the ability to selectively configure and customize a DOS session to meet
the requirements of a particular application. Some DOS applications require certain features;
others operate better without them. Thus, an individual DOS session can be set up to provide
the optimum environment for the application that will run within it. All settings can be changed
before the session is created. Some settings can also be set at any time, even while an applica-
tion is running in the session. The Master Help Index has detailed information about settings.
The following is a list of settings that affect the performance of your DOS applications.
The following is a list of settings that affect the performance of your DOS applications.
IDLE_SENSITIVITY
Specifies a threshold for judging when an application is considered idle. The value is the
percentage of the maximum possible polling rate the application can perform. If an appli-
cation polls at a rate higher than this value, it is considered idle.
Idle detection is a "best guess" of what the program is doing. It could be that the program
is polling at a very high rate, but is still doing useful work in between checking. It may be
that the application checks at a fairly slow rate but is doing nothing but waiting. The idle
sensitivity threshold allows you to adjust the threshold for each application.
Increase the percentage if the application can receive input while running and seems to run
more slowly than expected. Selecting 100 in this field turns idle detection off, and the appli-
cation can poll as often as necessary without operating system intervention.
Be aware that polling applications are detected quicker on fast systems than on slower
systems. This means that the value on different speed systems must vary -- decrease the
value on faster systems. Example: If a polling DOS application with idle_sensitivity set to
50 on a 33 MHz CPU is detected as exceeding the threshold and forced to yield its timeslice
by OS/2, it may not be detected as exceeding the threshold on a 16 MHz system with the
same idle-sensitivity value. The 16 MHz system will need to set a lower value before OS/2
will consider the same application as exceeding the threshold and cause a yield.
Overall system performance can usually be improved when there are multiple DOS applica-
tions running if the value is set lower. For additional information on the setting see
?ultitasking DOS sessions?on page 38.
The default value is 75. The range is 1 to 100.
IDLE_SECONDS
Specifies the length of time, in seconds, the operating system waits before applying idle
detection in a DOS session.
This setting works with the IDLE_SENSITIVITY setting to help control polling DOS
applications. You can increase this value if you have an application that waits for input or
at a prompt (like a game).
The default value is 0. The range is 1 to 60.
DOS_DEVICE
Adds or modifies information about DOS device drivers for the specified VDM, in addition
to the information specified in CONFIG.SYS.
This setting allows you to specify a specific device driver for a specific application. This
means that you do not have to load all DOS device drivers at boot time, but instead you
can have the device driver(s) loaded when the application that uses it is started. You may
add, change, or delete the device drivers using this setting via the list provided. Device
drivers should be loaded with the DOS_DEVICE setting instead of in the CONFIG.SYS,
unless you want the device driver loaded for all DOS sessions. For example, a program to
support hardware such as a scanner may include a device driver that is needed only for that
particular program. This device driver should be loaded using the DOS_DEVICE setting,
not globally in the CONFIG.SYS.
The default has no drivers.
DOS_BACKGROUND_EXECUTION
Allows DOS applications to run in the background.
When the setting is set to On, the DOS application runs when it is in the background. The
setting may be turned OFF to gain foreground performance.
When the setting is set to Off the DOS application is suspended when it is in the back-
ground.
The default is On.
INT_DURING_IO
Allows interrupts to be handled during file I/O.
This setting is primarily designed for DOS multimedia applications and should be turned
On when running a multimedia application. Other DOS applications that do not require
long file read/write should leave it Off as it will cost more memory and system overhead.
The default value is Off.
DOS_AUTOEXEC
Allows customizing the selection of an AUTOEXEC.BAT file. This allows setting a specific
AUTOEXEC.BAT file for each VDM session or each DOS application. This allows you to
customize the VDM autoexec, helping to reduce memory and optimize function. Also see
?ow To Specify a Different AUTOEXEC.BAT File?on page 33 for additional informa-
tion.
The default is the AUTOEXEC.BAT file in the root drive.
VIDEO_RETRACE_EMULATION
Controls the frequency of video retrace.
A few DOS applications run more slowly with this setting set to On.
Changing this setting to Off increases performance, but screen switching is not as reliable.
When set to off, retrace occurs only at the interval specific to the video mode of the
running DOS application.
The default is On.
VIDEO_8514A_XGA_IOTRAP
This setting is used to directly access the Model 8514/A or XGA video.
Setting this to Off will make an application run slightly faster. It releases the 1MB of allo-
cated memory where video information is saved in the DOS session.
The default is Off


VIDEO_SWITCH_NOTIFICATION
;IDLE_SENSITIVITY:Specifies a threshold for judging when an application is considered idle. The value is the percentage of the maximum possible polling rate the application can perform. If an application polls at a rate higher than this value, it is considered idle. Idle detection is a "best guess" of what the program is doing. It could be that the program is polling at a very high rate, but is still doing useful work in between checking. It may be that the application checks at a fairly slow rate but is doing nothing but waiting. The idle sensitivity threshold allows you to adjust the threshold for each application.
Notifies a DOS graphics application about a switch between background and foreground.
:Increase the percentage if the application can receive input while running and seems to run more slowly than expected. Selecting 100 in this field turns idle detection off, and the application can poll as often as necessary without operating system intervention. Be aware that polling applications are detected quicker on fast systems than on slower systems. This means that the value on different speed systems must vary - decrease the value on faster systems. Example: If a polling DOS application with idle_sensitivity set to 50 on a 33 MHz CPU is detected as exceeding the threshold and forced to yield its timeslice by OS/2, it may not be detected as exceeding the threshold on a 16 MHz system with the same idle-sensitivity value. The 16 MHz system will need to set a lower value before OS/2 will consider the same application as exceeding the threshold and cause a yield. Overall system performance can usually be improved when there are multiple DOS applications running if the value is set lower. For additional information on the setting see "Multitasking DOS sessions". The default value is 75. The range is 1 to 100.
When this setting is On, programs that monitor screen switching will save or redraw the
;IDLE_SECONDS:Specifies the length of time, in seconds, the operating system waits before applying idle detection in a DOS session.
screen when the screen is switched.
:This setting works with the IDLE_SENSITIVITY setting to help control polling DOS applications. You can increase this value if you have an application that waits for input or at a prompt (like a game). The default value is 0. The range is 1 to 60.
The default is On.
;DOS_DEVICE:Adds or modifies information about DOS device drivers for the specified VDM, in addition to the information specified in CONFIG.SYS.
DOS_FILES
:This setting allows you to specify a specific device driver for a specific application. This means that you do not have to load all DOS device drivers at boot time, but instead you can have the device driver(s) loaded when the application that uses it is started. You may add, change, or delete the device drivers using this setting via the list provided. Device drivers should be loaded with the DOS_DEVICE setting instead of in the CONFIG.SYS, unless you want the device driver loaded for all DOS sessions. For example, a program to support hardware such as a scanner may include a device driver that is needed only for that particular program. This device driver should be loaded using the DOS_DEVICE setting, not globally in the CONFIG.SYS. The default has no drivers.
Specifies the maximum number of file handles which may be opened in a VDM.
;DOS_BACKGROUND_EXECUTION:Allows DOS applications to run in the background.
Setting this value higher than the default may improve performance for applications which
:When the setting is set to On, the DOS application runs when it is in the background. The setting may be turned OFF to gain foreground performance. When the setting is set to Off the DOS application is suspended when it is in the background. The default is On.
use a large number of files. For example, DBase IV requires a DOS_FILES setting of at
;INT_DURING_IO:Allows interrupts to be handled during file I/O.
least 40. Setting it higher than necessary reduces the available memory. Refer to your
:This setting is primarily designed for DOS multimedia applications and should be turned On when running a multimedia application. Other DOS applications that do not require long file read/write should leave it Off as it will cost more memory and system overhead. The default value is Off.
application documentation for the recommended value.
;DOS_AUTOEXEC:Allows customizing the selection of an AUTOEXEC.BAT file. This allows setting a specific AUTOEXEC.BAT file for each VDM session or each DOS application. This allows you to customize the VDM autoexec, helping to reduce memory and optimize function. Also see "How To Specify a Different AUTOEXEC.BAT File" for additional information.
The default is 20. The range is 20 to 255.
:The default is the AUTOEXEC.BAT file in the root drive.
VIDEO_FASTPASTE
;VIDEO_RETRACE_EMULATION:Controls the frequency of video retrace.
The fast paste setting is used to increase the speed of input other than the keyboard (i.e.
:A few DOS applications run more slowly with this setting set to On. Changing this setting to Off increases performance, but screen switching is not as reliable.
character Cut and Paste transfers).
When set to off, retrace occurs only at the interval specific to the video mode of the running DOS application. The default is On.
Set this to On to increase the character speed of Cut and Paste transfers. Pasting into a
;VIDEO_8514A_XGA_IOTRAP:This setting is used to directly access the Model 8514/A or XGA video.
DOS session or application will generally work. However, some applications can fail when
:Setting this to Off will make an application run slightly faster. It releases the 1MB of allocated memory where video information is saved in the DOS session. The default is Off
using fast pasting because they buffer key-strokes in an internal buffer, which can overflow.
;VIDEO_SWITCH_NOTIFICATION:Notifies a DOS graphics application about a switch between background and foreground.
The default is Off.
:When this setting is On, programs that monitor screen switching will save or redraw the screen when the screen is switched. The default is On.
DOS_FCBS
;DOS_FILES:Specifies the maximum number of file handles which may be opened in a VDM.
Specifies the maximum number of file control blocks (FCBs) which may be opened by
:Setting this value higher than the default may improve performance for applications which use a large number of files. For example, DBase IV requires a DOS_FILES setting of at least 40. Setting it higher than necessary reduces the available memory. Refer to your application documentation for the recommended value. The default is 20. The range is 20 to 255.
applications running in the VDM.
;VIDEO_FASTPASTE:The fast paste setting is used to increase the speed of input other than the keyboard (i.e. character Cut and Paste transfers).
Note that this setting affects only DOS applications which use file-sharing. Some applica-
:Set this to On to increase the character speed of Cut and Paste transfers. Pasting into a DOS session or application will generally work. However, some applications can fail when using fast pasting because they buffer key-strokes in an internal buffer, which can overflow. The default is Off.
tions use many FCBs, so this number should be set high. Refer to your application doc-
;DOS_FCBS:Specifies the maximum number of file control blocks (FCBs) which may be opened by applications running in the VDM.
umentation for the recommended value.
:Note that this setting affects only DOS applications which use file-sharing. Some applications use many FCBs, so this number should be set high. Refer to your application documentation for the recommended value. The default is 16. The range is 0 to 255.
The default is 16. The range is 0 to 255.
;DOS_FCBS_KEEP:Specifies the number of FCBs that will be protected against automatic closure.
DOS_FCBS_KEEP
:This setting specifies the number of FCBs that are protected against automatic closure. This may improve application performance. The default is 8. The range is 0 to 255.
Specifies the number of FCBs that will be protected against automatic closure.
;DOS_BREAK:The break setting is used when you want OS/2 to check for the Ctrl+Break or Ctrl+C key combinations while an application is running.
This setting specifies the number of FCBs that are protected against automatic closure.
:If you want to have the option to interrupt a DOS batch file running in a VDM in a faster way, this setting should be turned on. However, DOS applications will run slower when this setting is set to On. The default is Off.
This may improve application performance.
;VIDEO_ROM_EMULATION:Controls the emulation of video functions like WriteChar, WriteTTY, and full-screen scroll for BIOS Int10 processing.
The default is 8. The range is 0 to 255.
:Leave this setting ON because the emulated functions enhance performance over most manufacturers' ROM versions of the same functions. Select Off only if video read-only memory (ROM) provides enhancements to these video functions, or if your application uses Int10 functions which are not emulated. The default is On.
DOS_BREAK
 
The break setting is used when you want OS/2 to check for the Ctrl+Break or Ctrl+C key
====Memory Tuning====
combinations while an application is running.
The OS/2 2.x CONFIG.SYS file specifies the operating system configuration and installs device drivers and other memory resident applications. The OS/2 2.x AUTOEXEC.BAT file is specific to the functioning of the DOS session. To allocate additional memory to applications running in a DOS session, some commands can be moved from the AUTOEXEC.BAT to settings. The following describes what settings can be changed to maximize memory in a DOS session. Also see the sections on CONFIG.SYS and AUTOEXEC.BAT.
If you want to have the option to interrupt a DOS batch file running in a VDM in a faster
way, this setting should be turned on. However, DOS applications will run slower when
this setting is set to On.
The default is Off.
VIDEO_ROM_EMULATION
Controls the emulation of video functions like WriteChar, WriteTTY, and full-screen scroll
for BIOS Int10 processing.


Leave this setting ON because the emulated functions enhance performance over most
;DOS_HIGH:Determines whether DOS is loaded outside the 640K low memory address space. Loading DOS into high memory allows more available memory for application code and data within the 640KB address space. The default is Off (DOS is loaded into low memory).
manufacturers' ROM versions of the same functions.
;MEM_EXCLUDE_REGIONS:This setting is used to specify address ranges which should be protected from use by EMS/XMS and direct access by applications. This setting is intended for experienced users who understand the hardware.
Select Off only if video read-only memory (ROM) provides enhancements to these video
:Note that if these ranges are defined excessively, they will adversely impact the function and performance of EMS and XMS services. The default is blank.
functions, or if your application uses Int10 functions which are not emulated.
;MEM_INCLUDE_REGIONS:Specifies regions which should be made available to EMS/XMS. This setting is used to specify some address ranges between RMSIZE and 1MB for use by EMS and XMS. If there is a hardware adapter in this range which you know is not going to be used by a particular VDM session, then the address range used by the adapter should be made available to EMS and XMS. This will improve the performance of EMS and XMS services. The default is blank.
The default is On.
;HW_ROM_TO_RAM:Copies the Basic Input/Output System (BIOS) from ROM to RAM.
Memory Tuning
:When this setting is set to On, applications might run faster due to the fact that BIOS services run slightly faster in RAM than in ROM. The default is Off.
The OS/2 2.x CONFIG.SYS file specifies the operating system configuration and installs device
;VIDEO_ONDEMAND_MEMORY:Reduces swap space requirements for full screen VDMs.
drivers and other memory resident applications. The OS/2 2.x AUTOEXEC.BAT file is specific
:Selecting On allows a full screen VDM to run without pre-allocating a virtual video buffer for high-resolution graphics modes. Using this setting does not prevent execution of graphics application. It means that allocation of the buffer is delayed until it is needed.
to the functioning of the DOS session. To allocate additional memory to applications running in
:This can save a substantial amount of memory/swap space, which might be important under certain low-memory conditions. It also enables you to start a program quickly. If the allocation of a virtual video buffer for a full screen VDM fails at the time the application changes video modes, the sessions will be frozen and you must switch back to the shell to free memory. Unless you are able to free memory from another session, you may be unable to get the DOS application running again. This is a concern if the application contains unsaved data. The default is Off.
a DOS session, some commands can be moved from the AUTOEXEC.BAT to settings. The
Performance considerations for DPMI:  DPMI provides direct access by DOS applications to > 1 MB of memory in protect mode. There is one setting that can affect system performance.
following describes what settings can be changed to maximize memory in a DOS session. Also
;DPMI_MEMORY_LIMIT:Defines the amount of DPMI available to a DOS session. This setting enables you to specify the amount of DPMI memory needed for DOS applications on a per session basis. The field for this setting contains the value in MBs ranging from 0 to 512. The value may be 0 if a DOS application does not need DPMI. The default value is 4MB.
see the sections on CONFIG.SYS and AUTOEXEC.BAT.
Performance considerations for XMS: XMS provides compatibility for DOS applications that require XMS. There are three settings that can affect performance.
DOS_HIGH
;XMS_MEMORY_LIMIT:Specifies the amount of memory that a DOS session can allocate to XMS. This setting is expressed in KB units, ranging from 0 to 16384.
Determines whether DOS is loaded outside the 640K low memory address space. Loading
:Specifying a large number for the extended-memory limit can slow performance. The default value is 2MB.
DOS into high memory allows more available memory for application code and data within
;XMS_HANDLES:Specifies the number of XMS extended memory block (EMB) handles. A handle is used with each XMS EMB. This number is required because XMS pre-allocates all the handle spaces to be compatible with XMS specifications. This setting should be used only if an application uses a large number of handles.
the 640KB address space.
:Reducing this number will reduce memory consumption. On the other hand, specifying a large number of handles will increase memory consumption and adversely impact system performance. The default value is 32.
The default is Off (DOS is loaded into low memory).
;XMS_MINIMUM_HMA:Specifies the minimum High Memory Area (HMA) memory request allowed. This setting allows fine tuning XMS. The High Memory Area is slightly less than 64KB in size. Only one request can be handled in this area at a time. If a value is set, then only an application that requests an equal or greater amount will be allowed access to this memory. Subsequent requests and requests smaller that the value set will not be satisfied. The default value is zero, and is optimal in almost all conditions. The range is 0 to 63KB.
MEM_EXCLUDE_REGIONS
This setting is used to specify address ranges which should be protected from use by
EMS/XMS and direct access by applications. This setting is intended for experienced users
who understand the hardware.
Note that if these ranges are defined excessively, they will adversely impact the function and
performance of EMS and XMS services.
The default is blank.
MEM_INCLUDE_REGIONS
Specifies regions which should be made available to EMS/XMS. This setting is used to
specify some address ranges between RMSIZE and 1MB for use by EMS and XMS.
If there is a hardware adapter in this range which you know is not going to be used by a
particular VDM session, then the address range used by the adapter should be made avail-
able to EMS and XMS. This will improve the performance of EMS and XMS services.
The default is blank.
HW_ROM_TO_RAM
Copies the Basic Input/Output System (BIOS) from ROM to RAM.
When this setting is set to On, applications might run faster due to the fact that BIOS
services run slightly faster in RAM than in ROM.
The default is Off.
VIDEO_ONDEMAND_MEMORY
Reduces swap space requirements for full screen VDMs.
Selecting On allows a full screen VDM to run without pre-allocating a virtual video buffer
for high-resolution graphics modes. Using this setting does not prevent execution of
graphics application. It means that allocation of the buffer is delayed until it is needed.


This can save a substantial amount of memory/swap space, which might be important
Performance considerations for EMSOS/2 2.x provides full EMS support for DOS applications. As OS/2 2.x uses virtual memory to emulate the DOS EMS system, there is some degree of performance degradation when running a DOS applications involving EMS, compared to native DOS. Most of the overhead is due to the management of large data structures within the virtual memory system. The advantage of using virtual memory to emulate DOS EMS is that it allows large expanded memory to be supported with little limitation from physical memory. In some cases, DOS applications may declare more expanded memory than the total size of the physical memory.
under certain low-memory conditions. It also enables you to start a program quickly. If
the allocation of a virtual video buffer for a full screen VDM fails at the time the applica-
tion changes video modes, the sessions will be frozen and you must switch back to the shell
to free memory. Unless you are able to free memory from another session, you may be
unable to get the DOS application running again. This is a concern if the application con-
tains unsaved data.
The default is Off.
Performance considerations for DPMIDPMI provides direct access by DOS applications to
> 1 MB of memory in protect mode. There is one setting that can affect system performance.
DPMI_MEMORY_LIMIT
Defines the amount of DPMI available to a DOS session. This setting enables you to
specify the amount of DPMI memory needed for DOS applications on a per session basis.
The field for this setting contains the value in MBs ranging from 0 to 512.
The value may be 0 if a DOS application does not need DPMI.
The default value is 4MB.
Performance considerations for XMS:  XMS provides compatibility for DOS applications that
require XMS. There are three settings that can affect performance.
XMS_MEMORY_LIMIT
Specifies the amount of memory that a DOS session can allocate to XMS. This setting is
expressed in KB units, ranging from 0 to 16384.
Specifying a large number for the extended-memory limit can slow performance.
The default value is 2MB.
XMS_HANDLES
Specifies the number of XMS extended memory block (EMB) handles. A handle is used
with each XMS EMB. This number is required because XMS pre-allocates all the handle
spaces to be compatible with XMS specifications. This setting should be used only if an
application uses a large number of handles.
Reducing this number will reduce memory consumption. On the other hand, specifying a
large number of handles will increase memory consumption and adversely impact system
performance.
The default value is 32.
XMS_MINIMUM_HMA
Specifies the minimum High Memory Area (HMA) memory request allowed. This setting
allows fine tuning XMS. The High Memory Area is slightly less than 64KB in size. Only
one request can be handled in this area at a time. If a value is set, then only an application
that requests an equal or greater amount will be allowed access to this memory. Subse-
quent requests and requests smaller that the value set will not be satisfied.
The default value is zero, and is optimal in almost all conditions. The range is 0 to 63KB.


Performance considerations for EMS:  OS/2 2.x provides full EMS support for DOS applica-
tions. As OS/2 2.x uses virtual memory to emulate the DOS EMS system, there is some degree
of performance degradation when running a DOS applications involving EMS, compared to
native DOS. Most of the overhead is due to the management of large data structures within the
virtual memory system. The advantage of using virtual memory to emulate DOS EMS is that it
allows large expanded memory to be supported with little limitation from physical memory. In
some cases, DOS applications may declare more expanded memory than the total size of the
physical memory.
The following settings affect EMS performance:
The following settings affect EMS performance:
EMS_MEMORY_LIMIT
;EMS_MEMORY_LIMIT:Defines the amount of EMS available to the DOS session. This setting is expressed in KB units, ranging from 0 to 32768. The value should be 0 if a DOS application does not need EMS. This might improve performance. Programs generally state whether they use EMS on the box or in the manuals. This setting enables you to limit the amount of EMS that an application reserves, which prevents an application from allocating more memory than necessary. A limit that is too high can slow performance.
Defines the amount of EMS available to the DOS session. This setting is expressed in KB
:The default value is 2MB. The range is 0 to 32768 in 16KB increments.
units, ranging from 0 to 32768.
;EMS_LOW_OS_MAP_REGION:Some programs can use remappable conventional memory. Others do not use this feature. This setting allows advanced users to set the size of the remappable conventional memory available in a VDM. The default is 384KB. The range is 0 to 576 in 16KB increments.
The value should be 0 if a DOS application does not need EMS. This might improve per-
;EMS_HIGH_OS_MAP_REGION:In addition to the EMS page frame, some programs can use additional address ranges to access expanded memory. This setting gives you the capability to adjust the size of the additional EMS region. The default is 32KB. The range is 0 to 96 in 16KB increments.
formance. Programs generally state whether they use EMS on the box or in the manuals.
 
This setting enables you to limit the amount of EMS that an application reserves, which
====Improving Printing Performance====
prevents an application from allocating more memory than necessary. A limit that is too
Printing performance can be tuned by changes to printer and job property settings, changes in the CONFIG.SYS and by using the spooler settings. Some of these changes are generic and affect all printing. Some of the changes affect only certain types of printing. Not all settings listed in this section are available for all printers, but, if available, they do change the performance of printing on your system.
high can slow performance.
 
The default value is 2MB. The range is 0 to 32768 in 16KB increments.
====Printer Settings====
EMS_LOW_OS_MAP_REGION
Every object (including the print object) has settings. A user can adjust these print settings to improve performance. In OS/2 there are Job Properties and Printer Properties. Job Properties work in conjunction with the printer driver object's Printer Properties. These settings can be found in the printer object notebook. Not all settings are supported by all printers. Printer driver settings include job properties such as orientation, fonts and resolution. Queue options include printer specific format and print while spooling. Print options includes start and stop times.
Some programs can use remappable conventional memory. Others do not use this feature.
This setting allows advanced users to set the size of the remappable conventional memory
available in a VDM.
The default is 384KB. The range is 0 to 576 in 16KB increments.
EMS_HIGH_OS_MAP_REGION
In addition to the EMS page frame, some programs can use additional address ranges to
access expanded memory. This setting gives you the capability to adjust the size of the
additional EMS region.
The default is 32KB. The range is 0 to 96 in 16KB increments.


Improving Printing Performance
The choices you make for both printer properties and job properties will be overwritten by applications that permit the specification of job properties on a per-job basis. In this case you must check that the options are chosen correctly within your application. The following are properties that affect performance.
Printing performance can be tuned by changes to printer and job property settings, changes in
the CONFIG.SYS and by using the spooler settings. Some of these changes are generic and
affect all printing. Some of the changes affect only certain types of printing. Not all settings
listed in this section are available for all printers, but, if available, they do change the perform-
ance of printing on your system.
Printer Settings
Every object (including the print object) has settings. A user can adjust these print settings to
improve performance. In OS/2 there are Job Properties and Printer Properties. Job Properties
work in conjunction with the printer driver object's Printer Properties. These settings can be
found in the printer object notebook. Not all settings are supported by all printers. Printer
driver settings include job properties such as orientation, fonts and resolution. Queue options
include printer specific format and print while spooling. Print options includes start and stop
times.
The choices you make for both printer properties and job properties will be overwritten by appli-
cations that permit the specification of job properties on a per-job basis. In this case you must
check that the options are chosen correctly within your application.
The following are properties that affect performance.
Memory (KB)
Memory (KB)
By specifying the amount of memory your printer has, the printer driver can determine if
By specifying the amount of memory your printer has, the printer driver can determine if compression is to be used. Compression reduces the amount of data that has to go to the printer, improving performance.
compression is to be used. Compression reduces the amount of data that has to go to the
 
printer, improving performance.
Resolution
Resolution
This option allows you to vary the resolution of your graphics printing. The selections are
 
usually presented in terms of "dpi" (dots per inch). The higher the number the better
This option allows you to vary the resolution of your graphics printing. The selections are usually presented in terms of "dpi" (dots per inch). The higher the number the better quality your print will be. The drawback is that it will also take longer to print. However, you can use a low number for draft output and select the highest number for printing the finished version. A printer's memory size can limit the resolution you can choose.
quality your print will be. The drawback is that it will also take longer to print. However,
 
you can use a low number for draft output and select the highest number for printing the
finished version. A printer's memory size can limit the resolution you can choose.
Compression
Compression
This option compresses graphic print data which has the advantage of faster printing for
 
most jobs that contain graphics. Two common types of compression are G4 and TIFF
This option compresses graphic print data which has the advantage of faster printing for most jobs that contain graphics. Two common types of compression are G4 and TIFF Packbit Byte.
Packbit Byte.
 
G4
* G4
This improves the printing of graphic data that does not have large numbers of alter-
 
nating bits, for example, large areas that are filled with solid color. G4 is available on
This improves the printing of graphic data that does not have large numbers of alternating bits, for example, large areas that are filled with solid color. G4 is available on all IBM 4029 printers and IBM 4019 models that support Form Feed Time Out. The 4019 models do not support G4 when printing in landscape mode.
all IBM 4029 printers and IBM 4019 models that support Form Feed Time Out. The
 
4019 models do not support G4 when printing in landscape mode.
* TIFF
TIFF
 
This improves the printing of graphic data that consists mostly of repeating bytes, for
This improves the printing of graphic data that consists mostly of repeating bytes, for example, large areas having one type of fill pattern.
example, large areas having one type of fill pattern.
 
Fast System Fonts
Fast System Fonts
You can elect, via this option, to download (copy) OS/2 system bitmap fonts, to the
 
memory of your printer. They will be copied to the printer as a device bitmap font. The
You can elect, via this option, to download (copy) OS/2 system bitmap fonts, to the memory of your printer. They will be copied to the printer as a device bitmap font. The advantage is that a device font uses a smaller spool file and prints quicker than a font printed in raster (graphic font) form.
advantage is that a device font uses a smaller spool file and prints quicker than a font
If overlaying system fonts with graphics, or if print output differs from that shown on the screen, then disable this option.
printed in raster (graphic font) form.
 
If overlaying system fonts with graphics, or if print output differs from that shown on the
screen, then disable this option.
Printer Patterns
Printer Patterns
Pattern filling commands will be directly sent to the printer instead of asking the operating
 
system to perform the pattern filling. This reduces the spool file size for pages that contain
Pattern filling commands will be directly sent to the printer instead of asking the operating system to perform the pattern filling. This reduces the spool file size for pages that contain dense graphics (shaded and patterned rectangular areas), and large scaled text. These improve printing speed. This option should not be used if printer output patterns must exactly match patterns displayed on your screen, nor if there are overlapping shaded or patterned graphics in your document.
dense graphics (shaded and patterned rectangular areas), and large scaled text. These
improve printing speed. This option should not be used if printer output patterns must
exactly match patterns displayed on your screen, nor if there are overlapping shaded or
patterned graphics in your document.


HP-GL/2
HP-GL/2
This option enables HP-GL/2 output. This allows the supporting of many more graphics
 
commands in the printer. This will allow faster printing of graphic objects such as lines and
This option enables HP-GL/2 output. This allows the supporting of many more graphics commands in the printer. This will allow faster printing of graphic objects such as lines and circles. This also reduces the spool file size and helps to print more quickly. For faster output, enable Page Protection (which may require additional printer memory) on both the printer and Printer Properties dialog and use HP-GL/2.
circles. This also reduces the spool file size and helps to print more quickly. For faster
 
output, enable Page Protection (which may require additional printer memory) on both the
printer and Printer Properties dialog and use HP-GL/2.
Large Buffers
Large Buffers
Large Buffers allow the printer drivers to use more of OS/2's memory in order to speed up
 
printing. Around 4 MB is used for printing so system memory should be at least 8 MB. If
Large Buffers allow the printer drivers to use more of OS/2's memory in order to speed up printing. Around 4 MB is used for printing so system memory should be at least 8 MB. If this option is set to OFF, then smaller memory requests, around 1 MB will be used conserving memory. If you have less than 8MB of system memory, then it is better not to use this option.
this option is set to OFF, then smaller memory requests, around 1 MB will be used con-
 
serving memory. If you have less than 8MB of system memory, then it is better not to use
this option.
Print While Spooling
Print While Spooling
The Print while spooling option allows the printer to start processing the print job before
 
the application has finished sending the entire job to the spool queue. Print jobs formatted
The Print while spooling option allows the printer to start processing the print job before the application has finished sending the entire job to the spool queue. Print jobs formatted in printer-specific format (PM_Q_RAW) can speed up printing by using Print While Spooling.
in printer-specific format (PM_Q_RAW) can speed up printing by using Print While
 
Spooling.
This "threading" will increase throughput but could cause timeout problems while printing large files with images. To solve this problem you can disable the Print While Spooling option or you can increase the timeout value setting in the port object. The default is On.
This "threading" will increase throughput but could cause timeout problems while printing
 
large files with images. To solve this problem you can disable the Print While Spooling
option or you can increase the timeout value setting in the port object.
The default is On.
Start and Stop Time
Start and Stop Time
Start Time and Stop Time can be entered for each print object. For example, time settings
 
for "lunch time", 12:00p - 12:50p, can be used which enables printing when you are not
Start Time and Stop Time can be entered for each print object. For example, time settings for "lunch time", 12:00p - 12:50p, can be used which enables printing when you are not there.
there.
 
Fonts Impact Print Speed
Fonts Impact Print Speed
Fonts can be stored in several places. They can be built into the printer, housed on a cartridge
 
that's plugged into the printer, or reside on your system and be downloaded to the printer as
Fonts can be stored in several places. They can be built into the printer, housed on a cartridge that's plugged into the printer, or reside on your system and be downloaded to the printer as needed. When you use printer-based fonts, whether built-in or on a cartridge, you can print faster than if you first have to download them.
needed. When you use printer-based fonts, whether built-in or on a cartridge, you can print
faster than if you first have to download them.
Fonts are either bitmapped or scalable. With a bitmapped font, each character is stored as a
Fonts are either bitmapped or scalable. With a bitmapped font, each character is stored as a
collection of individual pixels, so you need a separate definition for each point size. Scalable
collection of individual pixels, so you need a separate definition for each point size. Scalable
Line 1,662: Line 1,246:
require far less storage space on-disk, or in your printer, than a set of equivalent bitmapped fonts
require far less storage space on-disk, or in your printer, than a set of equivalent bitmapped fonts
in a range of sizes.
in a range of sizes.
OS/2 Spooled Printing
OS/2 Spooled Printing
Printing through the spooler will provide the best performance on your system. Here are some
 
settings that can affect printing performance, with suggestions.
Printing through the spooler will provide the best performance on your system. Here are some settings that can affect printing performance, with suggestions.
 
OS/2 Spooler
OS/2 Spooler
For optimal performance, it is recommended that the OS/2 spooler always be enabled. The
For optimal performance, it is recommended that the OS/2 spooler always be enabled. The
spooler provides flexibility while optimizing the use of the system's print resources. The
spooler provides flexibility while optimizing the use of the system's print resources. The
Line 1,674: Line 1,261:
called pooling, is particularly important in server environments and can be achieved without
called pooling, is particularly important in server environments and can be achieved without
the knowledge of your applications.
the knowledge of your applications.
Jobs can also be reprioritized while they are waiting in the queue. For example, an urgent
Jobs can also be reprioritized while they are waiting in the queue. For example, an urgent
job can be given a higher priority than other queued jobs or can be selected to print next,
job can be given a higher priority than other queued jobs or can be selected to print next,
see Changing a Print Job's Priority.
see Changing a Print Job's Priority.
Spool Path
Spool Path
If print jobs are very large, you may assign a different spooler path (drive or path) that has
If print jobs are very large, you may assign a different spooler path (drive or path) that has
more space than your install drive. If your print usage is heavy, you want to place the
more space than your install drive. If your print usage is heavy, you want to place the
spool file on your fastest hard disk. The spool path is a setting of the spooler object.
spool file on your fastest hard disk. The spool path is a setting of the spooler object.
Print Priority
Print Priority
The OS/2 spooler now has a setting called Print Priority. This allows you to vary the
The OS/2 spooler now has a setting called Print Priority. This allows you to vary the
spooler's priority from low to high. The default setting allows printing to be balanced with
spooler's priority from low to high. The default setting allows printing to be balanced with
Line 1,692: Line 1,284:
folder.
folder.
The default is 95.
The default is 95.
Spool File Formats
Spool File Formats
There are two formats of spool file data. They are the standard (PM_Q_STD) or the raw
 
(PM_Q_RAW) spool file data formats. The standard format is much preferred as it con-
There are two formats of spool file data. They are the standard (PM_Q_STD) or the raw (PM_Q_RAW) spool file data formats. The standard format is much preferred as it consumes much less disk space than the raw format file. Having less data to send across the parallel port saves time in getting the data into the printer's buffer. Network traffic is reduced if printing across a LAN.
sumes much less disk space than the raw format file. Having less data to send across the
 
parallel port saves time in getting the data into the printer's buffer. Network traffic is
reduced if printing across a LAN.
Changing a Print Job's Priority
Changing a Print Job's Priority
Changing a print job's priority will cause that particular print job to print before any other
queued job. To do this, click on the print job you wish to change. Use mouse button 2 to
display its context menu, and then select print next.


You can change the priority of a print job so that it can print before or after other jobs
Changing a print job's priority will cause that particular print job to print before any other queued job. To do this, click on the print job you wish to change. Use mouse button 2 to display its context menu, and then select print next.
queued. To do this, click on the print job you wish to re-prioritize. Use mouse button 2 to
 
display its context menu. Open Settings and change the value in the Priority field.
You can change the priority of a print job so that it can print before or after other jobs queued. To do this, click on the print job you wish to re-prioritize. Use mouse button 2 to display its context menu. Open Settings and change the value in the Priority field.
Note: Once a job has started printing, it is no longer possible to change its priority, the
Note: Once a job has started printing, it is no longer possible to change its priority, the Settings option is not available.
Settings option is not available.
 
Printing from DOS
Printing from DOS
While there are no performance specific tuning options, there are two things to check.
 
Do not use the LPTDD.SYS device driver unless necessary. (The DOS application is using
While there are no performance specific tuning options, there are two things to check. Do not use the LPTDD.SYS device driver unless necessary. (The DOS application is using INT 21h and is not closing the LPT1 handle). This will slow down your DOS printing performance. The other is the DOS setting called PRINT_TIMEOUT. This is useful for DOS applications which do not explicitly close their print jobs. This is the time that OS/2 waits before forcing a print job to the printer. A timeout of 1 or 2 seconds is sufficient for small print jobs, such as copying the contents of the screen. However, when printing large files, formatting documents, or running calculations, the value must be set high enough to allow all print results to reach the spooler before the time limit expires. If not, results go in two or more spool files instead of one, and the resulting output may be unsatisfactory. The default time is 15 seconds.
INT 21h and is not closing the LPT1 handle). This will slow down your DOS printing per-
 
formance.
The other is the DOS setting called PRINT_TIMEOUT. This is useful for DOS applications
which do not explicitly close their print jobs. This is the time that OS/2 waits before forcing
a print job to the printer. A timeout of 1 or 2 seconds is sufficient for small print jobs, such
as copying the contents of the screen. However, when printing large files, formatting docu-
ments, or running calculations, the value must be set high enough to allow all print results to
reach the spooler before the time limit expires. If not, results go in two or more spool files
instead of one, and the resulting output may be unsatisfactory. The default time is 15
seconds.
Printing from WIN-OS/2
Printing from WIN-OS/2
You should always keep the OS/2 Spooler enabled to get the most benefit out of the OS/2 print
 
subsystem. This will assure that even from the WIN-OS/2 environment, printing is done in a
You should always keep the OS/2 Spooler enabled to get the most benefit out of the OS/2 print subsystem. This will assure that even from the WIN-OS/2 environment, printing is done in a separate thread. You should also keep the WIN-OS/2 Print Manager disabled unless you are using a COM attached printer. That is, always keep the WIN-OS/2 Print Manager icon closed.
separate thread. You should also keep the WIN-OS/2 Print Manager disabled unless you are
 
using a COM attached printer. That is, always keep the WIN-OS/2 Print Manager icon closed.
The OS/2 Spooler allows multithreading and can deal with huge print files, even while you work in WIN-OS/2. Print jobs sent from any WIN-OS/2 application to a parallel attached printer won't show up in the WIN-OS/2 Print Manager. In this case if you need to view or manipulate these print jobs, use the correct OS/2 printer object on the Workplace Desktop.
The OS/2 Spooler allows multithreading and can deal with huge print files, even while you work
in WIN-OS/2. Print jobs sent from any WIN-OS/2 application to a parallel attached printer
won't show up in the WIN-OS/2 Print Manager. In this case if you need to view or manipulate
these print jobs, use the correct OS/2 printer object on the Workplace Desktop.
* WIN-OS/2 Ports and Drivers
* WIN-OS/2 Ports and Drivers
You should direct application output to LPTn.OS2 (where n is 1,2,3) wher possible. LPTn
You should direct application output to LPTn.OS2 (where n is 1,2,3) wher possible. LPTn refers to the physical printer port. LPTn.OS2 is a file which is intercepted by WIN-OS/2 and routed directly to the spooler. This will provide improved performance over the standard LPT port assignments.
refers to the physical printer port. LPTn.OS2 is a file which is intercepted by WIN-OS/2 and
You should always install equivalent printer queues in the OS/2 Desktop for your WIN-OS/2 printers even if you are only going to print to them from WIN-OS/2. If there is no equivalent OS/2 printer driver available then use the IBMNULL.DRV printer driver found in the OS/2 printer object.
routed directly to the spooler. This will provide improved performance over the standard
LPT port assignments.
You should always install equivalent printer queues in the OS/2 Desktop for your WIN-OS/2
printers even if you are only going to print to them from WIN-OS/2. If there is no equiv-
alent OS/2 printer driver available then use the IBMNULL.DRV printer driver found in the
OS/2 printer object.
* WIN-OS/2 COM Attached Printer
* WIN-OS/2 COM Attached Printer
If you have a COM attached printer and you would like to have your print jobs spooled,
If you have a COM attached printer and you would like to have your print jobs spooled, then enable the WIN-OS/2 Print Manager. This should be the only reason for you to use the WIN-OS/2 Print Manager. Remember that print jobs directed to LPTn.OS2 and LPTn will still go through the OS/2 Spooler.
then enable the WIN-OS/2 Print Manager. This should be the only reason for you to use
the WIN-OS/2 Print Manager. Remember that print jobs directed to LPTn.OS2 and LPTn
will still go through the OS/2 Spooler.


Improving COM Performance
Improving COM Performance
Changes can be made in both CONFIG.SYS and DOS_SETTINGS that can affect the perform-
 
ance of communications applications. You must check the settings as they may affect other
Changes can be made in both CONFIG.SYS and DOS_SETTINGS that can affect the performance of communications applications. You must check the settings as they may affect other applications running concurrently. In general, the speed of your system will also affect the ability of your communications program to achieve high baud rates and to multitask. CPU intensive and disk intensive foreground applications/operations will affect the performance of your communications application when it is in the background.
applications running concurrently. In general, the speed of your system will also affect the
 
ability of your communications program to achieve high baud rates and to multitask. CPU
intensive and disk intensive foreground applications/operations will affect the performance of
your communications application when it is in the background.
The following settings will affect the performance of communications applications.
The following settings will affect the performance of communications applications.
PRIORITY_DISK_IO
;PRIORITY_DISK_IO:Changing PRIORITY_DISK_IO to NO in CONFIG.SYS will improve the performance of communications applications running in the background that are doing disk I/O, if there is foreground work being performed that is also doing disk I/O. See the CONFIG.SYS, page 29 for additional information.
Changing PRIORITY_DISK_IO to NO in CONFIG.SYS will improve the performance of
;INT_DURING_IO:This DOS setting set to ON allows interrupts to be handled during file reads and writes.
communications applications running in the background that are doing disk I/O, if there is
:This setting turned ON may help the performance of your communications program that performs disk I/O that requires long read and write operations. See DOS Settings, page 39 for additional information.
foreground work being performed that is also doing disk I/O. See the CONFIG.SYS, page
;IDLE_SENSITIVITY:This DOS setting, set to 100, turns idle detection off, and the application can now poll without operating system intervention.
29 for additional information.
:See DOS Settings, page 39 for additional information.
INT_DURING_IO
;HW_ROM_TO_RAM:This DOS setting set to ON may speed up your DOS communication program because it allows the operating system to copy BIOS from ROM to faster RAM which might run the application faster because BIOS services will run faster in fast RAM than slow ROM.
This DOS setting set to ON allows interrupts to be handled during file reads and writes.
:See DOS settings, page 42 for additional information.
This setting turned ON may help the performance of your communications program that
performs disk I/O that requires long read and write operations.
See DOS Settings, page 39 for additional information.
IDLE_SENSITIVITY
This DOS setting, set to 100, turns idle detection off, and the application can now poll
without operating system intervention.
See DOS Settings, page 39 for additional information.
HW_ROM_TO_RAM
This DOS setting set to ON may speed up your DOS communication program because it
allows the operating system to copy BIOS from ROM to faster RAM which might run the
application faster because BIOS services will run faster in fast RAM than slow ROM.
See DOS settings, page 42 for additional information.


Does the Hardware Impact Performance on OS/2 ?
==Does the Hardware Impact Performance on OS/2?==
Performance of any system can only be as good as the hardware and software work together.
Performance of any system can only be as good as the hardware and software work together.
Some hardware advantages must be exploited by the software to provide the added function or
Some hardware advantages must be exploited by the software to provide the added function or improved performance. OS/2 attempts to exploit these advantages. Other hardware advantages provide additional function or improved performance without requiring specific software. To fully cover improving performance of OS/2, some general hardware information is included here.
improved performance. OS/2 attempts to exploit these advantages. Other hardware advantages
provide additional function or improved performance without requiring specific software. To
fully cover improving performance of OS/2, some general hardware information is included here.
The three main areas where performance for any system can be bottlenecked are memory, disk
and CPU.
Memory bottlenecks occur when attempting to run more programs in memory than there is
actual system memory. The hardware allows operating systems to execute beyond the real
system memory by allowing paging or swapping Both paging and swapping allow code and data
to be moved from memory to disk. Paging is the term used in virtual memory systems, and
swapping is the term used in segmented systems. As paging or swapping continue, system per-
formance degrades as access time to code or data written to disk now includes the disk access
time required to read back into memory information that was moved out. It probably also
required moving off to disk some information to make room for the returning information. This
activity can cause extremely poor performance.
Disk bottlenecks occur when the operating system or application(s) require large numbers of disk
accesses quickly. Since the hard disk must complete one I/O request before starting the next
request, multiple requests can start to queue, causing poor performance. Between I/O requests
the hard disk must move the head from one location to the next. Hard drives use average seek
time to show overall performance for I/O operations. Smaller seek times provide faster system
response times for I/O requests.
CPU bottlenecks occur when multiple concurrent tasks require processor time. Since operating
systems like OS/2 allow concurrent processing among multiple tasks, the likelihood of becoming
CPU constrained is increased. Additional processor speed (described in megahertz) will allow
faster completion of CPU requests.
As with any operating system, hardware limitations or advantages affect the overall system per-
formance. Processor speed, memory speed, hard drive access time, instruction caches and data
caches all influence performance. More specific information on the impacts follow. Generally
speaking, just adding more memory may not be the answer to improving performance on a
system. Specifically on OS/2 2.1, the following generalities are true. On an 80386SX system,
greater performance overall will be realized by upgrading to an SLC, an 80386DX or an 80486
(or higher) processor. For disk I/O bound applications, especially where the I/O requests are
large (data bases, word processors) or small but sequential (spread sheets, compilers), upgrading
to a hard disk that has on-board caching will improve performance. If a system is memory
overcommitted (swap file is > 4 times system memory), performance will improve by adding
more memory.


CPU
The three main areas where performance for any system can be bottlenecked are memory, disk and CPU.
Upgrading the CPU will improve performance in instruction intensive applications (graphical
Memory bottlenecks occur when attempting to run more programs in memory than there is actual system memory. The hardware allows operating systems to execute beyond the real system memory by allowing paging or swapping Both paging and swapping allow code and data to be moved from memory to disk. Paging is the term used in virtual memory systems, and swapping is the term used in segmented systems. As paging or swapping continue, system performance degrades as access time to code or data written to disk now includes the disk access time required to read back into memory information that was moved out. It probably also required moving off to disk some information to make room for the returning information. This activity can cause extremely poor performance.
intensive applications like CAD, computational programs like a spread sheet recalculation). Per-
formance improvements vary based on the upgrade. Upgrading a PS/2 Model 56 SX or 57 SX
to a 386SLC can double the performance, and moving to a 486SLC can improve performance by
4 times for compute bound tasks. The 80386SX has an internal data bus of 16-bits, therefore
32-bit instructions will become two instructions internally. Without any instruction caching to
buffer this, 32-bit instructions will perform slower than 16-bit. This is the basic reason that OS/2
2.1 on an 80386SX system does not show the same performance improvements that other
processors show.
If you have a system where your performance is not acceptable, and the system is an 80386SX,
upgrading the CPU will provide performance improvements. Adding memory on 80386SX
systems does not appreciably improve the overall system performance. If the additional memory
is not on the system board, then performance may be slowed even further.
Memory
Memory is generally available on the system board, in SIMMs and/or on adapter cards. The
speed of the memory is expressed in nanoseconds, and the lower the value the better.
While memory speed itself is important (faster memory provides faster access to information
stored there), installation is also. Memory on the system board (or planar) can be accessed by
the processor faster than memory located on an adapter card. The adapter card memory
requires access through the system bus, slowing down the time from processor to memory.
Having adequate memory in a system will also reduce the disk access because paging or swap-
ping is decreased. If OS/2 does not have to handle paging I/O requests along with application
I/O requests, system performance will improve. If the swap file is large, and changing from one
application to another results in I/O requests, the system would benefit from additional memory.
Displays
OS/2 2.1 supports the displays of VGA, XGA, SVGA, 8514, CGA, and EGA. Video Graphics
Array (VGA) was introduced by IBM in 1987 as the base video for all IBM PS/2 systems. At
the same time, the IBM 8514 Display Adapter/A was introduced to meet customer requirement
for high-resolution graphics. Extended Graphics Array (XGA) is the latest IBM solution to high-
resolution graphics. It has employed many new technology advances and is a good choice for
high performance display. To compete with IBM's VGA standard, many manufacturers of video
adapter cards formed the Video Electronics Standards Association (VESA) to promote higher-
resolution, more-color displays. Video modes supported by VESA are often called Super VGA
(SVGA). Though CGA and EGA are supported by OS/2 2.1, due to the limited display capabili-
ties, they are not recommended.


VGA
Disk bottlenecks occur when the operating system or application(s) require large numbers of disk accesses quickly. Since the hard disk must complete one I/O request before starting the next request, multiple requests can start to queue, causing poor performance. Between I/O requests the hard disk must move the head from one location to the next. Hard drives use average seek time to show overall performance for I/O operations. Smaller seek times provide faster system response times for I/O requests.
VGA has existed long enough that almost every video adapter card and monitor is highly com-
 
patible with the VGA specifications. The resolutions available in OS/2 2.1 are 640 x 480 x 16
CPU bottlenecks occur when multiple concurrent tasks require processor time. Since operating systems like OS/2 allow concurrent processing among multiple tasks, the likelihood of becoming CPU constrained is increased. Additional processor speed (described in megahertz) will allow faster completion of CPU requests.
colors, and 320 x 200 x 256 colors. VGA mode is also supported on XGA and SVGA display
As with any operating system, hardware limitations or advantages affect the overall system performance. Processor speed, memory speed, hard drive access time, instruction caches and data caches all influence performance. More specific information on the impacts follow. Generally speaking, just adding more memory may not be the answer to improving performance on a system. Specifically on OS/2 2.1, the following generalities are true. On an 80386SX system, greater performance overall will be realized by upgrading to an SLC, an 80386DX or an 80486 (or higher) processor. For disk I/O bound applications, especially where the I/O requests are large (data bases, word processors) or small but sequential (spread sheets, compilers), upgrading to a hard disk that has on-board caching will improve performance. If a system is memory overcommitted (swap file is > 4 times system memory), performance will improve by adding more memory.
adapters.
 
SVGA
===CPU===
OS/2 2.1 supports several SVGA chip sets. See ?isplay Selection?on page 13
Upgrading the CPU will improve performance in instruction intensive applications (graphical intensive applications like CAD, computational programs like a spread sheet recalculation). Performance improvements vary based on the upgrade. Upgrading a PS/2 Model 56 SX or 57 SX to a 386SLC can double the performance, and moving to a 486SLC can improve performance by 4 times for compute bound tasks. The 80386SX has an internal data bus of 16-bits, therefore 32-bit instructions will become two instructions internally. Without any instruction caching to buffer this, 32-bit instructions will perform slower than 16-bit. This is the basic reason that OS/2
ET4000 is widely used in display adapters, e.g., ProDesigner IIs by Orchid Technology Inc.,
2.1 on an 80386SX system does not show the same performance improvements that other processors show.
PowerGraph VGA by STB Systems, Inc., and some IBM PS/1 and ValuePoint systems. Com-
 
pared with XGA subsystems, these SVGA display adapters provide an inexpensive alternative to
If you have a system where your performance is not acceptable, and the system is an 80386SX, upgrading the CPU will provide performance improvements. Adding memory on 80386SX systems does not appreciably improve the overall system performance. If the additional memory is not on the system board, then performance may be slowed even further.
high-resolution graphics, but the performance is not as good as XGA. The SVGA drivers
 
shipped with OS/2 2.1 are 256 color drivers with three different resolutions. With 0.5 MB
===Memory===
VRAM, you can only run in 640 x 480 x 256 color mode. 1.0 MB VRAM is required to run in
Memory is generally available on the system board, in SIMMs and/or on adapter cards. The speed of the memory is expressed in nanoseconds, and the lower the value the better.
800 x 600 x 256 and 1024 x 768 x 256 color modes. As you might expect, higher resolutions lead
While memory speed itself is important (faster memory provides faster access to information stored there), installation is also. Memory on the system board (or planar) can be accessed by the processor faster than memory located on an adapter card. The adapter card memory requires access through the system bus, slowing down the time from processor to memory.
to slower performances.
Having adequate memory in a system will also reduce the disk access because paging or swapping is decreased. If OS/2 does not have to handle paging I/O requests along with application I/O requests, system performance will improve. If the swap file is large, and changing from one application to another results in I/O requests, the system would benefit from additional memory.
Additionally, the OS/2 SVGA display drivers are generic device drivers, and are not optimized for
 
any particular video adapter. The supplied drivers may be used with adapters that have the
===Displays===
supported chip sets. The manufacturer's driver may be optimized to provide better video per-
OS/2 2.1 supports the displays of VGA, XGA, SVGA, 8514, CGA, and EGA. Video Graphics Array (VGA) was introduced by IBM in 1987 as the base video for all IBM PS/2 systems. At the same time, the IBM 8514 Display Adapter/A was introduced to meet customer requirement for high-resolution graphics. Extended Graphics Array (XGA) is the latest IBM solution to high-resolution graphics. It has employed many new technology advances and is a good choice for high performance display. To compete with IBM's VGA standard, many manufacturers of video adapter cards formed the Video Electronics Standards Association (VESA) to promote higher-resolution, more-color displays. Video modes supported by VESA are often called Super VGA (SVGA). Though CGA and EGA are supported by OS/2 2.1, due to the limited display capabilities, they are not recommended.
formance on their specific hardware. However, the vendor drivers may not support all the
 
functionality of the OS/2 drivers, such as seamless, OS/2 Palette Management, Multimedia
;VGA:VGA has existed long enough that almost every video adapter card and monitor is highly compatible with the VGA specifications. The resolutions available in OS/2 2.1 are 640 x 480 x 16 colors, and 320 x 200 x 256 colors. VGA mode is also supported on XGA and SVGA display adapters.
support, etc.
;SVGA:OS/2 2.1 supports several SVGA chip sets. See "Display Selection" ET4000 is widely used in display adapters, e.g., ProDesigner IIs by Orchid Technology Inc.,
XGA & XGA-2
PowerGraph VGA by STB Systems, Inc., and some IBM PS/1 and ValuePoint systems. Compared with XGA subsystems, these SVGA display adapters provide an inexpensive alternative to high-resolution graphics, but the performance is not as good as XGA. The SVGA drivers shipped with OS/2 2.1 are 256 color drivers with three different resolutions. With 0.5 MB VRAM, you can only run in 640 x 480 x 256 color mode. 1.0 MB VRAM is required to run in 800 x 600 x 256 and 1024 x 768 x 256 color modes. As you might expect, higher resolutions lead to slower performances.
XGA is IBM's current standard for high-resolution graphics. Instead of the Dynamic RAM
:Additionally, the OS/2 SVGA display drivers are generic device drivers, and are not optimized for any particular video adapter. The supplied drivers may be used with adapters that have the supported chip sets. The manufacturer's driver may be optimized to provide better video performance on their specific hardware. However, the vendor drivers may not support all the functionality of the OS/2 drivers, such as seamless, OS/2 Palette Management, Multimedia support, etc.
(DRAM) used in most VGA subsystems, XGA has employed the Video RAM (VRAM) tech-
;XGA & XGA-2:XGA is IBM's current standard for high-resolution graphics. Instead of the Dynamic RAM (DRAM) used in most VGA subsystems, XGA has employed the Video RAM (VRAM) technology, which allows the XGA display controller update the video data in the VRAM simultaneously while the VRAM is busily refreshing the display. With the new Hardware Drawing Assist functions, the XGA display controller can directly draw the data stored in video display buffer. These functions allow lines to be drawn, blocks of data to be moved (Bit-Blt), and areas of color to be filled in on the display. With 0.5 MB VRAM, XGA can run in 640 x 400 x 256, 640 x 480 x 256, and 1024 x 768 x 16 color modes. It requires 1.0 MB VRAM to run in 1024 x 768 x 256 color mode.
nology, which allows the XGA display controller update the video data in the VRAM simultane-
:The new XGA-2 subsystem offers more resolutions and faster performance than the original XGA. The major hardware improvements include external polling, non-interlace support, and faster VRAM. With external polling, graphics coprocessor status can be retrieved without interrupting the current processing.
ously while the VRAM is busily refreshing the display. With the new Hardware Drawing Assist
:The new XGA driver in OS/2 2.1 has made use of this new technology and performance is greatly enhanced. The ability of XGA-2 to display high resolution screens at non-interlaced refresh rates of up to 75Hz reduces flicker while enhancing usability and providing potential productivity gains. With the XGA-2 subsystem, OS/2 2.1 can display up to 65,536 colors in low resolution modes (640 x 480 and 640 x 400) as well as all the resolutions supported in XGA.
functions, the XGA display controller can directly draw the data stored in video display buffer.
;8514:8514 is IBM's old standard for high-resolution graphics. Several non-IBM display adapters, e.g., 8514 Ultra by ATI, also provide 8514 support. The driver shipped with OS/2 2.1 is the 16-bit driver shipped with OS/2 2.0. You can only run in 1024 x 768 x 256 color mode. With the 16-bit driver and the new 32-bit graphics engine, conversion overhead between these two components is inevitable. The performance is slightly slower when compared with OS/2 2.0.
These functions allow lines to be drawn, blocks of data to be moved (Bit-Blt), and areas of color
 
to be filled in on the display. With 0.5 MB VRAM, XGA can run in 640 x 400 x 256, 640 x 480
===Hard Drives===
x 256, and 1024 x 768 x 16 color modes. It requires 1.0 MB VRAM to run in 1024 x 768 x 256
Hard drives, or fixed disks, affect the performance of boot time and application load time, as well as the performance of I/O intensive applications. Hard disk speed is expressed in average seek time, and the lower number the better. Faster seek times reduces the amount of time an operating system or application must wait until the requested data is returned. The following example shows information on 3 SCSI hard disks. Notice the increased transfer rate on the disk with only 1 ms faster average seek time.
color mode.
The new XGA-2 subsystem offers more resolutions and faster performance than the original
XGA. The major hardware improvements include external polling, non-interlace support, and
faster VRAM. With external polling, graphics coprocessor status can be retrieved without inter-
rupting the current processing.
The new XGA driver in OS/2 2.1 has made use of this new technology and performance is
greatly enhanced. The ability of XGA-2 to display high resolution screens at non-interlaced
refresh rates of up to 75Hz reduces flicker while enhancing usability and providing potential pro-
ductivity gains. With the XGA-2 subsystem, OS/2 2.1 can display up to 65,536 colors in low
resolution modes (640 x 480 and 640 x 400) as well as all the resolutions supported in XGA.


8514
8514 is IBM's old standard for high-resolution graphics. Several non-IBM display adapters, e.g.,
8514 Ultra by ATI, also provide 8514 support. The driver shipped with OS/2 2.1 is the 16-bit
driver shipped with OS/2 2.0. You can only run in 1024 x 768 x 256 color mode. With the 16-bit
driver and the new 32-bit graphics engine, conversion overhead between these two components is
inevitable. The performance is slightly slower when compared with OS/2 2.0.
Hard Drives
Hard drives, or fixed disks, affect the performance of boot time and application load time, as well
as the performance of I/O intensive applications. Hard disk speed is expressed in average seek
time, and the lower number the better. Faster seek times reduces the amount of time an oper-
ating system or application must wait until the requested data is returned. The following
example shows information on 3 SCSI hard disks. Notice the increased transfer rate on the disk
with only 1 ms faster average seek time.
Formatted Capacity(MB) 40 80 160
Formatted Capacity(MB) 40 80 160
Average Seek Time(ms) 17 17 16
Average Seek Time(ms) 17 17 16
Line 1,908: Line 1,367:
Average Latency(ms) 8.3 8.3 8.3
Average Latency(ms) 8.3 8.3 8.3
Sector interleave 1:1 1:1 1:1
Sector interleave 1:1 1:1 1:1
Interface SCSI SCSI SCSI
Interface SCSI SCSI SCSI
When upgrading your system, check the average seek time of the hard disk. Be certain to weigh
 
larger disk space and average seek time against cost to determine the best hard disk for your
When upgrading your system, check the average seek time of the hard disk. Be certain to weigh larger disk space and average seek time against cost to determine the best hard disk for your system.
system.
 
Hard Disk Caches
Hard Disk Caches
Hard disks or disk adapters can provide caching for I/O requests. Generally, an entire track is
 
read into the cache memory and the data requested is transferred from that memory into system
Hard disks or disk adapters can provide caching for I/O requests. Generally, an entire track is read into the cache memory and the data requested is transferred from that memory into system memory. Because an entire track has been read, there is less loss in head movement and rotational delay. Additionally, the next I/O request may be satisfied from the hard disk cache and the disk access time is removed. The greatest performance for cached DASD is seen in sequential I/O requests. Random, small size requests also see an advantage if more than 1/3 of the requests can be satisfied from the cache rather than reading from the disk. This is determined by the way
memory. Because an entire track has been read, there is less loss in head movement and rota-
tional delay. Additionally, the next I/O request may be satisfied from the hard disk cache and the
disk access time is removed. The greatest performance for cached DASD is seen in sequential
I/O requests. Random, small size requests also see an advantage if more than 1/3 of the requests
can be satisfied from the cache rather than reading from the disk. This is determined by the way
the application accesses the data, and is generally not controlled by you.
the application accesses the data, and is generally not controlled by you.
When upgrading your system, cached hard disks will generally provide petter performance
When upgrading your system, cached hard disks will generally provide petter performance overall.
overall.
 
Multiple Hard Disks
Multiple Hard Disks
Some hard drive types cannot support multiple hard disks. Of the ones that do, only SCSI
 
drives can handle concurrent I/O requests in multiple drives. This means that on a system with
Some hard drive types cannot support multiple hard disks. Of the ones that do, only SCSI drives can handle concurrent I/O requests in multiple drives. This means that on a system with 3 SCSI drives, OS/2 can potentially overlap 3 I/O requests (one per drive). This improves performance in I/O intensive scenarios when disk requests are correctly balanced.
3 SCSI drives, OS/2 can potentially overlap 3 I/O requests (one per drive). This improves per-
formance in I/O intensive scenarios when disk requests are correctly balanced.


Parallel Printing
Parallel Printing
OS/2 provides support for advanced parallel port hardware. If the machine supports Micro
 
Channel and uses Direct Memory Access (DMA) for its parallel port, then OS/2's Print Device
OS/2 provides support for advanced parallel port hardware. If the machine supports Micro Channel and uses Direct Memory Access (DMA) for its parallel port, then OS/2's Print Device Driver (PRINT02.SYS) significantly improves the speed in which data is sent to the printer, in excess of 100 KB per second. This allows OS/2 to improve print performance as well as spending more time running applications because of the DMA's quickness.
Driver (PRINT02.SYS) significantly improves the speed in which data is sent to the printer, in
 
excess of 100 KB per second. This allows OS/2 to improve print performance as well as
spending more time running applications because of the DMA's quickness.
Communications
Communications
Machines with a buffered UART (for example NS16550A) will have better performance than machines without buffering (for example NS16450).
Machines with a buffered UART (for example NS16550A) will have better performance than machines without buffering (for example NS16450).


Line 1,988: Line 1,440:
Sometimes, features are installed and later you would like to move them off to a server to reduce disk requirements, or you may wish to remove them. Here is a list of the files associated with some of the features and applets that can be deleted from your hard drive.
Sometimes, features are installed and later you would like to move them off to a server to reduce disk requirements, or you may wish to remove them. Here is a list of the files associated with some of the features and applets that can be deleted from your hard drive.
* Advanced Power Management (APM)
* Advanced Power Management (APM)
Used on on those systems that contain the required hardware, usually notebook type systems.
:Used on on those systems that contain the required hardware, usually notebook type systems.
\OS2\APM.SYS
:\OS2\APM.SYS
* Bitmaps
* Bitmaps
These are extra bitmaps provided for background display.
:These are extra bitmaps provided for background display.
\OS2\BITMAP\SWAN.BGA
:\OS2\BITMAP\SWAN.BGA<br/>\OS2\BITMAP\LIGHTHOU.VGA
\OS2\BITMAP\LIGHTHOU.VGA
* CID
* CID
These files are used for LAN installation of OS/2.
:These files are used for LAN installation of OS/2.
\OS2\INSTALL\SEDISK.EXE \OS2\INSTALL\SEINST.EXE
:\OS2\INSTALL\SEDISK.EXE \OS2\INSTALL\SEINST.EXE<br/>\OS2\INSTALL\SEIMAGE.EXE \OS2\INSTALL\SEMAINT.EXE
\OS2\INSTALL\SEIMAGE.EXE \OS2\INSTALL\SEMAINT.EXE
* Command Reference
* Command Reference
This file is the system command reference (on-line help).
:This file is the system command reference (on-line help).
\OS2\BOOK\CMDREF.INF
:\OS2\BOOK\CMDREF.INF
* High Performance File System
* High Performance File System
These are the files associated with HPFS.
:These are the files associated with HPFS.
\OS2\CACHE.EXE \OS2\DLL\STARTLW.DLL
:\OS2\CACHE.EXE \OS2\DLL\STARTLW.DLL<br/>\OS2\HPFS.IFS \OS2\DLL\UHPFS.DLL
\OS2\HPFS.IFS \OS2\DLL\UHPFS.DLL
* Linker
* Linker
The linker files are used by application developers to link compiled/assembled files into pro-
:The linker files are used by application developers to link compiled/assembled files into programs. End users not developing applications might wish to delete these files.
grams. End users not developing applications might wish to delete these files.
:\OS2\RCPP.ERR \OS2\RC.EXE<br/>\OS2\LINK.EXE \OS2\RCPP.EXE<br/>\OS2\LINK386.EXE
\OS2\RCPP.ERR \OS2\RC.EXE
\OS2\LINK.EXE \OS2\RCPP.EXE
\OS2\LINK386.EXE
* PCMCIA Support
* PCMCIA Support
PCMCIA support may not be needed on your system. You can remove this file.
:PCMCIA support may not be needed on your system. You can remove this file.
\OS2\PCMCIA.SYS
:\OS2\PCMCIA.SYS
* REXX
* REXX
End users that do not need REXX support can delete these files.
:End users that do not need REXX support can delete these files.
Note: REXX support is required for IBM Communication Manager Support.
:'''Note:''' REXX support is required for IBM Communication Manager Support.
\OS2\REXXTRY.CMD \OS2\DLL\PMREXX.DLL
\OS2\REXXTRY.CMD   \OS2\DLL\PMREXX.DLL
\OS2\PMREXX.EXE \OS2\DLL\REXX.DLL
\OS2\PMREXX.EXE   \OS2\DLL\REXX.DLL
\OS2\RXQUEUE.EXE \OS2\DLL\REXXAPI.DLL
\OS2\RXQUEUE.EXE   \OS2\DLL\REXXAPI.DLL
\OS2\RXSUBCOM.EXE \OS2\DLL\REXXINIT.DLL
\OS2\RXSUBCOM.EXE \OS2\DLL\REXXINIT.DLL
\OS2\REX.MSG \OS2\DLL\REXXUTIL.DLL
\OS2\REX.MSG       \OS2\DLL\REXXUTIL.DLL
\OS2\REXH.MSG \OS2\HELP\PMREXX.HLP
\OS2\REXH.MSG     \OS2\HELP\PMREXX.HLP
\OS2\BOOK\REXX.INF
\OS2\BOOK\REXX.INF
* RIPL
* RIPL
These files are used for remote IPL.
:These files are used for remote IPL.
\OS2\HELP\RIPLINST.HLP
:\OS2\HELP\RIPLINST.HLP<br/>\OS2\INSTALL\RIPLINST.EXE
\OS2\INSTALL\RIPLINST.EXE
* Tutorial
* Tutorial
These file are used by the tutorial. If you have completed the tutorial and would like to delete it, you can remove these files.
:These file are used by the tutorial. If you have completed the tutorial and would like to delete it, you can remove these files.
\OS2\TUTORIAL.EXE \OS2\HELP\TUTORIAL.HLP
:\OS2\TUTORIAL.EXE \OS2\HELP\TUTORIAL.HLP<br/>\OS2\DLL\TUTDLL.DLL
\OS2\DLL\TUTDLL.DLL
* Chess
* Chess
These are the files for the chess applet.
:These are the files for the chess applet.
\OS2\APPS\OS2CHESS.BIN \OS2\APPS\DLL\CHESSAI.DLL
:\OS2\APPS\OS2CHESS.BIN \OS2\APPS\DLL\CHESSAI.DLL
\OS2\APPS\OS2CHESS.EXE \OS2\HELP\OS2CHESS.HLP
:\OS2\APPS\OS2CHESS.EXE \OS2\HELP\OS2CHESS.HLP
* EPM
* EPM
These are the files for the enhanced editor applet.
:These are the files for the enhanced editor applet.
\OS2\APPS\BOX.EX \OS2\APPS\MATHLIB.EX
\OS2\APPS\BOX.EX   \OS2\APPS\MATHLIB.EX
\OS2\APPS\DRAW.EX \OS2\APPS\PUT.EX
\OS2\APPS\DRAW.EX   \OS2\APPS\PUT.EX
\OS2\APPS\E3EMUL.EX \OS2\APPS\EPM.EXE
\OS2\APPS\E3EMUL.EX \OS2\APPS\EPM.EXE
\OS2\APPS\EPM.EX \OS2\APPS\DLL\ETKE551.DLL
\OS2\APPS\EPM.EX   \OS2\APPS\DLL\ETKE551.DLL
\OS2\APPS\EPMLEX.EX \OS2\APPS\DLL\ETKR551.DLL
\OS2\APPS\EPMLEX.EX \OS2\APPS\DLL\ETKR551.DLL
\OS2\APPS\EXTRA.EX \OS2\APPS\DLL\ETKTHNK.DLL
\OS2\APPS\EXTRA.EX \OS2\APPS\DLL\ETKTHNK.DLL
\OS2\APPS\GET.EX \OS2\HELP\EPM.HLP
\OS2\APPS\GET.EX   \OS2\HELP\EPM.HLP
\OS2\APPS\HELP.EX \OS2\HELP\EPMHELP.QHL
\OS2\APPS\HELP.EX   \OS2\HELP\EPMHELP.QHL
* Jigsaw
* Jigsaw
These are the files for the jigsaw applet.
:These are the files for the jigsaw applet.
\OS2\APPS\JIGSAW.EXE
:\OS2\APPS\JIGSAW.EXE
\OS2\HELP\JIGSAW.HLP
:\OS2\HELP\JIGSAW.HLP
* Klondike
* Klondike
These are the files for klondike (solitaire).
:These are the files for klondike (solitaire).
\OS2\APPS\CARDSYM.FON \OS2\DLL\KLONBGA.DLL
:\OS2\APPS\CARDSYM.FON \OS2\DLL\KLONBGA.DLL
\OS2\APPS\KLONDIKE.EXE \OS2\HELP\KLONDIKE.HLP
:\OS2\APPS\KLONDIKE.EXE \OS2\HELP\KLONDIKE.HLP
* NEKO
* NEKO
These are the files for neko (the cat).
:These are the files for neko (the cat).
\OS2\APPS\NEKO.EXE \OS2\HELP\NEKO.HLP
:\OS2\APPS\NEKO.EXE \OS2\HELP\NEKO.HLP
\OS2\DLL\NEKO.DLL
:\OS2\DLL\NEKO.DLL
* PICVIEW
* PICVIEW
These are the files for picview.
:These are the files for picview.
\OS2\APPS\PICVIEW.EXE \OS2\HELP\PICVIEW.HLP
:\OS2\APPS\PICVIEW.EXE \OS2\HELP\PICVIEW.HLP
\OS2\APPS\DLL\PICVIEW.DLL
:\OS2\APPS\DLL\PICVIEW.DLL
* PMChart
* PMChart
These are the files for the PM Chart productivity aid.
:These are the files for the PM Chart productivity aid.
\OS2\APPS\FASHION.DAT \OS2\APPS\INVEST.GRF
\OS2\APPS\FASHION.DAT \OS2\APPS\INVEST.GRF
\OS2\APPS\GREEN.DAT \OS2\APPS\DLL\MGXLIB.DLL
\OS2\APPS\GREEN.DAT   \OS2\APPS\DLL\MGXLIB.DLL
\OS2\APPS\INVEST.DAT \OS2\APPS\DLL\MGXVBM.DLL
\OS2\APPS\INVEST.DAT \OS2\APPS\DLL\MGXVBM.DLL
\OS2\APPS\PMCHART.EXE \OS2\APPS\DLL\PMFID.DLL
\OS2\APPS\PMCHART.EXE \OS2\APPS\DLL\PMFID.DLL
\OS2\APPS\FASHION.GRF \OS2\HELP\PMCHART.HLP
\OS2\APPS\FASHION.GRF \OS2\HELP\PMCHART.HLP
\OS2\APPS\GREEN.GRF
\OS2\APPS\GREEN.GRF
* PM Diary
* PM Diary
These are the files for the PM Diary productivity aid.
:These are the files for the PM Diary productivity aid.
\OS2\APPS\PMDALARM.EXE \OS2\APPS\PMDTODO.EXE
\OS2\APPS\PMDALARM.EXE \OS2\APPS\PMDTODO.EXE
\OS2\APPS\PMDCALC.EXE \OS2\APPS\PMDTUNE.EXE
\OS2\APPS\PMDCALC.EXE \OS2\APPS\PMDTUNE.EXE
\OS2\APPS\PMDCALEN.EXE \OS2\APPS\PMMBASE.EXE
\OS2\APPS\PMDCALEN.EXE \OS2\APPS\PMMBASE.EXE
\OS2\APPS\PMDDARC.EXE \OS2\APPS\PMSPREAD.EXE
\OS2\APPS\PMDDARC.EXE \OS2\APPS\PMSPREAD.EXE
\OS2\APPS\PMDDIARY.EXE \OS2\APPS\PMSTICKY.EXE
\OS2\APPS\PMDDIARY.EXE \OS2\APPS\PMSTICKY.EXE
\OS2\APPS\PMDLIST.EXE \OS2\APPS\DLL\PMDIARY.DLL
\OS2\APPS\PMDLIST.EXE \OS2\APPS\DLL\PMDIARY.DLL
\OS2\APPS\PMDMONTH.EXE \OS2\APPS\DLL\PMDIARYF.DLL
\OS2\APPS\PMDMONTH.EXE \OS2\APPS\DLL\PMDIARYF.DLL
\OS2\APPS\PMDNOTE.EXE \OS2\APPS\DLL\PMSTICKD.DLL
\OS2\APPS\PMDNOTE.EXE \OS2\APPS\DLL\PMSTICKD.DLL
\OS2\APPS\PMDTARC.EXE \OS2\HELP\PMDIARY.HLP
\OS2\APPS\PMDTARC.EXE \OS2\HELP\PMDIARY.HLP
* PM Seek
* PM Seek
These are the files for the PM Seek productivity aid.
:These are the files for the PM Seek productivity aid.
\OS2\APPS\PMSEEK.EXE \OS2\HELP\PMSEEK.HLP
:\OS2\APPS\PMSEEK.EXE \OS2\HELP\PMSEEK.HLP
\OS2\DLL\PMSEEK.DLL
:\OS2\DLL\PMSEEK.DLL
* Pulse
* Pulse
These are the files for the pulse applet (CPU meter).
:These are the files for the pulse applet (CPU meter).
\OS2\APPS\PULSE.EXE
:\OS2\APPS\PULSE.EXE
\OS2\HELP\PULSE.HLP
:\OS2\HELP\PULSE.HLP
* Reversi
* Reversi
These are the files for reversi.
:These are the files for reversi.
\OS2\APPS\REVERSI.EXE
:\OS2\APPS\REVERSI.EXE
\OS2\HELP\REVERSI.HLP
:\OS2\HELP\REVERSI.HLP
* Scramble
* Scramble
These are the files for scramble.
:These are the files for scramble.
\OS2\APPS\SCRAMBLE.EXE \OS2\DLL\SCRLOGO.DLL
:\OS2\APPS\SCRAMBLE.EXE \OS2\DLL\SCRLOGO.DLL
\OS2\DLL\SCRAMBLE.DLL \OS2\HELP\SCRAMBLE.HLP
:\OS2\DLL\SCRAMBLE.DLL \OS2\HELP\SCRAMBLE.HLP
\OS2\DLL\SCRCATS.DLL
:\OS2\DLL\SCRCATS.DLL
* SoftTerm
* SoftTerm
These are the files for SoftTerm (the terminal emulator).
:These are the files for SoftTerm (the terminal emulator).
\OS2\APPS\ACSACDI.DAT \OS2\DLL\OPROFILE.DLL
\OS2\APPS\ACSACDI.DAT   \OS2\DLL\OPROFILE.DLL
\OS2\APPS\CTLSACDI.EXE \OS2\DLL\ORSHELL.DLL
\OS2\APPS\CTLSACDI.EXE \OS2\DLL\ORSHELL.DLL
\OS2\APPS\SOFTERM.EXE \OS2\DLL\OSCH.DLL
\OS2\APPS\SOFTERM.EXE   \OS2\DLL\OSCH.DLL
\OS2\APPS\CUSTOM.MDB \OS2\DLL\OSIO.DLL
\OS2\APPS\CUSTOM.MDB   \OS2\DLL\OSIO.DLL
\OS2\APPS\SASYNCDA.SYS \OS2\DLL\OSOFT.DLL
\OS2\APPS\SASYNCDA.SYS \OS2\DLL\OSOFT.DLL
\OS2\APPS\SASYNCDB.SYS \OS2\DLL\OTEK.DLL
\OS2\APPS\SASYNCDB.SYS \OS2\DLL\OTEK.DLL
\OS2\DLL\CTLSACDI.DLL \OS2\DLL\OTTY.DLL
\OS2\DLL\CTLSACDI.DLL   \OS2\DLL\OTTY.DLL
\OS2\DLL\OACDISIO.DLL \OS2\DLL\OVIO.DLL
\OS2\DLL\OACDISIO.DLL   \OS2\DLL\OVIO.DLL
\OS2\DLL\OANSI.DLL \OS2\DLL\OVM.DLL
\OS2\DLL\OANSI.DLL     \OS2\DLL\OVM.DLL
\OS2\DLL\OANSI364.DLL \OS2\DLL\OVT.DLL
\OS2\DLL\OANSI364.DLL   \OS2\DLL\OVT.DLL
\OS2\DLL\OCHAR.DLL \OS2\DLL\OXMODEM.DLL
\OS2\DLL\OCHAR.DLL     \OS2\DLL\OXMODEM.DLL
\OS2\DLL\OCM.DLL \OS2\DLL\OXRM.DLL
\OS2\DLL\OCM.DLL       \OS2\DLL\OXRM.DLL
\OS2\DLL\OCOLOR.DLL \OS2\DLL\SACDI.DLL
\OS2\DLL\OCOLOR.DLL     \OS2\DLL\SACDI.DLL
\OS2\DLL\OCSHELL.DLL \OS2\DLL\SAREXEC.DLL
\OS2\DLL\OCSHELL.DLL   \OS2\DLL\SAREXEC.DLL
\OS2\DLL\ODBM.DLL \OS2\DLL\SACDI.MSG
\OS2\DLL\ODBM.DLL       \OS2\DLL\SACDI.MSG
\OS2\DLL\OFMTC.DLL \OS2\HELP\ACDISIO.HLP
\OS2\DLL\OFMTC.DLL     \OS2\HELP\ACDISIO.HLP
\OS2\DLL\OIBM1X.DLL \OS2\HELP\ANSI364.HLP
\OS2\DLL\OIBM1X.DLL     \OS2\HELP\ANSI364.HLP
\OS2\DLL\OIBM2X.DLL \OS2\HELP\ANSIIBM.HLP
\OS2\DLL\OIBM2X.DLL     \OS2\HELP\ANSIIBM.HLP
\OS2\DLL\OKB.DLL \OS2\HELP\IBM31011.HLP
\OS2\DLL\OKB.DLL       \OS2\HELP\IBM31011.HLP
\OS2\DLL\OKBC.DLL \OS2\HELP\IBM31012.HLP
\OS2\DLL\OKBC.DLL       \OS2\HELP\IBM31012.HLP
\OS2\DLL\OKERMIT.DLL \OS2\HELP\IBMSIO.HLP
\OS2\DLL\OKERMIT.DLL   \OS2\HELP\IBMSIO.HLP
\OS2\DLL\OLPTIO.DLL \OS2\HELP\SOFTERM.HLP
\OS2\DLL\OLPTIO.DLL     \OS2\HELP\SOFTERM.HLP
\OS2\DLL\OMCT.DLL \OS2\HELP\TTY.HLP
\OS2\DLL\OMCT.DLL       \OS2\HELP\TTY.HLP
\OS2\DLL\OMRKCPY.DLL \OS2\HELP\VTTERM.HLP
\OS2\DLL\OMRKCPY.DLL   \OS2\HELP\VTTERM.HLP
\OS2\DLL\OPCF.DLL \OS2\HELP\XRM.HLP
\OS2\DLL\OPCF.DLL       \OS2\HELP\XRM.HLP
\OS2\DLL\OPM.DLL
\OS2\DLL\OPM.DLL
* Touch
* Touch
These are the files for Touch.
:These are the files for Touch.
\OS2\TOUCO21D.BIN \OS2\DLL\TCP.DLL
\OS2\TOUCO21D.BIN   \OS2\DLL\TCP.DLL
\OS2\TOUMOU.BIO \OS2\DLL\TOUCALLS.DLL
\OS2\TOUMOU.BIO     \OS2\DLL\TOUCALLS.DLL
\OS2\CALIBRAT.DAT \OS2\HELP\TCP.HLP
\OS2\CALIBRAT.DAT   \OS2\HELP\TCP.HLP
\OS2\CALIBRAT.EXE \OS2\MDOS\VTOUCH.COM
\OS2\CALIBRAT.EXE   \OS2\MDOS\VTOUCH.COM
\OS2\TOUCH.INI \OS2\MDOS\VTOUCH.SYS
\OS2\TOUCH.INI       \OS2\MDOS\VTOUCH.SYS
\OS2\PDITOU01.SYS \OS2\MDOS\WINOS2\SYSTEM\TOUCH.DRV
\OS2\PDITOU01.SYS   \OS2\MDOS\WINOS2\SYSTEM\TOUCH.DRV
\OS2\PDITOU02.SYS \OS2\SYSTEM\TDD.MSG
\OS2\PDITOU02.SYS   \OS2\SYSTEM\TDD.MSG
\OS2\TOUCH.SYS \OS2\SYSTEM\TDDH.MSG
\OS2\TOUCH.SYS       \OS2\SYSTEM\TDDH.MSG
\OS2\CALIBRAT.TXT \OS2\SYSTEM\TDI.MSG
\OS2\CALIBRAT.TXT   \OS2\SYSTEM\TDI.MSG
\OS2\DLL\FSGRAPH.DLL \OS2\SYSTEM\TDIH.MSG
\OS2\DLL\FSGRAPH.DLL \OS2\SYSTEM\TDIH.MSG


==Appendix E. Performance Tools==
==Appendix E. Performance Tools==
A number of tools are available that can be useful in evaluating and tuning the performance of your OS/2 2.x system.
A number of tools are available that can be useful in evaluating and tuning the performance of your OS/2 2.x system.


SPM/2 - System Performance Monitor/2 - IBM Corp.
===SPM/2 - System Performance Monitor/2 - IBM Corp.===
 
SPM/2 2.0 is an integrated package of powerful facilities that allow you to monitor resources such as CPU, RAM, disk and more on your local and remote IBM Operating System/2 2.0.
SPM/2 2.0 is an integrated package of powerful facilities that allow you to monitor resources such as CPU, RAM, disk and more on your local and remote IBM Operating System/2 2.0.
SPM/2's ability to graph this resource information allows you to look at real time data as well as saved data for any monitored workstation in your LAN.
SPM/2's ability to graph this resource information allows you to look at real time data as well as saved data for any monitored workstation in your LAN.
Line 2,154: Line 1,597:
* Monitoring of remote OS/2 LAN Requester as well as Servers.
* Monitoring of remote OS/2 LAN Requester as well as Servers.


Performance 2.1 by Clear and Simple, Inc.
===Performance 2.1 by Clear and Simple, Inc.===
 
This tool is a simple aid to tune your system. It is excellent for the novice user. It provides a way to change the CONFIG.SYS and to remove some file to free DASD>
This tool is a simple aid to tune your system. It is excellent for the novice user. It provides a way to change the CONFIG.SYS and to remove some file to free DASD>


Pulse
===Pulse===
 
Pulse is one of the simplest tools available for monitoring performance. It generates an EKG-like graphic display that shows the level of CPU activity. This tool can be found in the OS/2 Productivity Aids folder.
Pulse is one of the simplest tools available for monitoring performance. It generates an EKG-like graphic display that shows the level of CPU activity. This tool can be found in the OS/2 Productivity Aids folder.


CPU Monitor - BONAMI SOFTWARE CORPORATION
===CPU Monitor - BONAMI SOFTWARE CORPORATION===
 
A powerful combination of performance and analysis tools for the OS/2 user. Via Presentation Manager graphics, CPU Monitor displays Real-Time information for estimated CPU utilization, OS/2 process relationships and more. Dynamically suspend and resume execution for individual threads. Helps you detect and stop runaway, invisible and background programs.
A powerful combination of performance and analysis tools for the OS/2 user. Via Presentation Manager graphics, CPU Monitor displays Real-Time information for estimated CPU utilization, OS/2 process relationships and more. Dynamically suspend and resume execution for individual threads. Helps you detect and stop runaway, invisible and background programs.


OSRM2 - OS/2 Resource Monitor - C.O.L. Consulting, Ltd.
===OSRM2 - OS/2 Resource Monitor - C.O.L. Consulting, Ltd.===
 
An integrated group of applications for tracking (real time monitor) and performing capacity planning functions (analysis and modeling) for machine resources (CPU, Disk, Memory, applications).
An integrated group of applications for tracking (real time monitor) and performing capacity planning functions (analysis and modeling) for machine resources (CPU, Disk, Memory, applications).


Bridge/Monitor - Bridge Technology Inc.
===Bridge/Monitor - Bridge Technology Inc.===
 
Bridge/Monitor is an OS/2 performance analysis and reporting tool, for large enterprise LANs, that allows the user to remotely monitor and manage the performance of the LAN. Performance bottlenecks are identified and alerts generated in realtime when user defined thresholds are exceeded. A complete performance database with query capability is maintained for reporting, trend analysis and capacity planning. BRIDGE/MONITOR's proprietary communications method enables peer-to-peer services between devices in the network.
Bridge/Monitor is an OS/2 performance analysis and reporting tool, for large enterprise LANs, that allows the user to remotely monitor and manage the performance of the LAN. Performance bottlenecks are identified and alerts generated in realtime when user defined thesholds are exceeded. A complete performance database with query capability is maintained for reporting, trend analysis and capacity planning. BRIDGE/MONITOR's proprietary communications method enables peer-to-peer services between devices in the network.
 
Triplecheck - International OS/2 USER GROUP


===Triplecheck - International OS/2 USER GROUP===
A three-in-one monitoring utility. SwapMON monitors the size of the swapper file. The free space on the swapper drives and displays the largest contiguous block of memory. MON is an idle-time monitor displaying in graphics form the amount of processor activity over a selectable timespan can be used to monitor background activity. Clock displays concurrent date or time in analogue or digital format. On-line context-sensitive help available for each program.
A three-in-one monitoring utility. SwapMON monitors the size of the swapper file. The free space on the swapper drives and displays the largest contiguous block of memory. MON is an idle-time monitor displaying in graphics form the amount of processor activity over a selectable timespan can be used to monitor background activity. Clock displays concurrent date or time in analogue or digital format. On-line context-sensitive help available for each program.


==Appendix F. Files that can be Migrated to the Server==
==Appendix F. Files that can be Migrated to the Server==
This file contains information about which files are required on a LAN Requester and which can be migrated to a Server machine. Read carefully. In some cases, it is easier to list what files must remain, and in other cases it is easier to list what can be moved. Tests were performed to move files off a requester machine onto a server, boot the requester machine, and then perform basic operations, functions, and applications.
This file contains information about which files are required on a LAN Requester and which can be migrated to a Server machine. Read carefully. In some cases, it is easier to list what files must remain, and in other cases it is easier to list what can be moved. Tests were performed to move files off a requester machine onto a server, boot the requester machine, and then perform basic operations, functions, and applications.
When files are moved to a server machine, remember that the LIBPATH, PATH, and DPATH statements in the requester's (client) CONFIG.SYS file should be updated with the SERVER directory where these files were moved. Do NOT delete any OS/2 system directory entries in these path statements even if they are empty. If empty, they should be moved to the end of the path statements. For any applications that appear in folders, such as:
When files are moved to a server machine, remember that the LIBPATH, PATH, and DPATH statements in the requester's (client) CONFIG.SYS file should be updated with the SERVER directory where these files were moved. Do NOT delete any OS/2 system directory entries in these path statements even if they are empty. If empty, they should be moved to the end of the path statements. For any applications that appear in folders, such as:
* STHR.EXE in the Start Here icon on the OS/2 Desktop
* STHR.EXE in the Start Here icon on the OS/2 Desktop
Line 2,185: Line 1,623:
* All of the Applets and games in the Productivity and Games folders.
* All of the Applets and games in the Productivity and Games folders.
You must update the Settings to point to the correct drive and sub-directory.
You must update the Settings to point to the correct drive and sub-directory.
1. \OS2
# \OS2<br/>Following is a list of files that SHOULD REMAIN in the \OS2 sub-directory. Most of these files are for device drivers, hardware support and system and user INI files. Some of the .SYS and .DMD files may not reside in your \OS2 sub-directory depending upon the type of install you performed and what hardware is installed on your system. The CACHE.EXE and HPFS.IFS files are required if you are using HPFS in your system. UNPACK.EXE is included in case you need to retrieve a file from the installation diskettes. CHKDSK.COM is included if Autocheck is specified for the file systems upon system boot up. The ATTRIB.EXE file is included because it may be needed by certain support functions.
Following is a list of files that SHOULD REMAIN in the \OS2 sub-directory. Most of these
IBM2ADSK.ADD OS2DASD.DMD   ABIOS.SYS
files are for device drivers, hardware support and system and user INI files. Some of the
IBM2FLPY.ADD OS2SCSI.DMD   CLOCK02.SYS
.SYS and .DMD files may not reside in your \OS2 sub-directory depending upon the type of
IBM2SCSI.ADD ATTRIB.EXE   COM.SYS
install you performed and what hardware is installed on your system. The CACHE.EXE and
000000.BIO   CACHE.EXE     DOS.SYS
HPFS.IFS files are required if you are using HPFS in your system. UNPACK.EXE is
F80D00.BIO   CMD.EXE       EXTDSKDD.SYS
included in case you need to retrieve a file from the installation diskettes. CHKDSK.COM is
F80D01.BIO   PMREXX.EXE   LOG.SYS
included if Autocheck is specified for the file systems upon system boot up. The
W020100.BIO   PMSHELL.EXE   MOUSE.SYS
ATTRIB.EXE file is included because it may be needed by certain support functions.
W020101.BIO   SVGA.EXE     KBD02.SYS
IBM2ADSK.ADD OS2DASD.DMD ABIOS.SYS
W050000.BIO   UNPACK.EXE   PCLOGIC.SYS
IBM2FLPY.ADD OS2SCSI.DMD CLOCK02.SYS
W050100.BIO   VIEW.EXE     PCMCIA.SYS
IBM2SCSI.ADD ATTRIB.EXE COM.SYS
W050101.BIO   VIEWDOC.EXE   PMDD.SYS
000000.BIO CACHE.EXE DOS.SYS
W060100.BIO   HPFS.IFS     POINTDD.SYS
F80D00.BIO CMD.EXE EXTDSKDD.SYS
W0F0000.BIO   PMCONTRL.INF PRINT02.SYS
F80D01.BIO PMREXX.EXE LOG.SYS
CHKDSK.COM   OS2.INI       SCREEN02.SYS
W020100.BIO PMSHELL.EXE MOUSE.SYS
KEYBOARD.DCP OS2SYS.INI   TESTCFG.SYS
W020101.BIO SVGA.EXE KBD02.SYS
VIOTBL.DCP   IBMINT13.I13 VDISK.SYS
W050000.BIO UNPACK.EXE PCLOGIC.SYS
OS2ASPI.DMD
W050100.BIO VIEW.EXE PCMCIA.SYS
Any files removed from this directory can be moved to a Server directory. This directory should be placed in the PATH statement of the CONFIG.SYS file in the root directory. It would also be wise to create a diskette with system utilities such as FORMAT, XCOPY, and the like that will be near the requester machine in case the server is not available and maintenance is needed on the requester machine.
W050101.BIO VIEWDOC.EXE PMDD.SYS
W060100.BIO HPFS.IFS POINTDD.SYS
W0F0000.BIO PMCONTRL.INF PRINT02.SYS
CHKDSK.COM OS2.INI SCREEN02.SYS
KEYBOARD.DCP OS2SYS.INI TESTCFG.SYS
VIOTBL.DCP IBMINT13.I13 VDISK.SYS
OS2ASPI.DMD
Any files removed from this directory can be moved to a Server directory. This directory
should be placed in the PATH statement of the CONFIG.SYS file in the root directory. It
would also be wise to create a diskette with system utilities such as FORMAT, XCOPY, and
the like that will be near the requester machine in case the server is not available and mainte-
nance is needed on the requester machine.
2. \OS2\DLL
2. \OS2\DLL
Following are the DLL files that are MUST REMAIN in the \OS2\DLL sub-directory. This
Following are the DLL files that are MUST REMAIN in the \OS2\DLL sub-directory. This sub-directory will also contain files used for Fonts and printer drivers. These files should remain on your requester machine, but are not listed here. They have file extensions extensions of PSF, FON, DRV, PDR and QPR. This list does not include any DLL files that may be placed in the \OS2\DLL sub-directory by another installed product other the the base OS/2 system.
sub-directory will also contain files used for Fonts and printer drivers. These files should
BKSCALLS.DLL NAMPIPES.DLL PMVIOP.DLL
remain on your requester machine, but are not listed here. They have file extensions exten-
BMSCALLS.DLL NLS.DLL PMWIN.DLL
sions of PSF, FON, DRV, PDR and QPR. This list does not include any DLL files that may
BVH8514A.DLL NPXEMLTR.DLL PMWP.DLL
be placed in the \OS2\DLL sub-directory by another installed product other the the base
BVHVGA.DLL NWIAPI.DLL PMWPMRI.DLL
OS/2 system.
BVHWNDW.DLL OS2CHAR.DLL QUECALLS.DLL
BKSCALLS.DLL NAMPIPES.DLL PMVIOP.DLL
BVSCALLS.DLL OS2SM.DLL REXXINIT.DLL
BMSCALLS.DLL NLS.DLL PMWIN.DLL
DISPLAY.DLL PMATM.DLL SESMGR.DLL
BVH8514A.DLL NPXEMLTR.DLL PMWP.DLL
DOSCALL1.DLL PMCTLS.DLL SOM.DLL
BVHVGA.DLL NWIAPI.DLL PMWPMRI.DLL
FKA.DLL PMDRAG.DLL SPL1B.DLL
BVHWNDW.DLL OS2CHAR.DLL QUECALLS.DLL
HELPMGR.DLL PMGPI.DLL VIOCALLS.DLL
BVSCALLS.DLL OS2SM.DLL REXXINIT.DLL
HPMGRMRI.DLL PMGRE.DLL WCFGMRI.DLL
DISPLAY.DLL PMATM.DLL SESMGR.DLL
IBM8514.DLL PMMLE.DLL WINCFG.DLL
DOSCALL1.DLL PMCTLS.DLL SOM.DLL
IMP.DLL PMSDMRI.DLL WPCONFIG.DLL
FKA.DLL PMDRAG.DLL SPL1B.DLL
KBDCALLS.DLL PMSHAPI.DLL WPCONMRI.DLL
HELPMGR.DLL PMGPI.DLL VIOCALLS.DLL
MINXMRI.DLL PMSHAPIM.DLL WPPRINT.DLL
HPMGRMRI.DLL PMGRE.DLL WCFGMRI.DLL
MOUCALLS.DLL PMSHLTKT.DLL WPPRTMRI.DLL
IBM8514.DLL PMMLE.DLL WINCFG.DLL
MSG.DLL PMSPL.DLL
IMP.DLL PMSDMRI.DLL WPCONFIG.DLL
The BVH and IBM DLL files will vary in name depending upon the type of display adapter your are using in your system. The rule is, if the name of the DLL starts with BVH or IBM, it must remain in the DLL sub-directory on the requester machine.
KBDCALLS.DLL PMSHAPI.DLL WPCONMRI.DLL
MINXMRI.DLL PMSHAPIM.DLL WPPRINT.DLL
MOUCALLS.DLL PMSHLTKT.DLL WPPRTMRI.DLL
MSG.DLL PMSPL.DLL
The BVH and IBM DLL files will vary in name depending upon the type of display adapter
your are using in your system. The rule is, if the name of the DLL starts with BVH or IBM,
it must remain in the DLL sub-directory on the requester machine.
3. \OS2\MDOS
3. \OS2\MDOS
Here are the files which SHOULD REMAIN in the \OS2\MDOS sub-directory. The
Here are the files which SHOULD REMAIN in the \OS2\MDOS sub-directory. The APPEND.EXE file is required to be in this sub-directory and cannot be moved. The
APPEND.EXE file is required to be in this sub-directory and cannot be moved. The
DOSKRNL and COMMAND.COM files are also searched for in this directory specifically.
DOSKRNL and COMMAND.COM files are also searched for in this directory specifically.
All the other files are device driver support. These can be removed or may not appear if the
All the other files are device driver support. These can be removed or may not appear if the devices are not on your system, or because of the install options that were used.
devices are not on your system, or because of the install options that were used.
DOSKRNL VCDROM.SYS VLPT.SYS
DOSKRNL VCDROM.SYS VLPT.SYS
COMMAND.COM VCGA.SYS VMONO.SYS
COMMAND.COM VCGA.SYS VMONO.SYS
APPEND.EXE VCMOS.SYS VMOUSE.SYS
APPEND.EXE VCMOS.SYS VMOUSE.SYS
ANSI.SYS VCOM.SYS VNPX.SYS
ANSI.SYS VCOM.SYS VNPX.SYS
COMDD.SYS VDMA.SYS VPCMCIA.SYS
COMDD.SYS VDMA.SYS VPCMCIA.SYS
EGA.SYS VDPMI.SYS VPIC.SYS
EGA.SYS VDPMI.SYS VPIC.SYS
EMM386.SYS VDPX.SYS VSVGA.SYS
EMM386.SYS VDPX.SYS VSVGA.SYS
FSFILTER.SYS VDSK.SYS VTIMER.SYS
FSFILTER.SYS VDSK.SYS VTIMER.SYS
HIMEM.SYS VEGA.SYS VVGA.SYS
HIMEM.SYS VEGA.SYS VVGA.SYS
LPTDD.SYS VEMM.SYS VWIN.SYS
LPTDD.SYS VEMM.SYS VWIN.SYS
V8514A.SYS VFLPY.SYS VXGA.SYS
V8514A.SYS VFLPY.SYS VXGA.SYS
VAPM.SYS VKBD.SYS VXMS.SYS
VAPM.SYS VKBD.SYS VXMS.SYS
VBIOS.SYS
VBIOS.SYS
4. \OS2\BOOK and \OS2\HELP
4. \OS2\BOOK and \OS2\HELP
All of the base files in \OS2\BOOK and \OS2\HELP sub-directories CAN BE MOVED
All of the base files in \OS2\BOOK and \OS2\HELP sub-directories CAN BE MOVED moved to a server machine. If done, the SET HELP, SET GLOSSARY, and SET BOOKSHELF statements in CONFIG.SYS must be updated to point to the Server path.
moved to a server machine. If done, the SET HELP, SET GLOSSARY, and SET
 
BOOKSHELF statements in CONFIG.SYS must be updated to point to the Server path.
5. \OS2\SYSTEM
5. \OS2\SYSTEM
No files should be removed from this sub-directory.
No files should be removed from this sub-directory.
6. \OS2\INSTALL
6. \OS2\INSTALL
Different files will be removed from this sub-directory depending on what other support is
Different files will be removed from this sub-directory depending on what other support is being installed on your system and if service updates are going to be applied to the system.
being installed on your system and if service updates are going to be applied to the system.
Because of service requirements, all files except the following should remain in this subdirectory. These files CAN BE MOVED.
Because of service requirements, all files except the following should remain in this sub-
DATABASE.DAT PRDESC.LST SAMPLE.RSP
directory. These files CAN BE MOVED.
DATABASE.TXT PRDRV.LST USER.RSP
DATABASE.DAT PRDESC.LST SAMPLE.RSP
INSTAID.LIB
DATABASE.TXT PRDRV.LST USER.RSP
From these files, you may have DATABASE.DAT remain in the \OS2\INSTALL subdirectory because it is the MIGRATE Application utility.
INSTAID.LIB
 
From these files, you may have DATABASE.DAT remain in the \OS2\INSTALL sub-
directory because it is the MIGRATE Application utility.
7. \OS2\APPS
7. \OS2\APPS
These files were discussed in an earlier append in this document. Basically, all of the files can
These files were discussed in an earlier append in this document. Basically, all of the files can
be moved to a server machine, you just have to insure that the Productivity and Games icons
be moved to a server machine, you just have to insure that the Productivity and Games icons
reflect the correct path names.
reflect the correct path names.
8. \OS2\BITMAP
8. \OS2\BITMAP
The only file required in this sub-directory is OS2LOGO.BMP.
The only file required in this sub-directory is OS2LOGO.BMP.
9. \OS2\DRIVERS
9. \OS2\DRIVERS
All files in this directory remain there.
All files in this directory remain there.


==Glossary==
==Glossary==
APIApplication Programming Interface
;API:Application Programming Interface
APMAdvanced Power Management
;APM:Advanced Power Management
BitEither of the binary digits 0 or 1
;Bit:Either of the binary digits 0 or 1
BIOSBasic Input/Output System
;BIOS:Basic Input/Output System
BPSBits per Second
;BPS:Bits per Second
Byte8 bits treated as a unit representing 1 character
;Byte:8 bits treated as a unit representing 1 character
CD/ROMCompact Disk Read-Only Memory
;CD/ROM:Compact Disk Read-Only Memory High-capacity read-only memory in the form of an optically read compact disk.
High-capacity read-only memory in the form of an optically read compact disk.
;CGA:Color Graphics Array
CGAColor Graphics Array
;DASD:Direct Access Storage Device
DASDDirect Access Storage Device
;DLL:Dynamic Link Library
DLLDynamic Link Library
;DOS:Disk Operating System
DOSDisk Operating System
;DRAM:Dynamic random-access memory
DRAMDynamic random-access memory
;EA:Extended Attribute
EAExtended Attribute
;EGA:Enhanced Graphics Array
EGAEnhanced Graphics Array
;EMS:Expanded Memory Support
EMSExpanded Memory Support
;ESDI:Enhanced Small Device Interface
ESDIEnhanced Small Device Interface
;FAT:File Allocation Table
FATFile Allocation Table
;FIFO:First-in/First-out
FIFOFirst-in/First-out
;GB:Gigabyte (1,073,741,824 bytes)
GBGigabyte (1,073,741,824 bytes)
;GDT:Global Descriptor Table
GDTGlobal Descriptor Table
;HPFS:High Performance File System
HPFSHigh Performance File System
;IDE:Intelligent Drive Electronics
IDEIntelligent Drive Electronics
;I/O:Input/Output
I/OInput/Output
;IPF:Information Presentation Facility
IPFInformation Presentation Facility
;ISA:Industry Standard Architecture
ISAIndustry Standard Architecture
;KB:Kilobyte (1,024 bytes)
KBKilobyte (1,024 bytes)
;LAN:Local Area Network
LANLocal Area Network
;Launched Common:Starting Windows applications in the same session as other Windows applications
Launched CommonStarting Windows applications in the same session as other Windows applications
;Launched Separate:Starting Windows applications in separate Window sessions
Launched SeparateStarting Windows applications in separate Window sessions
;LDT:Local Descriptor Table
LDTLocal Descriptor Table
MB.  Megabyte (1,048,576 bytes)
MB.  Megabyte (1,048,576 bytes)
MHz.  Megahertz
MHz.  Megahertz
Line 2,334: Line 1,750:
VGA.  Video Graphics Array
VGA.  Video Graphics Array
VIO.  Video I/O
VIO.  Video I/O
VRAMVideo RAM
;VRAM:Video RAM
WIN-OS/2OS/2 support for running Windows applications
;WIN-OS/2:OS/2 support for running Windows applications
XGAExtended Graphics Array
;XGA:Extended Graphics Array
XMSExtended Memory Support
;XMS:Extended Memory Support


==Index==
==Index==

Latest revision as of 18:45, 24 September 2025

May 7, 1993

Copyright International Business Machines Corporation 1993. All rights reserved. Note to U.S. Government Users ?Documentation related to restricted rights ?Use, duplication or disclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp.

Preface

This Performance White Paper is designed to assist end users in improving the performance of their OS/2 system by providing information on software and hardware. Items addressed include software tuning and hardware upgrades. It was written by the OS/2 System Performance Department members (IBM Boca Raton), with contributions from the OS/2 operating system development community.

There are many questions on what to do to increase the overall performance of an OS/2 system. This is a complicated question as various factors influence the performance of OS/2. This article attempts to provide information, from various sources, that relates to the performance of OS/2 2.1. Other articles, press releases, product information guides and independent testing all contributed to the information found here. Several of these documents are listed here. The information in this paper deals directly with stand-alone systems. This is not to say that the information will not prove useful to the networked system, but it does not deal with networked systems or the hardware used for networking.

  • OS/2 2.1 Using the Operating System
  • The OS/2 V2.1 Update Redbook
  • OS/2 2.0 Installation & Tuning Guide GG24-3948
  • OS/2 2.0 Information and Planning Guide G326-0160
  • OS/2 Version 2.0 Technical Compendium GGOF-2254
    • Volume 2: DOS and Windows Environment GG24-3731
    • Volume 4: Application Development GG24-3774
    • Volume 5: Print Subsystem GG24-3775
Trademarks referenced

The following products are referenced in the document:

  • OS/2, Personal Systems/2, PS/2 and Micro Channel are registered trademarks of the International Business Machines Corporation
  • Presentation Manager, WIN-OS/2 and SPM/2 are trademarks of the International Business Machines Corporation
  • Microsoft and Microsoft Windows are registered trademarks of Microsoft Corporation
  • Intel is a registered trademark of Intel Corporation
  • Pentium is a trademark of Intel Corporation
  • R:Base is a trademark of Microrim, Inc.
  • Norton Disk Utitilies is a trademark of Symantec Corporation
  • Microsoft Word and Word for Windows are registered trademarks of Microsoft Corporation
  • WordPerfect is a trademark of Wordperfect Corporation
  • Performance 2.1 is a trademark of Clear and Simple, Inc.
  • Lotus and 1-2-3 are registered trademarks of Lotus Development Corp.
  • FoxPro is a trademark of Microsoft Corporation
  • Intel is a registered trademark of Intel Corporation
  • Video Seven is a trademark of Headland Technology Inc.

Contents

Why OS/2 Version 2.X ?
What hardware do I need to run OS/2 ?
What hardware configurations run OS/2 2.0 & 2.1 ?
How much system memory is needed ?
What performance improvements were made in ver. 2.1 ?
What should I know to install OS/2 2.1?
Boot Manager
Partitioning Your Hard Disk
File System Selection
Default File System Cache Sizes
Formatting the Partition
Install Features Selection
Preselected Install
Full Install
Selectable Install
Migrating Applications
Installation and WIN-OS/2 Support
What Else Can be Changed to Improve Performance?
General System Changes
Animation
Changing Display Drivers
Minimize Applications and Folders
Starting Applications
Use Startup Folder
Multitasking Considerations
Swap File Tuning
File Systems
Partition Size and File System Performance
File System Caches and Lazy Writing
The CONFIG.SYS
Customizing
Changes for a DOS Session
The AUTOEXEC.BAT
Customizing
How To Specify a Different AUTOEXEC.BAT File
Tuning for OS/2 Applications
Tuning for Windows Applications
WIN-OS/2 Settings
Tuning for DOS Applications
DOS Settings
Improving Printing Performance
Improving COM Performance
Does the Hardware Impact Performance on OS/2 ?
CPU
Memory
Displays
Hard Drives
Appendix A. Top Tips to Improve Performance
Appendix B. Application Performance Measurements
Appendix C. Display Driver Performance
Appendix D. Removing Features
Appendix E. Performance Tools
Appendix F. Files that can be Migrated to the Server
Glossary
Index
Figures
  1. Partitioning Example #1
  2. Partitioning Example #2
  3. File System Partition and File Size Support
  4. FAT Cluster Size
  5. Features Installed with PreSelected Install
  6. Selectable Features
  7. Installation - System Configuration Menu
  8. OS/2 2.1 Display Driver Resolutions
  9. OS/2 Supplied Fonts
  10. Software Configuration Menu
  11. Cache and Lazy Writing Parameters
  12. Installed Cache Default Sizes

Why OS/2 Version 2.X ?

The general advantages of the 32-bit version of OS/2 are the flat memory model, exploitation of new hardware, increased programming model support, multiple virtual DOS machine sessions, and relief of some system limits. The flat memory model is possible due to built in function on the 80386SX and higher processors. This allows for a very large ( 4 Gigabyte ) single address space referred to as flat memory. Call/return times are reduced by eliminating the need to switch segments. Internal calls are handled with the 32-bit offset rather than the segment:offset used previously. The implementation of this model allows OS/2 2.x to have 32-bit APIs. While all previous 16-bit APIs are still completely supported, many APIs are now 32-bit, thus improving performance and enhancing function. OS/2 2.x exploits hardware in several ways. The OS/2 2.x operating system exploits the Intel 80386 and 80486 microprocessor capabilities. OS/2 2.x utilizes native protected mode and virtual 8086 mode, memory virtualization via a flat memory model, and paging. Utilizing the 32-bit native mode of the 80386 and 80486 facilitates the exploitation of 32-bit arithmetic and move instructions. These hardware platforms provide additional segment registers and extend the general registers to 32-bits. When applications are developed for this environment, proper design decisions will result in superior performing programs. OS/2 2.x also provides support for advanced disk hardware. It can use request lists to move data to the disk, where the hardware supports scatter/gather, and simulates this for disk drives that do not. This improves the performance of disk accesses. OS/2 provides support for advanced parallel port hardware. If the machine supports Micro Channel and uses Direct Memory Access (DMA) for its parallel port, then OS/2's Print Device Driver significantly improves the speed data is sent to the printer (in excess of 100 kilobytes per second). This support allows OS/2 to improve performance of applications since OS/2 can spend more time running applications and less time handling interrupts. OS/2 2.x releases support all existing 16-bit OS/2 applications (VIO or Presentation Manager), 32-bit OS/2 Presentation Manager applications and mixed model OS/2 applications in the OS/2 full screen or windowed sessions. OS/2 2.x also supports most DOS applications including those applications that use EMS, XMS or DPMI memory in the VDM full screen or windowed sessions. OS/2 2.0 supported most 2.x and 3.0 Windows applications in the WIN-OS/2 full screen session and in the WIN-OS/2 seamless session on VGA systems. OS/2 2.01 provided the same support as release 2.0, but added seamless support for the Tseng and IBM VGA 256c chip sets. OS/2 2.1 supports the Windows 3.0 and 3.1 applications, and Windows 2.x applications that do not require real mode, in WIN-OS/2 full screen and seamless sessions on VGA, XGA and SVGA systems (8514 seamless support is not available in OS/2 2.1). MVDM (Multiple Virtual DOS Machines) sessions allow for a more fully integrated system. When the DOS sessions are virtualized, there can be multiple sessions concurrently. OS/2 2.x supports up to 255 concurrent sessions, although hardware limitations generally prevent you from reaching that total. DOS sessions can also be windowed. Utilizing the processor's native virtual 8086 mode eliminated the need to switch from real to protect mode thus improving performance. The virtual DOS sessions can execute in the background, without having to suspend Why OS/2 Version 2.X ? 1 execution of the current application. This allows DOS applications access to the system clipboard, allowing cut and paste functions between other windowed sessions.

The Virtual DOS Machine (VDM) sessions support several types of memory:

  • Extended Memory (XMS) to 16 Megabytes
  • Expanded Memory (EMS) to 32 Megabytes
  • DOS Protect Mode Interface (DPMI) Memory to 512 Megabytes

Generally, VDM sessions support the execution of most DOS applications. There are some DOS applications and products that cannot be supported by DOS emulation due to the nature of the emulation code and the multitasking and protection demands of OS/2 version 2.x. Windows application support is included in OS/2 2.x to allow execution of Windows applications along with OS/2 and DOS applications, providing a wide range of application support. Windows application support has been enhanced in OS/2 2.1. Enhancements were provided in OS/2 2.1 to support the Windows 3.1 environment for running Windows applications full screen and seamlessly on the OS/2 Workplace Shell. The Adobe Type Manager support has moved to version 2.5. The performance of WIN-OS/2 has also been substantially improved. A new mode called Enhanced Compatibility Mode enables a number of Windows 3.1 enhanced mode applications to run. The Clipboard and DDE support have been redesigned for speed, and several enhancements were made to display drivers. The 2.x versions of OS/2 also utilize the object oriented Workplace Shell which provides a friendlier user interface (for example the drag/drop function for direct manipulation of objects).

What hardware do I need to run OS/2?

This section covers hardware and support requirements for the OS/2 2.x operating system. To help you plan user configurations, worksheets are provided that include memory and hard disk requirements for specific components and features.

What hardware configurations run OS/2 2.0 & 2.1?

OS/2 2.0 is designed for personal computers with the following minimum requirements:

  • Intel (or compatible) 80386SX microprocessor
  • 4MB of memory (6MB or more recommended)
  • 60MB hard disk with 15-30MB of free disk space (ver. 2.0 & 2.01) or 20-40MB of free disk space (ver. 2.1)
  • 2-button mouse or other pointing device

Beginning in OS/2 version 2.1, you can install Windows support on a partition different from the partition where OS/2 is installed. This will allow you to move some of the disk space requirement to another partition. While you will still need the same amount of disk space in total, this feature allows flexibility when available space on the install partition is limited. Because of its 32-bit addressing power, the OS/2 2.x operating system requires a computer that has a system unit equipped with an Intel (or compatible) 80386 (or higher) microprocessor. The 80386SX microprocessor provides fair performance for those who work in lower-demand application environments. In environments that demand multiple concurrent processes, the 80486 will provide excellent performance. Also consider the 80486 series if you expect to switch frequently and rapidly among a large number of concurrent tasks.

How much system memory is needed?

Topics that follow discuss memory and disk storage information that you need to consider for OS/2 2.0 and OS/2 2.1. Memory and disk storage are closely related because of the ability of the operating system to manage the allocation of memory resources between real physical memory and hard disk space. The minimum memory requirement for OS/2 2.0 & 2.1 is 4MB. Some computers use up to 128KB for ROM-to-RAM (read-only memory to random-access memory) remapping; some use more than 128KB for other hardware purposes. Therefore less than the minimum required memory is available. On these systems, another 512KB to 1MB would satisfy the minimum requirement. You can check such systems to see if there is a way to replace the memory so that the minimum requirement is met. In general, the OS/2 2.0 & 2.1 operating system, including its shell, requires 1 to 2 megabytes more memory to give performance equivalent to OS/2 version 1.3. The memory requirement for OS/2 2.1 is similar to the memory requirement for OS/2 2.0. It is recommended that systems have a minimum of 6 megabytes of memory for good performance.

What performance improvements were made in ver. 2.1?

The most significant performance improvements made between version 2.0 and 2.1 were in WIN-OS/2. Additional improvements were made in the graphics sub-system, VDM support, and printing. A significant enhancement provided in OS/2 2.1 is the support of a Windows 3.1 environment to run Windows applications seamlessly on the Workplace Shell. The performance of WIN-OS/2 has been substantially improved. A new mode called Enhanced Compatibility Mode enables a number of Windows 3.1 enhanced mode applications to run. The Clipboard and DDE underwent a major redesign, including virtual rendering of clipboard data. Several enhancements were made to the WIN-OS/2 display drivers. In OS/2 2.0, support was provided in WIN-OS/2 3.0 to enable Windows 3.0 applications to run in Standard and Real modes. In OS/2 2.1, the support has been upgraded to include device drivers written specifically to run in the Windows 3.1 environment, including XGA/XGA-2 and SVGA support. In OS/2 2.1, the graphics engine was rewritten (from assembler) using the 32-bit IBM C Set/2 compiler. In addition to being a fully 32-bit engine, many graphics operations were enhanced for better performance. The 32-bit engine consumes more memory than the 16-bit version, so efforts were made to optimize its memory usage for both the Workplace Shell and graphical intensive application environments. Frequently used routines in the graphics engine were tuned and linked together in such a way as to minimize the system working set. This process is referred to as page tuning. In addition to the graphics engine, the PM display drivers have changed significantly between OS/2 version 2.0 and OS/2 version 2.1. The OS/2 2.1 PM XGA driver makes use of the new hardware features of the latest XGA-2 display adapter. It provides non-interlace support, takes advantage of external polling capabilities, and can display up to 64K colors in low resolution modes (640 x 480, 640 x 400). The XGA PM display driver is 32-bit, and performance has improved. There were no SVGA display drivers supplied in OS/2 2.0. In OS/2 2.1, several SVGA chip sets are supported. The SVGA PM display drivers are all 32-bit and 256 colors. Performance comparisons between OS/2 2.1 and OS/2 2.0 with generic 16-bit drivers from vendors show that OS/2 2.1 SVGA performance is visibly faster. The OS/2 2.1 PM VGA driver is 32-bit. From the viewpoint of performance, it has some improvement over the 16-bit version. The 8514 PM display driver with OS/2 2.1 is now 32-bit. Since the graphics engine is also 32-bit, performance has improved. Dual-thread support was added to VDMs in release 2.1. OS/2 enhanced its multimedia support by providing the dual-thread feature. Real time applications, such as multimedia and communications, need to handle interrupts while doing file I/O. System timer ticks are used to update the screen and produce sound. In the first release of OS/2 2.0, each VDM executes as one thread. If the thread is busy doing a file I/O operation, it does not receive an interrupt until the entire I/O operation is complete. By introducing a second thread, OS/2 2.1 allows interrupts to be serviced while waiting for the completion of the I/O operation. This improves the performance of multimedia DOS applications, which need interrupt notification even when doing file I/O. DOS communication programs that do file I/O may be helped by this feature.

This version of OS/2 also contains some Pentium specific optimizations. The areas where this enablement was added improved the performance in interrupt management for VDMs and improved floating point performance in VDM and WIN-OS/2 sessions. DPMI is a protected mode programming interface for DOS applications, allowing those applications to run on the 80x86 processors in protect mode, while utilizing the real mode services of the operating system and device drivers. In OS/2 2.1 the DPMI support has been upgraded to version 1.0. OS/2 2.1 also performs better running DOS and Windows communication applications. OS/2 2.1 also supports more DOS communication applications. Performance improvements were made for printing. OS/2 now ships a 32-bit PostScript printer driver. For parallel ports LPT1 to LPT3, both parallel port device drivers, PRINT02.SYS for Micro Channel machines and PRINT01.SYS for AT-Bus (ISA) and EISA machines, send data faster in OS/2 2.1. This allows the print buffer found on most printers, to be filled quickly reducing the overall print job time. There are also printer properties that improve performance and the OS/2 spooler's print priority can be changed if needed. On laptops that support the Advanced Power Management 1.0 Specification, there is an improvement in battery life. Software support will automatically be installed on systems with the correct hardware support. The object icon can be found in the System Setup folder. This object is used to show the current status/state of your laptop's battery and allows you, if you wish, to turn the advanced power management functions on and off.

What should I know to install OS/2 2.1?

The purpose of this document is to help you tune your OS/2 2.1 system. This section follows the installation path to provide performance related information for the end user. You can use this section for information relating to system performance as you complete your installation. Addi- tional sections contain information for tuning installed systems that can be used after you com- plete installation or on preinstalled systems. The first screen that requires your input asks if you accept the partition selected by install for your system installation. The choices are accept the partition or select another partition. Accepting the default will install OS/2 on the C: Primary partition or the partition set installable (having a partition set installable requires you to have run FDISK earlier). If you have a new hard disk (not preinstalled), accepting the default creates one primary partition the total size of your hard drive. If you decide to select another partition, installation puts you in FDISK and you can make changes as needed. There are several topics that interact here -- use of the Boot Manager, parti- tion sizes and which file system to use. They are discussed here so that you may understand the implications of your selections.

Boot Manager

You should consider the use of the Boot Manager facility that is provided with OS/2 2.0 and 2.1. This facility allows you to have multiple operating systems installed on your computer system and then select which one to make active and boot from. This is very helpful when migrating from one operating system to another, such as DOS/Windows to OS/2, or when upgrading to new versions of an operating system, such as OS/2 1.3 to OS/2 2.0 or 2.1. This allows you to test the new system, while maintaining your old system.

In order to use this feature, you will require enough space on your disk for the multiple operating systems, as well as 1 MB for the Boot Manager facility itself. The 1 MB for the Boot Manager must be space which is not allocated to any disk partition, and can be loaded at the beginning or the end of the physical disk drive. It is recommended that you place the Boot Manager partition at the end of the disk drive so that you will not have to seek over it all the time. The Boot Manager partition is only used when you boot up your system, or when you change the Boot Manager options, so there are no performance impacts by having it at the end of the drive.

If you do not have the free space to use the Boot Manager, see the next section, "Partitioning Your Hard Disk" for further information and some helpful suggestions.

To install the Boot manager, you must use the FDISK utility that is supplied with OS/2 2.0 or 2.1. This is located on Diskette 1 of the installation diskettes. It can be run either from an OS/2 1.3 system or an OS/2 2.X system. It will not run from a DOS session. When you start FDISK, it will show you the partitions that are defined on the first disk. You can use the TAB key to go to the top of the screen to select which disk you want to work with. Use the Tab key again to go to the Partition Information portion of the screen. When you hit the Enter key for the partition that is highlighted, you are presented with a menu list. Consult the Installation Guide for information on using FDISK, or refer to FDISK and SETBOOT options in the on line help facility.

Partitioning Your Hard Disk

Partitioning a system is truly individualistic. Just like background screen colors and bit-maps, there are endless variations available when partitioning your hard drive. The size of the hard drive and planned use of the system affects your decision. Lets use Jane and her systems at home and at work as an example. Her system at work is connected to a LAN and a host system. Her system at home is primarily stand-alone. Her system at work (400 MB hard disk) is partitioned as:

The smaller partitions are formatted FAT, while the large partition (containing her OS/2 applications and swap file) is formatted HPFS for better performance. The C: partition has OS/2 2.0 installed and the D: partition has OS/2 2.1 installed. Having C: and D: contain two versions of OS/2 allows her to boot between them as needed for development and testing.

Another example is her system at home (400 MB hard drive). It is partitioned as:

Again, the smaller partitions are formatted FAT, while the large partition is formatted HPFS for better performance. The C: partition has DOS 4.0 installed with Windows 3.1. The D: partition has OS/2 2.0 installed, and F: has OS/2 2.1 installed. She would have installed 2.1 in D: except that she found that many Windows applications like to install themselves on the same drive as Windows code, and she was running tight on disk space on D:. F: is formatted FAT because it contains Windows applications that are sometimes run when DOS is booted. The E: partition contains her OS/2 applications, data and the OS/2 swap file. The G: partition holds her children's games and the FAT format allows them to be run from OS/2 or DOS.

Originally, this system did not have boot manager installed. When she decided to install it, she needed a 1 MB partition at one end of her hard drive, so she backed up the G: partition, ran FDISK and removed that logical drive and made G: and H:. This did not interfere with the other partitions, so she did not have to backup the entire system, just the one partition at the end of the hard drive.

Figure 1. Partitioning Example #1

C: (Primary Partition)  50 MB  formatted FAT
D: (Logical Partition)  80 MB  formatted FAT
E: (Logical Partition) 269 MB  formatted HPFS
(Boot Manager)  1 MB

Figure 2. Partitioning Example #2

C: (Primary Partition)  30 MB  formatted FAT
D: (Logical Partition)  50 MB  formatted FAT
E: (Logical Partition) 140 MB  formatted HPFS
F: (Logical Partition) 100 MB  formatted FAT
G: (Logical Partition)  79 MB  formatted FAT
(Boot Manager)  1 MB

FDISK allows 4 entries. An entry is defined as a primary partition (boot manager is one) or a run of logical drives. In both examples there are 3 FDISK entries. You can have multiple primary partitions, but you can only access the selected primary partition when booted. When booting a system that has multiple primary partitions, think of it as choosing which one you would like to access as C: The other primary partitions cannot be accessed.

The decision on partitioning your system must be based on your anticipated use. The OS/2 boot manager allows for many possibilities. The partition size and expected use will also influence your file system selection.

File System Selection

To know which file system to choose, it is first necessary to understand the two file systems. While both file systems work on the same hard drives and partitions, there are performance reasons for choosing one over the other.

The file systems supported under OS/2 are FAT and HPFS. They are functionally equivalent to the earlier releases. The file systems in OS/2 versions 2.0 and 2.1 support the same file sizes and partition sizes.

Both HPFS and the FAT file systems have disk caching, lazy writing and read-ahead. See "File Systems" on page 22 for more information on file systems, caches and lazy writing.

File system caches and lazy writing parameters can be changed during or after initial installation. The default values set by installation are good for average systems. See "File Systems" on page 22 and "The CONFIG.SYS" on page 27 for additional tuning information.

Generally, if a partition is less than 100 MB, the file system selected should be FAT. FAT provides excellent performance and reserves less disk space for managing the partition than HPFS. The High Performance File System, which was designed for the larger disk drives, generally performs better than FAT in partitions greater than 100 MB, especially where there are many small files, a very large file (for example a database) or the access to the disk will generally be random.

The FAT file system manages the partition using clusters. The cluster size varies with the partition size because only 64 KB is used to manage the entire partition. Larger partitions have larger clusters than smaller partitions. Since a file or directory always takes n number of clusters, this results in a less efficient use of DASD in large partitions (a 1 byte file will take a cluster, even if the cluster is 8 KB).

HPFS manages all partitions at a sector granular level, regardless of the size of the partition. This allows for better use of DASD. (a 1 byte file will take 1 sector (generally 512 bytes) for data and 1 sector to manage the file (Fnode)).

Figure 3. File System Partition and File Size Support

     Max File Size  Max Partition Size
FAT  2 GB           2 GB
HPFS 2 GB          64 GB

The way that the file systems manage disk space may influence your partition size or your file system selection. Large disks formatted FAT can have cluster sizes up to 64 sectors (generally 64 KB) resulting in poor use of your disk space. Cluster sizes change as follows:

File system selection, cache sizes and options influence the performance of application load times and run time within I/O intensive applications. See ?ile Systems?on page 22 for specific file system tuning that can be done after installation.

Default File System Cache Sizes

Although the installation defaults might not be specifically customized to a particular system, these values are easiest tuned after installation. The default values are shown in Figure 12 on page 27. If only the FAT file system is installed, the default sizes are for the DISKCACHE= statement in the CONFIG.SYS file. If the system has partitions that are all HPFS, the default size is for the IFS=HPFS statement in the CONFIG.SYS file. (On HPFS only systems, the FAT diskcache is set at 64 KB) If the system uses both file systems types, then OS/2 2.0 installation changes the cache size for both file systems. The file system with the largest total amount of DASD (sum of the partitions) gets the first value, the other file system gets the second value. See ?ile Systems?on page 22 for additional information.

Formatting the Partition

The next decision to make at installation is whether or not to format. It is always advisable to format the partition at installation time. This allows clean up of any unnecessary files. It is important to remember that if you have applications or data on that partition that it must be backed up prior to formatting to be saved. If you select to not format the partition, installation will continue and will clean up system files (i.e. remove WIN-OS/2 support from 2.0 at install of 2.1, replacing it with the enhanced WIN-OS/2 support)

Install Features Selection

The next decision to make is which installation path to take. The Install Preselected Features selection installs most, but not all, OS/2 features. It takes about 27 MB of disk space (plus the swap file). Any features not installed can be installed at a later time using the Selective Install feature. This is the Selective Install icon located in the OS/2 System folder. Install All Features will install all features available in OS/2. There are few selections to be made during this install,

Figure 4. FAT Cluster Size

 Partition Size Cluster Size
diskettes  1 sector
< 16 MB  8 sectors
16 to 128 MB  4 sectors
128 to 256 MB  8 sectors
256 to 512 MB  16 sectors
512 to 1024 MB  32 sectors
1024 to 2048 MB  64 sectors

and it takes about 35 MB of disk space (plus the swap file). Select Features and Install requires selecting items from several menus. This option allows you to do a custom install of your system. The range of disk space required is 17 MB to 35 MB (plus swap file). The lower value provides for only the minimum files required to install and run OS/2. Figure 5 lists the features that are selectable. The minimum value refers to having selected NO features. Selection of features depends on personal preference. There are no performance impacts from selecting required function. Do not install features that your hardware cannot support (i.e. CD-ROM, PCMCIA, APM). Disk space requirements are listed to help you understand disk space requirements only.

Preselected Install

Preselected installation provides a general installation of OS/2 features for users. This default is good for new users that do not have enough space for a full install. The features provided when the pre-selected installation is taken include all required files for OS/2 and the following features:

Figure 5. Features Installed with PreSelected Install

Documentation (.8MB)              OS/2 Tutorial (168KB)
Fonts (1.9MB)                     Helvetica (233KB)
                                  Courier (outline) (502K)
Optional System Utilities (1.6MB) Backup Hard Disk (29KB)
                                  Change File Attributes (37KB)
                                  Manage Partitions (228KB)
                                  Restore Backed Up Files (30KB)
                                  Sort Filter (32KB)
                                  Installation Utilities (501KB)
Tools and Games (6.0MB)           Search and Scan Tool (71KB)
                                  Personal Productivity (1407KB)
OS/2 DOS Support (1.3MB)          DOS Protect Mode Interface (22KB)
                                  Virtual Expanded Memory Management (19KB)
                                  Virtual Extended Memory Support (8KB)
Windows Support (9.0MB)           Readme Files (143KB)
                                  Accessories (1154KB)
                                  Screen Savers (77KB)
                                  Sound (253KB)
High Performance File System (0.4MB)

Full Install

Full installation option installs all features of OS/2. This selection requires about 40 MB of disk space. Additional space is required for the swap file in constrained systems. If your partition is small ( < 50 MB) it is advisable to move the swap file to another partition. The features provided when the full installation is taken include all required files for OS/2 and ALL the features listed in selectable install.

Selectable Install

Selectable install allows for full end-user control of features to be installed on a system. There are several options available on menus, and sub-menus allow for a more specific selection. For example, you can choose to select (or not select) all the productivity aids, or you can use the sub-menu to select some of the productivity aids. The selectable install is the best selection for users who understand the features available, and for users that are concerned with disk requirements. The 2.1 release is larger (especially the enhanced WIN-OS/2 support) and selectable install will provide you with a full range of feature selection. Remember that the more features selected the more disk space required. Also, the more entries in a folder, the slower the performance when opening that folder. For example, if you select all the productivity aids and games, then opening the productivity folder will be slower than if you had only the 2 productivity aids you actually used. All features can be added after installation by using selective install in the system setup folder. (For deleting features, see Appendix D, "Removing Features" on page 58) When selecting features, include REXX support if you will be installing OS/2 Lan Services or OS/2 Communication Services. Rexx is required to successfully run those programs.

Figure 6 (Page 1 of 2). Selectable Features

Documentation (.8MB)
OS/2 Tutorial (168KB)
OS/2 Command Reference (391KB)
REXX Information (195KB)
Fonts (1.9MB)
Courier (92KB)
Helvetica (233KB)
System Mono-spaced (35KB)
Times Roman (215KB)
Courier (outline) (502KB)
Helvetica (outline) (395KB)
Times New Roman (outline) (430KB)

Figure 6 (Page 2 of 2). Selectable Features

Optional System Utilities (1.6MB)
Backup Hard Disk (29KB)
Change File Attributes (37KB)
Display Directory Tree (34KB)
Manage Partitions (228KB)
Label Diskettes (34KB)
Link Object Modules (472KB)
Picture Viewer (33KB)
PM REXX (85KB)
Recover Files (47KB)
Restore Backed Up Files (30KB)
Sort Filter (32KB)
Installation Utilities (501KB)
Tools and Games (6.0MB)
Enhanced Editor (926KB)
Search and Scan Tool (71KB)
Terminal Emulator (1592KB)
PM Chart (1201KB)
Personal Productivity (1407KB)
Solitaire - Klondike (388KB)
Reversi (34KB)
Scramble (62KB)
Cat and Mouse (53KB)
Pulse (40KB)
Jigsaw (71KB)
Chess (266KB)
OS/2 DOS Support (1.3MB)
DOS Protect Mode Interface (22KB)
Virtual Expanded Memory Management (19KB)
Virtual Extended Memory Support (8KB)
Windows Support (9.0MB)
Readme Files (143KB)
Accessories (1154KB)
Screen Savers (77KB)
Sound (256KB)
High Performance File System (.4MB)
Advanced Power Management (.1MB)
PCMCIA Support (.1MB)
REXX (.4MB)
Serviceability and Diagnostic Aids (.7MB)
Optional Bit-maps (.1MB)

System Configuration Menu

After you select which installation path, and before you select features in a preselected install, the System Configuration Menu is displayed. Usually, the correct hardware support is shown here. There are some exceptions on non-IBM hardware, so check this screen carefully to verify that install recognized all your hardware. At this time, any of these items can be changed. The following figure shows which items can be changed from the System Configuration Menu. Display Selection The System Configuration Menu allows you to select the display driver based on your hardware. You can choose installing VGA on SVGA, 8514 or XGA systems. High resolution display drivers must handle a greater number of points on the screen (called pixels) and the performance will be somewhat slower. However, the advanced hardware has improved performance so the overall result is

  • The best performance with excellent resolution will be with XGA display drivers
  • Low resolution and good performance with the VGA display driver,
  • Excellent resolution and moderate performance with SVGA display drivers.

The PM XGA display driver will only work on XGA hardware (display adapter and display) and the PM SVGA display driver will only work on SVGA hardware (display adapter and display). Similarly, the PM 8514 display driver will only work with the 8514A display adapter card and appropriate display. The type of hardware display of the system will be shown under "Primary Display" on "System Configuration" panel. If it is not correct,or you wish to change it, you may click on "Primary Display", "O.K.", and choose the correct display accordingly. The supported resolutions for each display are illustrated in Figure 8.

Figure 7. Installation - System Configuration Menu

System

Mouse Serial Device Support Primary Display Secondary Display

Locale

Country Keyboard

Peripherals

CD_ROM Device Support SCSI Adapter Support Printer

In addition to the displays described in the following subsections, OS/2 2.1 also supports EGA and CGA. Because of the highly graphical user interface provided by the Workplace Shell, use of OS/2 2.1 in these modes will be difficult and is not recommended.

  • VGA
    The only resolution for VGA is 640 x 480 x 16 colors. All XGA and SVGA display adapters are also supported in VGA mode with the VGA driver shipped with OS/2 2.1.
  • XGA
    The default resolution during installation depends on the amount of available VRAM on the system. This is the same for XGA and XGA-2 display adapters. For systems with 0.5 MB VRAM, the default resolution is 1024 x 768 x 16 colors while for systems with 1.0 MB VRAM, the default resolution is 1024 x 768 x 256 colors. It requires 1.0 MB VRAM to run in 1024 x 768 x 256, 640 x 480 x 64K and 640 x 400 x 64K color modes. You can change the resolution and colors to be displayed on the screen after initial installation. See "Changing Display Drivers" on page 18 for additional information. The XGA display drivers support both the XGA and the XGA-2 adapter cards. Additionally, the new XGA-2 display subsystem has a built-in utility called Display Mode Query Set (DMQS), which can take care of setting up optimum parameters for given display devices. The correct selection of display type is automatically done by OS/2 2.1 installation program. It can be changed after installation. See "Changing Display Drivers" on page 18 for information on changing and tuning display drivers.
  • SVGA
    The implementation of SVGA varies widely and requires different device drivers for different resolutions, as well as different adapters and systems. OS/2 2.1 supports the following SVGA chip sets:
    • ATI Technologies Inc., ATI28800
    • Headland Technology Inc.,Chip Type: HT209.
    • Trident Microsystems, Chip Type: TVGA 8900B and TVGA 8900C.
    • Tseng Laboratories, Chip Type: ET4000.
    • Western Digital Corporation, Chip Type: WD90C11, WD90C30, and WD90C31 (in C30 compatibility mode).
    • Cirrus Logic Inc., Chip Type: CL-GD5422 and GD5424

Figure 8. OS/2 2.1 Display Driver Resolutions

Resolutions
640x400
640x480
800x600
1024x768
Colors
256
65,536
16
256
65,536
256
16
256
VGA

X

XGA

X

X


X

X


X

X

SVGA



X


X


X

IBM 256c



X




8514





X

    • IBM Corp., Chip Type: IBM VGA 256c and SVGA-NI.

The default driver during installation is VGA driver (640 x 480 x 16 colors), if your SVGA hardware is not detected by install. The resolution may be changed by installing the drivers for the desired resolution. See ?hanging Display Drivers?on page 18 for additional information. At least 0.5 MB VRAM is needed to install the SVGA drivers. At 0.5 MB VRAM, only the OS/2 SVGA resolution of 640 x 480 x 256 colors is supported. Both the 1024 x 768 x 256 colors and 800 X 600 X 256 colors resolutions require 1 MB VRAM.

  • 8514
    The only resolution available for 8514/A display is 1024 x 768 x 256 colors. The driver is the new 32-bit driver.
  • Seamless Support (WIN-OS/2)
    WIN-OS/2 display drivers are automatically copied at installation time for the display type selected. WIN-OS/2 support for executing Windows applications is provided in full screen or seamless (windowed) sessions. Seamless support is provided in the display device driver, and that support has changed between releases. In version 2.0, only the VGA display driver provided seamless support. All other display drivers supported WIN-OS/2 in full screen only.

In version 2.1, VGA, XGA and SVGA display drivers shipped with OS/2 support seamless execution for WIN-OS/2. Additional display drivers having support for seamless execution of WIN-OS/2 may be available after OS/2 2.1 ships.

The OS/2 Setup and Installation Menu

The OS/2 Setup and Installation menu, seen in selective install only, allows you to select which features to install. Sub-menus provide flexibility in choosing the features. These selections generally provide function only, and the disk space window lets you know the disk space available and the disk space needed for the items you have selected. Font support selection can affect performance and memory. More information is provided here to help in the selection process.

Font Support

During the selective install process, you can select which of the fonts shipped with OS/2 should be installed in your system. See Figure 9 for a list of the fonts supplied by OS/2. You should only install those fonts that you will actually use on your system. This will not only save you disk space, but will also improve your performance when loading applications that use fonts, and reduce the amount of system resources being used. Each font that is installed in the Figure 9. OS/2 Supplied Fonts

Courier Helvetica System-Mono Spaced Times-Roman Courier Outline Helvetica Outline Times New Roman Outline

system will use a minimum of 2 KB of memory even if it is not being accessed. This number will increase significantly when you actually start to use the font in an application. Outline fonts tend to be more efficient from a performance point of view since only the characters that are actually used are cached into memory. With non-outline (bit-mapped) fonts, the entire bit-map character rendering buffer is loaded into memory. This can increase the working set and cause the system to enter into a paging situation. Also, bit-mapped fonts are defined for a specific screen resolution and device. Outline fonts are scalable and loaded for the specific device installed on your system. Outline fonts can also be downloaded to certain printers and increase performance. Additional fonts can be added after the installation process. Selecting only the outline fonts reduces disk space requirements and keeps system performance optimal.

Software Configuration Menu

The Software Configuration pull down menu allows you to change OS/2 Parameters and DOS Parameters. Tuning information on these items is provided in the system tuning section (These changes can be made during or after installation). Page numbers where the information can be found are provided for ease of use during install. Figure 10 shows the items that can be changed from the Software Configuration Menu.

Swap File

The swap file (SWAPPER.DAT) default placement is on the installed partition in \OS2\SYSTEM. If you are running tight on disk space, move this file to another partition. The swap file is moved to another partition at installation time from the software configuration menu (see above). The swap file can be moved after installation by changing the SWAPPATH= line in the CONFIG.SYS. These changes take effect at the next boot. More information on the swap file is included in the file system section, including the parameters and swap file placement.

Figure 10. Software Configuration Menu

Software Configuration OS/2 Parameters

Printer Monitor Buffer Size Buffers Diskcache Maxwait Swap Minfree Threads Swappath Memman Protect Memman Swap Priority

DOS Parameters

Break Open FCBS Protected FCBS RMSize

Migrating Applications

The Migrate Applications utility can be run during the install process or from the System Setup Folder. It uses a migration database to define what specific changes need to be made to DOS and WIN-OS/2 session settings, as well as how OS/2, DOS and Windows applications should be setup. This database is called DATABASE.DAT and is located in the \OS2\INSTALL subdirectory of your OS/2 system. A text version of this file, called DATABASE.TXT, also exists in the \OS2\INSTALL subdirectory to allow you to change the settings of a particular application, or to add new applications to the database.

Migrate should be used, either at install time or after an application is installed, to setup the application and place its icon in the appropriate folder. The customized settings for applications listed in the migration database are good general defaults. After installation, see the sections on tuning applications for additional changes to improve performance.

Installation and WIN-OS/2 Support

When installing OS/2 2.1 over a prior version of OS/2 2.x, the WIN-OS/2 support previously provided will be deleted. This is true even if you installed using the WIN-OS/2 beta and placed WIN-OS/2 on another partition. You may defer the installation of WIN-OS/2 3.1 by not selecting WIN-OS/2 3.1 installation during the installation phase. However, install will remove WIN-OS/2 3.0 regardless of whether WIN-OS/2 3.1 is installed or not.

If you decide to install WIN-OS/2 3.1, you will have an option to either install a new Windows desktop or preserve the current desktop. Select this option if you would like to keep the customized Windows desktop you already have installed. You will also have the option to install to a partition other than the one where you are installing OS/2. This provides flexibility on systems where the install partition is too small for all the features selected.

What Else Can be Changed to Improve Performance?

After installation, there are additional changes that can be made to improve the performance of OS/2. Some of these items are general in nature and apply to the overall system performance. Some changes are specific for certain systems or certain applications. These changes are included in this section.

General System Changes

There are some changes that affect the performance of the entire system. They are included here with information on their system impact so that you may tune your system as needed.

Animation

On memory constrained, low end systems, the performance when opening folders and starting sessions can be improved by disabling animation. Animation is the process of drawing boxes on the screen that appear to grow in size culminating in an open folder or session. This gives a nice appearance when systems are performing well. If you are running on a 80386 SX system and are overcommitted in memory, performance is improved if animation is disabled. To disable desktop animation, open the System Setup icon in the OS/2 System folder. Select the System icon, and go to the page with the Window bookmark. This screen allows you to select Disable Animation.

Changing Display Drivers

You may decide to change display drivers on your system. The different display drivers affect the performance of your system. Resolutions on the XGA and SVGA systems also affect performance. The section ?isplay Selection?on page 13 describes the various display drivers that are available with their resolutions and number of colors supported. The following information details how to change the resolution.

  1. Select "OS/2 System".
  2. Select "System Setup".
  3. Select "System".
  4. Choose the new display type
  5. Choose the desired resolution
  6. Follow remaining selections
  7. Shutdown and reboot the system.

Note: If you are changing from one type of SVGA hardware to another type, it is best if you change the display driver to VGA before you change hardware, then change back again to the correct display driver type. This will keep you from having a display driver / hardware mismatch that could necessitate reinstalling OS/2. The following information details how to change the display driver.

  1. Select "OS/2 System".
  2. Select "System Setup".
  3. Select "Selective Install".
  4. Click on Primary Display
  5. Click OK
  6. Choose the desired display type
  7. Follow remaining selections
  8. Shutdown and reboot the system.

Minimize Applications and Folders

When working with OS/2, you will have better system responsiveness if you minimize applications between uses. Performance when accessing a minimized application is faster than starting the same application. This is also true when working with folders. When you have applications or folders that you use often, leaving them open at shutdown (or placing them in the startup folder) will cause them to be loaded at system boot time, and accessing them will be significantly faster.

Starting Applications

Performance when starting applications may not be as quick as you would like. This is especially true if your system is memory constrained or has slow DASD. Some steps can be taken to reduce the application load time. Start applications from their own subdirectory, or call the application with a fully qualified path. This will reduce the search time for OS/2 to locate the file(s). Using the icon to start the application is optimal. The icon will have (if migrated or correctly installed) the exact path for executable and data files. Be certain that the PATH, LIBPATH and DPATH statements in the CONFIG.SYS are arranged with the most frequently accessed subdirectories listed first. Also, start the application earlier by leaving it open at shutdown, or by using the startup folder.

Use Startup Folder

Applications and folders can be opened several ways. If they were left open at shutdown, they will reopen at boot time after the Workplace Shell is started. Applications placed in a STARTUP.CMD file will also be processed at boot time, after the Workplace Shell is started. Applications and folders placed in the Startup Folder will be opened with the processing overlapping the startup of the Workplace Shell. This use of the Startup Folder is preferred because it takes advantage of OS/2 multitasking.

Multitasking Considerations

OS/2 is a true multitasking operating system. It manages multiple processes concurrently by sharing the system CPU (called timeslicing). If your system has enough processing power, you will not see any performance degredation when executing multiple applications. However, if your system is memory overcommitted or if you are constrained by the processer you may experience performance problems. There are several steps you can take to improve performance. First you should verify that you are only running programs that are necessary. If you have any processes that are not needed (for example Pulse, Cat and Mouse, a clock, etc.) they should be closed. Those applications, when running, take cycles from the processor. This would affect the performance of other applications that are executing.

If you have a problem with foreground tasks, they may be affected by background applications. Verify that the settings are correct for the application, especially DOS applications that may poll, so that useful tasks are always processing. On memory constrained and 80386SX systems, you should limit background processing to improve foreground performance. This would not mean that you should close background applications, but you will have better response time in your active application if the other applications are not concurrently processing. This also applies if you are running memory and file I/O intensive applications concurrently (for example printing from an application, reflowing a large document, processing a large data base, etc.). While OS/2 allows you to run many applications at once, this can cause a problem is some systems when the processer or memory become overcommitted. Also see "Does the Hardware Impact Performance on OS/2?" for information on hardware upgrades.

Swap File Tuning

Current hardware allows operating systems to assign virtual address space to applications. This address space can be backed by either real memory or by disk space. When more memory is needed to execute programs than is currently available in the system, OS/2 moves some of the information stored in memory off to the hard drive. This is called swapping or paging. In OS/2, the file where the data is written is the SWAPPER.DAT file.

The swap file parameters have changed from the prior releases. This was due to functional changes but also provides for easier tuning for increased performance. The swap file is used for paging in overcommitted systems and to store some data not being accessed frequently. It is allocated at boot time, reducing fragmentation. There are two parameters - the first value is the MinFree Value, the second is the Initial Swap File Size. Both are expressed in KB, and the system rounds them to megabytes at boot time.

The MinFree Value determines at what time you will receive a warning message that disk space has been reduced too low. When the swap file grows, the system checks for the remaining disk on the partition where the swap file is located. If the remaining amount of free space, after the swap file extension, is less than the amount (in megabytes) of the minfree value, a message is displayed. This should be set to provide you time to take action so that additional swap file extensions are not halted due to lack of disk space.

The options available when the warning occurs are:

  • End Program/Command/Operation
  • Ignore the Error and Continue
  • Display Help

If you choose to ignore the warning, and the system tries to extend the swap file without having disk space to handle the request, the system will halt -- no additional warnings, no chance to save data. If you let the system end the program that requested the memory, it will probably end the application that is just loading OR the workplace shell. (The workplace shell places many requests for memory on the system. It will restart after the system ends it)

The best solution is for you to take the time to exit applications that you are no longer being used, since you are most knowledgeable on what is or will be needed. In any case DO NOT IGNORE THE MESSAGE. The best minfree value for your system is generally 4096 for systems running average applications. If a system will be dealing with large databases or large spread sheets or text files, increase the value to 6144 or larger. This will give you an earlier warning for a shortage of DASD space for the SWAPPER.DAT file. The initial swap file size is preallocated to a minimum size during system boot-up, depending on the amount of physical memory installed in the system. This helps prevent the excessive overhead of growing the swap file incrementally during paging operations. The user should change the preallocated size of the swap file using the SWAPPATH directive in the CONFIG.SYS file.

While the system is running, more swap file space is needed than what has already been preallocated, the kernel will to grow the swap file in 1 MB increments. The swap file will be grown only during the processing of page faults, when it is determined that more swap space is needed. When one or more pages need to be swapped out from memory, the kernel will determine if these pages already have swap space allocated in the swap file. If so, the swap manager will simply write them into the allocated swap space. Otherwise, new swap space will be allocated in the swap file. If there is no space left, the swap file will be grown. The swap manager then writes the pages to their new swap space. Swap space in the swap file is normally not freed up until the corresponding memory is deallocated. When the swap file grows beyond the initial size, then the system must manage the swap file to determine when compaction can take place. This additional overhead will cause a performance penalty. To keep your system performance optimal, make sure the initial swap file size is correct. To determine the correct size for your swap file, use your system as you usually would, occasionally checking the size of the SWAPPER.DAT file. The size specified in the CONFIG.SYS should be at least this size, 1 or 2 MB larger, DASD permitting.

The swap file contents include both code and data. The information stored there is either backing in overcommitted systems (you are running programs whose working set is larger than real memory on your system) or 16-bit OS/2 application code and resources. It is probably a combination of both. The reason the 16-bit OS/2 application code and resources are backed in the swap file is to improve performance by reducing working set. Segmented 16-bit applications require the entire segment to be brought into system memory, even if you only need a piece (page) of that segment. This would mean that application code segments would be completely loaded whenever references were made to discarded pages. (OS/2 will discard pages not referenced by aging, least referenced page discarded first) When OS/2 initially loads a 16-bit OS/2 application, it packs the segments into pages and copies them to the swap file for faster recovery when needed. This can be disabled by using the NOPACK option on the MEMMAN= line in the CONFIG.SYS. However, the performance decrease and larger working set will rarely offset the potential of a reduced swap file size.

The swap file shrinks when several conditions are met. When the amount of free swap space in the swap file exceeds 1.5MB, swap file compaction will be performed at system idle time. During compaction, free swap space will be moved to the end of the swap file. After compaction, when the amount of free space at the end of the swap file is greater than 1 MB, the swap file will be decreased, in 1MB increments. The swap file only compacts when it has grown larger than the size initially set in the CONFIG.SYS. Growing and shrinking of the swap file is always managed in 1MB increments.

File Systems

The file systems supported under OS/2 are FAT and HPFS. They are functionally equivalent to the earlier releases. Both HPFS and the FAT file systems have disk caching, lazy writing and read-ahead. Disk caching is the placing of frequently accessed data in a special buffering storage. It reduces access time and improves the performance of applications that rely heavily on hard disk data. Lazy writing (or write behind) is the writing to disk file updates when the operating system is idle, when the updated (dirty) cache block is aged, or when the cache is full of updated (dirty) cache blocks. Cache blocks are aged by a set of parameters described in detail later in this section. Read-ahead is when the file system detects sequential read requests in a file and extends the read (reads ahead), placing that data in the file system cache to improve performance. Read-ahead is an internal function of the file system, and not settable by the end user. To minimize the frequency with which the system ties up its resources writing cached data to the disk, both file systems also can take advantage of the lazy-writing feature. Lazy writing provides a significant performance improvement when writing to the disk. To allow the operating system the greatest chance for finding data in the cache, both file systems incorporate asynchronous read ahead for sequential I/O. This read-ahead capability is always enabled in OS/2 2.0.

For applications that require absolute data integrity, files should be opened with WriteThru enabled. WriteThru ensures that disk write operations are committed to disk before the application continues. This is in direct contrast to lazy writing; lazy-written data can remain in the file-system cache for several seconds after the application has completed writing. Disabling the lazy-writing feature of either file system does not provide the same capability as enabling WriteThru, and it decreases system performance When it is not possible to open a file with WriteThru enabled, the shutdown procedure must be used to ensure that all data is written to disk.

The lazy writing parameters for both file systems will cause updates in the cache to be written to disk when the disk is idle or when the update is 5 seconds old. It takes the operating system only a second or two to complete the updates to disk. The parameters cause writes to the disk when the cache is approximately 30% full of dirty blocks (updates). This means that the actual window of 'lost' data in the case of a power interruption is small - at maximum, the last 7 seconds of updates, to around 50% of the total cache size.

Shutdown flushes all system buffers guaranteeing that file system updates in the cache are written to disk before power off or reboot. CTRL-ALT-DEL flushes the buffers in the same way, also providing for data updates to disk at reboot time. Using either of these functions will ensure file updates are written to disk.

Generally, if a partition is less than 100 MB, the file system selected should be FAT. FAT provides excellent performance and reserves less disk space for managing the partition than HPFS.

The High Performance File System, which was designed for the larger disk drives, generally performs better than FAT in partitions greater than 100MB, especially where there are many small files, a very large file (for example a database) or the access to the disk will generally be random.

FAT File System

The FAT file system contains no significant changes from OS/2 version 2.0. The FAT file system contains the following enhancements in 2.0 that provide improved performance and enhanced support for disk hardware devices:

  • Command chaining by attempting to call the volume manager with a list of all contiguous sector requests required to fill an I/O request, thereby enabling multiple I/O requests in a single logical operation.
  • Scatter and gather by passing physical pointers to each page in the data buffer (physically discontiguous) as part of the I/O request. This allows I/O controllers, such as the IBM SCSI adapters, that support the scatter and gather capability to perform the I/O in a single operation.
  • Disk caching within the FAT file system, rather than in the device driver.
  • Recognition of devices that have onboard caches (nonsystem memory), incorporating them into the total caching scheme.
  • Faster allocation of free space on the logical drive, using a bit map to track free clusters on the disk.

FAT supports Extended Attributes to a maximum of 64KB per file or directory. The FAT file system manages the partition using clusters. The cluster size varies with the partition size because only 64 KB is used to manage the entire partition. Larger partitions have larger clusters than smaller partitions. Since a file or directory always takes n number of clusters, this results in a less efficient use of DASD in large partitions (a 1 byte file will take a cluster, even if the cluster is 8 KB). See Figure 4 on page 9 for cluster size information.

High Performance File System

The High Performance File System has made some internal changes to improve performance. In version 2.1, when small files (1/8th the cache size; max file size 128 KB) are opened, they are immediately read into the HPFS cache. This allows for increased performance when accessing the data in that file. The HPFS under OS/2 supports the following:

  • Command chaining by calling the volume manager with a list of all contiguous sector requests required to fulfill an I/O request. This function is supported for all DASD types.
  • Scatter and gather by passing physical pointers to each page in the data buffer (physically discontiguous) as part of the I/O request. This enables I/O controllers, such as the busmastering IBM SCSI adapters, that support the scatter and gather capability to perform the I/O in a single operation.
  • Disk caching in the IFS driver, rather than in the device driver.
  • Recognition of devices that have onboard caches (non-system memory), incorporating them into the total caching scheme.

HPFS manages all partitions at a sector granular level, regardless of the size of the partition. This allows for better use of DASD. (a 1 byte file will take a sector, generally 512 bytes). HPFS supports Extended Attributes to a maximum of 64 KB per file or directory. HPFS will perform best when the number of files in a directory are kept below 5,000. Note: File system selection, cache sizes and options influence the performance of application load times and run time within I/O intensive applications. File system performance will generally not affect the performance of CPU bound programs or user interactive applications. Your application is I/O intensive if there are many I/O requests (hard drive access light stays lit). File system performance will also affect the load times of large applications and applications where large files are loaded and saved (desktop publishing & applications using large files (spread sheets) are examples).

Partition Size and File System Performance

The FAT file system is basically the traditional DOS file system with some enhancements in the file system cache and lazy writing (write-behind) available. The High Performance File System, first available in OS/2 1.2, was designed to handle large DASD and large files. HPFS uses B-trees to locate the information on directories and files. Both file systems perform well on small (<100 MB) partitions. The advantage goes to HPFS in large (>100 MB) partitions because of the faster access through the B-tree. B-tree searching allows faster access to HPFS also manages DASD space at a sector granular level rather than by clusters like FAT.

What this means is that if a system has a small hard file, or is partitioned into small (< 100 MB) partitions, the file systems perform generally the same. The FAT file system is preferable because it uses less disk space to manage the files and directories. The FAT file system is always active in OS/2 (HPFS does not handle diskettes). HPFS is started by the statement:

IFS=C:\OS2\SYSTEM\HPFS.IFS /c:64

in the CONFIG.SYS. If a system does not need HPFS, removing this line reduces memory requirements by 100 KB when not accessed, and approximately 500 KB when accessed. If memory is constrained, this will help improve overall system performance. If the system is not overcommitted, removal of this option will not improve performance. If any partition size is large ( >100 MB ), HPFS should be used for function as well as performance.

Special consideration should be given if you will be installing Windows applications. Many of these applications place files in the WINDOWS\SYSTEM subdirectory. This forces you to plan ahead for disk space requirements to install these applications. Additional consideration must also be given if an you expect to boot and execute under native DOS. Native DOS (all versions) does not provide access to HPFS formatted partitions.

File System Caches and Lazy Writing

Whether a system is using FAT, HPFS or both, tuning the file system cache has performance advantages for heavy I/O applications. Both file systems allow various cache sizes as well as threshold parameters. There are some functional differences in the file systems.

Cache parameters determine when data will be lazy written to disk. Consult the OS/2 Command Reference for more information. Changes in these values generally have no discernible impact on system performance The read ahead value is not settable by the end user, and is provided here for information only. The threshold value (CRECL) will affect the performance of I/O intensive applications. This value determines the cut off point at which I/O requests are not cached by the file system. If your application uses large I/O requests, performance will be improved when this value is increased to include the larger I/O size. This would mean more data will be avail- able in the file system cache. This is useful if the application accesses the same data repeatedly, or if the application accesses the data sequentially. This value does have a dependency on the file system cache. The file systems will not allow I/O requests greater than 1/4 of the total cache into the file system cache. This is to prevent constant overwriting of data in the cache. If you increase the threshold value, be certain that the file system cache can use that value with the cache size set. OS/2 will ignore unacceptable threshold value, and use the default value.

The file system cache is used for I/O requests that are less than the threshold value set, or 1/4 of the cache size maximum. Increasing the cache size will improve performance for I/O intensive applications. Experiment with various values to determine the best setting for your application.

Each file system has its own cache. If both file systems are enabled, determine the file system that will be used for the I/O intensive applications and increase the size of that file system's cache. Decrease the size of the other file system cache. Decrease both file system caches if your application is not I/O intensive, as this will free up memory for your application(s).

Figure 11. Cache and Lazy Writing Parameters

FAT

HPFS

Cache Size Minimum Maximum

64 KB 14 MB

64 KB 2 MB

Threshold Default Minimum Maximum

2 KB 2 KB 64 KB

4 KB 2 KB 64 KB

Read Ahead Value

8 KB

8 KB

Cache Parameters MaxAge (range) DiskIdle (range) BufferIdle (range)

5000 ms not settable 1000 ms not settable 500 ms not settable

5000 ms 1 - 99999 1000 ms 1 - 99999

500 ms

1 - 99999

All cache parameter values are milliseconds

EXAMPLES: These examples only suggest changes for systems, and assumes that memory is NOT overcommitted.

  • CPU Application.

System Setup - C: is the system partition, 60MB, FAT D: is the application partition, 100MB, HPFS Application - Desktop Publisher & Graphical Application Decrease the size of the file system caches. 64K for FAT and 128K for HPFS will probably be sufficient. No changes in threshold.

  • DASD Application.

System Setup - C: is the system partition, 60MB, FAT D: is the application partition, 100MB, HPFS Application - Spread sheet and Database applications. Increase the size of the HPFS cache, threshold to 64K. Decrease the size of the FAT cache, no change to threshold

  • DASD Application

System Setup - C: is the system partition, 70MB, FAT D: is the application partition, 210MB, HPFS Application - Large Spread sheet and/or Database applications. Increase the size of the HPFS cache, increase threshold to 64K. Decrease the size of the FAT cache, no change to threshold

  • CPU Application.

System Setup - C: is the system partition, 60MB, FAT D: is the application partition, 60MB, FAT Application - Desktop Publisher & Graphical Application REM out the IFS line for HPFS. Decrease the FAT cache. No change in FAT threshold. Default File System Cache Sizes

Although the installation defaults might not be specifically customized to a particular system, it is beneficial to have access to larger cache sizes. Therefore, OS/2 2.x installs with larger cache sizes when additional memory is available on the system. system. The default values are shown in Figure 12 on page 27. If only the FAT file system is installed, the default sizes are for the DISKCACHE= statement in the CONFIG.SYS file. If the system has partitions that are all HPFS, the default size is for the IFS=HPFS statement in the CONFIG.SYS file. If the system uses both file systems types, then OS/2 2.x installation changes the cache size for both file systems. The file system with the largest total amount of DASD (sum of the partitions) gets that larger value (listed under 2 file systems) and the other file system gets the smaller value. See the section on File Systems for additional information.

The CONFIG.SYS

OS/2 provides many options and tunable settings. The default settings are designed for the 'average' user. Certain assumptions were made that will not apply to all end users. While these choices are excellent for general use, some changes can provide for increased performance in the end user environment. The following is intended to provide information to allow you to change the settings to tune the system for your specific requirements.

Customizing

There is a considerable amount of flexibility in the settings in the CONFIG.SYS. Generally end users try to make changes and 'see what happens'. This can lead to the situation where the system will not boot. Use the new ALT-F1 feature or boot from a diskette to recover. The ALT-F1 feature takes the CONFIG.SYS, OS2SYS.INI and OS2.INI from the install directory and replaces them over the existing files. To use this optimally, set up your system as you like it (Workplace Shell included) and then copy those files over to the OS2\INSTALL subdirectory on the boot partition. This allows experimentation without high risk - recovery is to the last saved setup. If you don't make any changes, the files saved are the CONFIG.SYS and INI files from initial installation. Considerable time can be saved by copying these files after system changes are made.

You might want to copy a CONFIG.SYS file from a network server or from a previously installed system. However, using the statements from an existing system for another system might not enable optimum performance of the second system, because many of the parameters for the CONFIG.SYS statements are dynamically determined at install time based on the configuration of the system. See the section on Installation for more specific information. Customizing the OS/2 2.1 CONFIG.SYS file improves performance and reduces memory requirements. This section describes some OS/2 2.1 CONFIG.SYS statements.

PATH=
Specifies the directories and search sequence to find .EXE, .BAT, .CMD and .COM files. The path statement should be tuned for your particular system. By placing the most commonly used directories in the beginning of the path, performance can be improved. This reduces the number of directories that must be searched to locate a particular file.



Figure 12. Installed Cache Default Sizes

Memory Size in MB

One File System

Two File Systems

4

128

128 / 64

5

128

128 / 64

6

256

256 / 64

7

256

256 / 128

8

512

256 / 256

9

512

256 / 256

10 through 16

1024

512 / 512

17 through 32

2048

1024 / 1024


LIBPATH=
Specifies the directories and search sequence to find DLLs, resources and fonts. Specify the most frequently accessed directories first so the operating system can find them faster. A .; in the beginning of the LIBPATH tells OS/2 to search the current directory first.
DPATH=
Specifies the directories and search sequence to find data. Specify the most frequently accessed directories first so that the operating system can find them faster.
SWAPPATH=
Specifies the location of the swap file, the minfree value, and the initial size. See the section on the swap file for specific tuning information (page 20). The default location for the file is \OS2\SYSTEM. Both values are given in KB. All changes take effect after the next boot. The following statement will create the SWAPPER.DAT file in the OS2\SYSTEM subdirectory on the D: partition, with a minfree value of 2MB, and an initial size of 4MB.
SWAPPATH=D:\OS2\SYSTEM 2048 4096
The following statement will create a SWAPPER.DAT file in the root directory on the E: partition, with a minfree value of 5MB, and an initial size of 12MB.

SWAPPATH=E:\ 5120 12288

DISKCACHE=
Specifies the size (in KB) of memory to allocate for use for the FAT file system's disk cache, whether FAT lazy writing is enabled, and the threshold (in sectors) for caching disk reads. Caching speeds up applications that read hard disks by keeping frequently accessed hard disk data in a cache. However, increasing the size of the disk cache decreases the size of available memory. See Figure 12 on page 27 for the default disk cache sizes. If the LW parameter is specified, FAT lazy writing is on. Lazy writing is a feature whereby actual writing of data to the hard disk is deferred. This allows control to be returned to an application without having to wait for the completion of I/O operations. Disabling lazy writing severely degrades system performance. The default enables lazy writing. The following statement sets the FAT file system cache at 128 KB with lazy writing enabled.
DISKCACHE=128,LW
The threshold parameter specifies the number of sectors that will be placed into cache for read operations. If the threshold parameter is not specified (as in the previous example), it defaults to a value of 4 (2KB). The threshold value may not exceed 1/4 the total cache size or the specified value will be ignored and the default value will be used instead. Any read operation that is less than the threshold is read into the disk cache first. Therefore, subsequent read operations will probably find the needed data in the cache, thus improving performance. The following statement sets the FAT file system cache at 512KB with lazy writing enabled and a threshold value of 64 resulting in the caching of all reads < 32KB. DISKCACHE=512,LW,64
BUFFERS=
Provides memory that OS/2 2.x uses to cache FAT directory information, thereby improving performance. This usage is different than in a DOS environment. A buffer is the size of a FAT sector (512 bytes), so every 8 buffers take one page of memory. On larger FAT partitions, performance will be improved by increasing the number of buffers. The default value is 30.
IFS=
This statement causes the High Performance File System to be loaded. It is also used to specify the size in KB of memory to allocate for the HPFS disk cache (via the /CACHE parameter), and the threshold in KB for caching disk reads (via the /CRECL parameter).
Note: If your system has no HPFS partitions defined, you should disable the loading of HPFS by adding a REM to the beginning of the IFS= line in your CONFIG.SYS.

Lazy writing for HPFS defaults to ON. A RUN=CACHE statement is required to change the state of lazy writing. CACHE also can be executed from a command prompt. See Figure 12 on page 27 for the default disk cache sizes and Figure 11 on page 25 for the other cache and lazy write options that are available. The example that follows shows the default statement on 8MB systems. This results in the allocation of a 512KB HPFS disk cache and in the caching of I/O requests that are smaller than 4KB. The /AUTOCHECK parameter designates which partitions should be CHKDSK'd at boot time. The C: partition is designated for autocheck. IFS=C:\OS2\HPFS.IFS /CACHE:512 /CRECL:4 /AUTOCHECK:C The next example sets the HPFS cache at 2MB, and uses the default value of 4KB for the cache record length threshold. No partitions are designated for autocheck. IFS=C:\OS2\HPFS.IFS /CACHE:2048 The next example sets the HPFS cache at 256KB and sets the cache record length threshold at 16KB. The D:, E:, and F: partitions are designated for autocheck. IFS=C:\OS2\HPFS.IFS /CACHE:256 /CRECL:16 /AUTOCHECK:DEF This last example attempts to set both the HPFS cache size and the cache record length threshold to 64KB. However, the CRECL value is invalid because OS/2 2.1 disk cache thresholds may not exceed 1/4 the total cache size. Therefore, the system overrides the value and uses the HPFS default threshold of 4KB. The D:, E: and F: partitions are desig- nated for autocheck. IFS=C:\OS2\HPFS.IFS /CACHE:64 /CRECL:64 /AUTOCHECK:DEF PRIORITY_DISK_IO= Specifies disk input/output priority for applications running in the foreground. When PRIORITY_DISK_IO=YES is specified in the CONFIG.SYS file, an application running in the foreground receives disk I/O priority over applications running in the background. Therefore, the application in the foreground has better response time than applications running in the background. An example of a time when this should be set to NO is if you are running an I/O intensive application in the background (like a compile) and are working in the foreground on a task that is less important to you than the compile. Setting this to NO would remove the pri- ority boost from the foreground application and improve the performance of the back- ground compile.

The default value is YES. THREADS= Specifies the maximum number of threads OS/2 will allow to exist at any one time. Threads are dispatchable units of execution. OS/2 applications usually have several threads to take advantage of multitasking. DOS and Windows applications usually have only 1 thread. Some threads are used by the system. The default is 128 or 256 threads, (depending on system memory at installation time) which should be plenty for general use. Changing this value to an unnecessarily large one in not advisable because it takes addi- tional memory. Reducing it below 128 does not significantly free any memory. The default value should be acceptable in most environments. One exception is a server environment, where it is generally better to have 256 or 512 threads on the server. The default value is 128 or 256 threads. MAXWAIT= Sets the amount of time a ready-to-run regular or server class thread can wait before the system assigns it a temporary higher priority. The amount of time to set depends on the number of concurrent applications and the activities the applications perform. The default is 3 seconds. This default value is optimal for most system setups. TIMESLICE= Sets the minimum and maximum amount of processor time allocated per timeslice. This line does not appear in the default install of OS/2 2.x, since the system defaults to dynamic time slicing based on system load and paging activity. While this entry is supported, it should not be used. The default is not in the CONFIG.SYS. DO NOT use this setting. MEMMAN= Specifies memory management control options. The SWAP option indicates that swapping to the swap file is enabled and memory can be overcommitted. The NOSWAP option pre- vents swapping. When NOSWAP is selected, the system must contain physical memory for all memory allocations. SWAP should be selected. The PROTECT option enables certain APIs to allocate and use protected memory. The COMMIT option indicates that the memory manager should reserve storage in the swap file at the time any memory is allocated. Specifying this option causes very large swap files to be generated. It can be useful in unattended operating environments (if you specify the COMMIT option, you should increase the initial swap file size parameter on the SWAPPATH= statement). The default value is SWAP,PROTECT. PRINTMONBUFSIZE= Sets parallel-port device driver character monitor buffer sizes for LPT1, LPT2 and LPT3. You may increase performance of data transfers to devices connected to parallel ports by increasing the associated device driver monitor buffers sizes. For example, to increase the size of the device driver buffer for a device connected to parallel-port LPT1 to 2048 bytes, specify: PRINTMONBUFSIZE=2048,134,134. The default value is 134,134,134 bytes.

PROTECTONLY= Selects one or two operating environments. The OS/2 operating system requires this state- ment in the CONFIG.SYS file. The PROTECTONLY=NO statement allows a user to run both DOS (including WIN-OS/2) and OS/2 applications. The PROTECTONLY=YES statement allows a user to run only OS/2 applications. The default value is NO. RMSIZE= Specifies the highest storage address allowed for the DOS operating environment. Leave the default for optimal performance in your VDM sessions. The default value is 640KB. SET DELDIR= Specifies the location to hold deleted files, and the total size of files to be retained. This allows you to save files that have been deleted, for later retrieval if needed. By default, this setting is commented out because backing up each deleted file slows system performance. When enabled, the last value is the size in KB of files to be saved for restoring. The fol- lowing statement enables restoring files to a total of 512KB, for the C: and D: parti- tions. SET DELDIR=C:\DELETE 512;D:\DELETE 512; This means that OS/2 will 'save' files erased, deleted or shredded from the C: partition to a total of 512KB in the C:\DELETE subdirectory (those from the D: partition would be 'saved' in the D:\DELETE subdirectory). FIFO management is used. If the last file deleted is larger than 512KB, than that entire file is saved, regardless of size. The system does not differentiate between files erased by the user and files erased by an application (temp files). Only use this function when you are cleaning your system, and ensure that you have a large enough size specified to save all the files until you are finished. Then REM out this state- ment in the CONFIG.SYS for the next boot. Performance when erasing or moving files is slow with this feature enabled. The default is disabled. SET RESTARTOBJECTS= Specifies the action to be taken by the Workplace Shell when the system is rebooted. This line does not appear in the default install of OS/2 2.x, but the system defaults as if a SET RESTARTOBJECTS=YES statement had been encountered. This causes all objects in the Startup folder and any other objects that were active when the system was last running to be started. A SET RESTARTOBJECTS=NO statement indicates that nothing should be started. This selection would provide the fastest boot time. A SET RESTARTOBJECTS=STARTUPFOLDERSONLY statement indicates that only the objects that are in the Startup folder should be started. The default value is YES.

Changes for a DOS Session

Virtual device drivers used by DOS sessions take little or no memory below the 640KB limit. A user can install device drivers that are required by, and are specific to, certain applications that run in a DOS session. If the commands to load these device drivers or other memory resident programs are added to the CONFIG.SYS file, these device drivers (or programs) are loaded into any DOS session. This reduces the amount of conventional memory available to DOS applications.

DOS settings allow a user to customize a DOS session. To ensure that the maximum amount of memory is available in each DOS session, load the necessary DOS device drivers for the DOS application by using DOS settings. For example: DEVICEHIGH= Loads a specified DOS device driver into an available upper memory block (UMB) for a DOS session. Note: DOS device drivers normally are loaded into low memory (below 640KB) in DOS sessions. If a UMB is not available, the device driver is loaded into low memory (as a DEVICE= statement). To enable UMBs, include the DOS=UMB statement in the CONFIG.SYS file. DOS= Specifies whether the DOS kernel will reside in the high memory area (HMA) and whether the operating system or DOS applications will control upper memory blocks. Note: Upper memory blocks are provided by the XMS device driver.

It also is necessary to include a VXMS.SYS statement in the CONFIG.SYS file to have upper memory blocks available.

  • With a DOS=HIGH/LOW,UMB statement, the operating system controls the upper memory blocks. This means that DOS applications can be loaded into upper memory but cannot allocate UMBs.
  • With a DOS=HIGH/LOW,NOUMB statement, the operating system will not control any UMBs. DOS applications can allocate UMBs but cannot be loaded there.

Eliminate DEVICE= statements for DOS device drivers from the CONFIG.SYS file unless the device driver is required for any DOS session.

The AUTOEXEC.BAT

Customizing

The AUTOEXEC.BAT file is specific to the DOS session and has no effect on the OS/2 operating system. It can be customized for each session. This file contains DOS system commands that run when a DOS session is started. The AUTOEXEC.BAT file starts memory resident programs, such as network programs, and sets up environment variables.

To make as much base memory as possible available to applications, remove any unnecessary commands from the AUTOEXEC.BAT file. Create several AUTOEXEC.BAT files. Include only the commands needed in each AUTOEXEC.BAT file to customize a specific DOS session. Note: Do not allow the installation of a DOS or Windows application to change the AUTOEXEC.BAT file supplied with OS/2. If a DOS command is necessary for a specific DOS application, customize the specific AUTOEXEC.BAT file for that DOS session.

How To Specify a Different AUTOEXEC.BAT File

You may start DOS or WIN-OS/2 sessions with the default AUTOEXEC.BAT file which is located in the root directory of the boot drive. It is better to specify a customized AUTOEXEC.BAT file to create the environment for running that specific DOS or Windows application. The specification of the new AUTOEXEC.BAT can be done by selecting the setting DOS_AUTOEXEC in the WIN-OS/2 Settings notebook for the application object (Dos Settings). Also see Dos Settings, Page 40.

Tuning for OS/2 Applications

OS/2 applications are designed to run in the native OS/2 environment. Because of this, special settings and configurations to support these applications are not required. Well written OS/2 applications take advantage of OS/2 at the API level. Users do not need to make explicit changes for OS/2 applications.

Tuning for Windows Applications

Enhanced and Standard Modes

The Enhanced Mode Compatibility enables the user to run a number of Windows 3.1 enhanced mode applications under OS/2 2.1. It is important to realize that this is not an implementation of Windows 3.1 enhanced mode, but a mode specific to WIN-OS/2 3.1 that illustrates the flexibility of OS/2 and its power in blending different application environments into an integrated platform since the major benefit to Windows 3.1 users of enhanced mode was virtual memory - something which OS/2 users already have.

Like the previous WIN-OS/2 3.0, a special VDM is provided to emulate a DPMI server and the WIN-OS/2 3.1 kernel is loaded into the VDM to directly service the requests of Windows applications running in the VDM. To preserve the integrity of the system and avoid having duplicate virtual device drivers (one running on top of the other), the WIN-OS/2 3.1 Enhanced Mode Compatibility does not use the Windows enhanced mode virtual device drivers (VxDs). As a result, Windows 3.1 applications which do not access the VxDs, such as Mathematica, OmniPage Professional and Vellum, will run in the WIN-OS/2 3.1 Enhanced Compatibility Mode.

An application can be set up to run in the Enhanced Compatibility Mode by setting the WIN_RUNMODE to "3.1 ENHANCED". This setting can be found in the WIN-OS/2 Settings notebook for the application object. You can also start an Enhanced Compatibility mode session from an OS/2 or DOS command line by typing WINOS2 /E or WINOS2 /3.

To start an application to run in the Enhanced Compatibility mode, for example hello.exe, you would type WINOS2 /3 hello.exe.

An application can be set up to run in Standard Mode by setting the WIN_RUNMODE to "3.1 STANDARD". This setting can be found in the WIN-OS/2 Settings notebook for the application object.

You can determine which mode is enabled in a VDM by bringing up the Help pop-up menu from the Program Manager and select About.... The selection would display the About Program Manager Box which will inform you if the session is in Standard or Enhanced Compatibility Mode.

How To Install a WIN-OS/2 Application. You can select migration and the system will migrate your application, placing the icon in the Windows Application folder. This is easiest as the system will provide paths and some settings. You can install a Windows application on the workplace shell by creating a program object from the Templates folder and use the Settings Notebook for the object to specify the settings for the application accordingly. For a Single Application definition, enter the full path and file name of the application in the Program Object definition. For a multiple application definition, enter the name of the program manager, i.e., MYAPP.EXE, in the Program Object definition. Once the program definition has been done, you can go to the Session Object to specify the session type: WIN-OS/2 Full Screen or WIN-OS/2 Windowed. If you select the WIN-OS/2 Windowed option then you can select the Separate option to run your application in a separate VDM. If the option is not selected then it will be run by default in a Common seamless session.

Starting DOS and OS/2 Applications from WIN-OS/2

The ability to start non-Windows applications from a VDM running WIN-OS/2 does not exists under OS/2 2.0. In the release 2.1, you can now start DOS and OS/2 applications from a VDM running a WIN-OS/2 full screen or seamless session.

From a command prompt in a DOS VDM session, you can start an OS/2 application by typing the name of the application as if the application was a DOS application,. Full Screen vs. Seamless Mode.

By default, the WIN-OS/2 icon is set to full screen. Because it references * in the program settings, you cannot easily change from full screen to seamless. Some performance gain can be obtained by running your application under WIN-OS/2 in a full screen. However, you may prefer to run in seamless mode. A quick way to change from full screen to seamless is to change the WIN-OS/2 program settings path and file name to C:\OS2\MDOS\WINOS2\PROGMAN.EXE (assuming C: is the partition where WIN-OS/2 is installed). This allows you to choose either WIN-OS/2 Full Screen or WIN-OS/2 Windowed (seamless). to launch your applications. (change the selection of full screen or seamless on the session page of the icon settings) Change the icon title on the general settings page.

How to Load Your Application Faster in the Seamless Environment

An application can run in a common or separate sessions. Common seamless sessions share one WIN-OS/2 kernel regardless of the number of applications loaded. Separate sessions load a new copy of the WIN-OS/2 kernel each time an application (or session) is started. As a result, if you launch an application from a separate seamless session, the time taken to load the application includes the time to load the WIN-OS/2 kernel as well. To eliminate the loading time of the WIN-OS/2 kernel, you can either load a small Windows utility program at the system startup time (e.g., loading clock.exe from the StartUp folder), or before the actual loading of your main application.

How to Reduce Memory Management Overhead for WIN-OS/2 3.1

When a WIN-OS/2 session starts, the WIN-OS/2 kernel checks the settings of DOS_RMSIZE and DPMI_MEMORY_LIMIT before committing the memory it would allocate to the session. The new WIN-OS/2 3.1 kernel will allocate 1MB for the DOS virtual machine and partially commit the DPMI memory that was asked for. By adjusting the settings for DPMI memory, you can drastically reduce the overhead associated with the memory management

How to Reduce Memory Resource Usage

To reduce system memory resource usage, use a Common Seamless session whenever possible since only one VDM will be started for all of the WIN-OS/2 Seamless sessions. Also, reduce the amount of EMS and XMS memory allocated to your sessions if your application do not require it. While the session only allocates linear address space, some applications try to touch all memory just to see what is available. This will increase the memory required to run the application and may increase the size of the swap file. If you are not sure if your application(s) use EMS or XMS, then reduce the amounts from the default 2048 KB to 64KB. This will provide enough memory for applications to run without causing application failure with applications requiring EMS or XMS memory support.

How to Improve Cut and Paste Operations

New user interfaces are provided in WIN-OS/2 3.1 to enable specifying the Clipboard and DDE as either "Public" or "Private". By default, both Clipboard and DDE for both OS/2 and WIN-OS/2 are public, you can exchange data among programs running in DOS, OS/2, and WIN-OS/2 sessions. If the WIN-OS/2 Clipboard and DDE are set to private then the data exchange is only allowed among programs running in the same WIN-OS/2 session. There are two ways you can set the operating mode for the Clipboard and DDE. You can select the operating mode of Clipboard and DDE for all WIN-OS/2 sessions through a new global WIN-OS/2 setup object in the Workplace Shell. For local settings, effective only to the single VDM session, you can use the new settings provided in the WIN-OS/2 Settings notebook page (WIN_CLIPBOARD & WIN_DDE). If your application does not exchange data with a DOS or OS/2 application then you should set the Clipboard and DDE to private for better perform- ance.

WIN-OS/2 Settings

Settings for WIN-OS/2 sessions can be changed globally, using the WIN-OS/2 Setup icon found in the System Setup folder. Settings can also be changed for specific sessions, using the application settings notebook. Changes to the WIN-OS/2 Setup icon will change all Windows applications that start after the change is made. The WIN-OS/2 Setup settings will not override any custom values set for applications. This allows you to change settings easier when you have multiple applications. There are two new settings for WIN-OS/2 3.1.

WIN_RUNMODE
In WIN-OS/2 3.1, the WIN_RUNMODE Settings option has been changed to include two radio buttons for selecting either one of the two modes - 3.1 Standard or 3.1 Enhanced Compatibility. The default is Standard.
DOS_AUTOEXEC
The DOS_AUTOEXEC setting is new in WIN-OS/2 3.1. This setting allows the application to run in different DOS environments. You can now specify the AUTOEXEC.BAT file to be executed when the VDM session is started. The default is blank, and the AUTOEXEC.BAT found in the root directory will be used.

There are several other settings that affect the performance of your WIN-OS/2 session that are the same as in OS/2 2.0.

WIN_DDE
This setting allows WIN-OS/2 to share DDE information between WIN-OS/2 and OS/2 sessions. For better performance, this setting should be set OFF, but only if you are not exchanging data via DDE between OS/2 and WIN-OS/2 applications. This should be set to Off for private data exchange between DOS applications. The default is ON.
WIN_CLIPBOARD
This setting allows WIN-OS/2 to share clipboard information between public WIN-OS/2 and OS/2 sessions. For better performance this setting should be set to Off for private data exchange between WIN-OS/2 applications. Only set this setting Off if you will not be exchanging clipboard data between OS/2 applications and WIN-OS/2 applications. The default is ON.
DOS_BACKGROUND_EXECUTION
Allows DOS applications to run in the background.
  • When the setting is set to On a Windows application runs when it is in the background.
  • When the setting is set to Off a Windows application is suspended when it is in the background.

When the Windows application is suspended, it no longer receives interrupts. For example, if users have a polling application running on the background, it may slow down the foreground application. Thus, the setting may be turned on to gain the foreground performance. The default is On.

VIDEO_8514A_XGA_IOTRAP
This setting is used to directly access the Model 8514/A or XGA video. Setting this to Off will make an application run faster. It releases the 1 MB of allocated memory where video information is saved in a WIN-OS/2 session, specifically when executing with the 8514/A display driver, certain operations such as painting a dithered background will run faster. Set this to On for all WIN-OS/2 sessions that run in 8514 or XGA video modes. The default is Off.
VIDEO_SWITCH_NOTIFICATION
This setting is used to notify the DOS program when the session switches to or from a full screen VDM session. WIN-OS/2 understands this notification and will redraw the screen when the screen is switched. For WIN-OS/2 sessions, set the to ON. The default is On.
Note: This setting must be ON if the VIDEO_8514A_XGA_IOTRAP is set OFF.
INT_DURING_IO
Allows interrupts to be handled during file reads/writes. This setting is primarily designed for DOS multimedia applications and should be turned on when the user runs such applications. The default value is Off.
DOS_RMSIZE
Defines the amount of conventional memory available to WIN-OS/2. This setting is used to decrease the amount of available memory to less than 640 KB. Do not decrease this value for WIN-OS/2 sessions. The default value is 640 KB.
DPMI_MEMORY_LIMIT
Defines the amount of DPMI memory available to the WIN-OS/2 session. This setting enables you to specify the amount of DPMI memory for the Windows applications on a per session basis. The field for this setting contains values expressed in megabytes. The default value is 64 MB. The range is 1 to 512.

Tuning for DOS Applications

Full Screen vs. Windowed

DOS applications (non-graphical) perform well in a windowed session. For example, DOS fileintensive applications such as FoxPro 1.0 perform well while running in a VDM windowed session. DOS word processors such as WordPerfect 5.1 and Word 5.0 also perform well in a windowed DOS session. DOS programs doing intensive text or graphical display will run slower in a windowed session compared to a full screen session. The main reason is that the full screen session allows data to be directly written to video memory while the windowed session does not.

Multitasking DOS sessions

OS/2 2.x allows users to run more than one VDM session. It provides the ability for all DOS and OS/2 sessions to timeshare the CPU and other system resources. It is important to note that DOS applications, unlike OS/2 applications, rarely block. They consume CPU timeslices even if they are in the background or appear not to be doing anything useful (e.g., polling keyboards or other devices.) This is controlled by the DOS setting Idle_Sensitivity. Some applications recommend that the idle sensitivity be set to a high value. Those applications may contain functions that appear to OS/2 to be polling, and the lower setting on idle sensitivity may cause a functional problem. If your application has functions that appear to 'hang' when the idle sensitivity is set low, increase idle sensitivity to a value where the function works correctly.

Another option is to set the DOS_BACKGROUND_EXECUTION to Off. This makes the foreground job and other OS/2 jobs run faster as there will be no background DOS applications competing for the CPU usage. This also allows idle sensitivity to be set higher than the default value, which improves the foreground DOS application.

Running Interrupt-critical DOS sessions

Some DOS applications require fast and stable hardware interrupt support. For instance, DOS communication programs need a steady data flow from COM ports. Since the VDM session are virtualized, there are some inherent interrupt limitations. For a DOS communication application, the data processing rate can reach 9600 bps for a single-character buffer com port. This value is reduced when running multiple communication application applications concurrently, to a total of 9600 bps. Similarly, DOS multimedia applications require constant timer interrupts. By the nature of the VDM interrupt mechanism, interrupts may get simulated into the application(s) not at constant time intervals but in a clustered fashion. Therefore, if the DOS application depends on timer interrupts, you may encounter some unpredictable behavior.

DOS Settings

Every object (including program objects) has settings. You can adjust DOS and WIN-OS/2 settings to improve performance. Settings are properties or characteristics that tell the operating system how one object is different from other objects. Each object has a notebook or pop-up menu choice that allows you to customize settings. For example, you can customize the settings for a program object to tell the operating system how the application should start each time the program object is opened. You might open the Mouse object to customize the mouse for left hand use.

Performance Tuning

DOS settings provide the ability to selectively configure and customize a DOS session to meet the requirements of a particular application. Some DOS applications require certain features; others operate better without them. Thus, an individual DOS session can be set up to provide the optimum environment for the application that will run within it. All settings can be changed before the session is created. Some settings can also be set at any time, even while an application is running in the session. The Master Help Index has detailed information about settings.

The following is a list of settings that affect the performance of your DOS applications.

IDLE_SENSITIVITY
Specifies a threshold for judging when an application is considered idle. The value is the percentage of the maximum possible polling rate the application can perform. If an application polls at a rate higher than this value, it is considered idle. Idle detection is a "best guess" of what the program is doing. It could be that the program is polling at a very high rate, but is still doing useful work in between checking. It may be that the application checks at a fairly slow rate but is doing nothing but waiting. The idle sensitivity threshold allows you to adjust the threshold for each application.
Increase the percentage if the application can receive input while running and seems to run more slowly than expected. Selecting 100 in this field turns idle detection off, and the application can poll as often as necessary without operating system intervention. Be aware that polling applications are detected quicker on fast systems than on slower systems. This means that the value on different speed systems must vary - decrease the value on faster systems. Example: If a polling DOS application with idle_sensitivity set to 50 on a 33 MHz CPU is detected as exceeding the threshold and forced to yield its timeslice by OS/2, it may not be detected as exceeding the threshold on a 16 MHz system with the same idle-sensitivity value. The 16 MHz system will need to set a lower value before OS/2 will consider the same application as exceeding the threshold and cause a yield. Overall system performance can usually be improved when there are multiple DOS applications running if the value is set lower. For additional information on the setting see "Multitasking DOS sessions". The default value is 75. The range is 1 to 100.
IDLE_SECONDS
Specifies the length of time, in seconds, the operating system waits before applying idle detection in a DOS session.
This setting works with the IDLE_SENSITIVITY setting to help control polling DOS applications. You can increase this value if you have an application that waits for input or at a prompt (like a game). The default value is 0. The range is 1 to 60.
DOS_DEVICE
Adds or modifies information about DOS device drivers for the specified VDM, in addition to the information specified in CONFIG.SYS.
This setting allows you to specify a specific device driver for a specific application. This means that you do not have to load all DOS device drivers at boot time, but instead you can have the device driver(s) loaded when the application that uses it is started. You may add, change, or delete the device drivers using this setting via the list provided. Device drivers should be loaded with the DOS_DEVICE setting instead of in the CONFIG.SYS, unless you want the device driver loaded for all DOS sessions. For example, a program to support hardware such as a scanner may include a device driver that is needed only for that particular program. This device driver should be loaded using the DOS_DEVICE setting, not globally in the CONFIG.SYS. The default has no drivers.
DOS_BACKGROUND_EXECUTION
Allows DOS applications to run in the background.
When the setting is set to On, the DOS application runs when it is in the background. The setting may be turned OFF to gain foreground performance. When the setting is set to Off the DOS application is suspended when it is in the background. The default is On.
INT_DURING_IO
Allows interrupts to be handled during file I/O.
This setting is primarily designed for DOS multimedia applications and should be turned On when running a multimedia application. Other DOS applications that do not require long file read/write should leave it Off as it will cost more memory and system overhead. The default value is Off.
DOS_AUTOEXEC
Allows customizing the selection of an AUTOEXEC.BAT file. This allows setting a specific AUTOEXEC.BAT file for each VDM session or each DOS application. This allows you to customize the VDM autoexec, helping to reduce memory and optimize function. Also see "How To Specify a Different AUTOEXEC.BAT File" for additional information.
The default is the AUTOEXEC.BAT file in the root drive.
VIDEO_RETRACE_EMULATION
Controls the frequency of video retrace.
A few DOS applications run more slowly with this setting set to On. Changing this setting to Off increases performance, but screen switching is not as reliable.

When set to off, retrace occurs only at the interval specific to the video mode of the running DOS application. The default is On.

VIDEO_8514A_XGA_IOTRAP
This setting is used to directly access the Model 8514/A or XGA video.
Setting this to Off will make an application run slightly faster. It releases the 1MB of allocated memory where video information is saved in the DOS session. The default is Off
VIDEO_SWITCH_NOTIFICATION
Notifies a DOS graphics application about a switch between background and foreground.
When this setting is On, programs that monitor screen switching will save or redraw the screen when the screen is switched. The default is On.
DOS_FILES
Specifies the maximum number of file handles which may be opened in a VDM.
Setting this value higher than the default may improve performance for applications which use a large number of files. For example, DBase IV requires a DOS_FILES setting of at least 40. Setting it higher than necessary reduces the available memory. Refer to your application documentation for the recommended value. The default is 20. The range is 20 to 255.
VIDEO_FASTPASTE
The fast paste setting is used to increase the speed of input other than the keyboard (i.e. character Cut and Paste transfers).
Set this to On to increase the character speed of Cut and Paste transfers. Pasting into a DOS session or application will generally work. However, some applications can fail when using fast pasting because they buffer key-strokes in an internal buffer, which can overflow. The default is Off.
DOS_FCBS
Specifies the maximum number of file control blocks (FCBs) which may be opened by applications running in the VDM.
Note that this setting affects only DOS applications which use file-sharing. Some applications use many FCBs, so this number should be set high. Refer to your application documentation for the recommended value. The default is 16. The range is 0 to 255.
DOS_FCBS_KEEP
Specifies the number of FCBs that will be protected against automatic closure.
This setting specifies the number of FCBs that are protected against automatic closure. This may improve application performance. The default is 8. The range is 0 to 255.
DOS_BREAK
The break setting is used when you want OS/2 to check for the Ctrl+Break or Ctrl+C key combinations while an application is running.
If you want to have the option to interrupt a DOS batch file running in a VDM in a faster way, this setting should be turned on. However, DOS applications will run slower when this setting is set to On. The default is Off.
VIDEO_ROM_EMULATION
Controls the emulation of video functions like WriteChar, WriteTTY, and full-screen scroll for BIOS Int10 processing.
Leave this setting ON because the emulated functions enhance performance over most manufacturers' ROM versions of the same functions. Select Off only if video read-only memory (ROM) provides enhancements to these video functions, or if your application uses Int10 functions which are not emulated. The default is On.

Memory Tuning

The OS/2 2.x CONFIG.SYS file specifies the operating system configuration and installs device drivers and other memory resident applications. The OS/2 2.x AUTOEXEC.BAT file is specific to the functioning of the DOS session. To allocate additional memory to applications running in a DOS session, some commands can be moved from the AUTOEXEC.BAT to settings. The following describes what settings can be changed to maximize memory in a DOS session. Also see the sections on CONFIG.SYS and AUTOEXEC.BAT.

DOS_HIGH
Determines whether DOS is loaded outside the 640K low memory address space. Loading DOS into high memory allows more available memory for application code and data within the 640KB address space. The default is Off (DOS is loaded into low memory).
MEM_EXCLUDE_REGIONS
This setting is used to specify address ranges which should be protected from use by EMS/XMS and direct access by applications. This setting is intended for experienced users who understand the hardware.
Note that if these ranges are defined excessively, they will adversely impact the function and performance of EMS and XMS services. The default is blank.
MEM_INCLUDE_REGIONS
Specifies regions which should be made available to EMS/XMS. This setting is used to specify some address ranges between RMSIZE and 1MB for use by EMS and XMS. If there is a hardware adapter in this range which you know is not going to be used by a particular VDM session, then the address range used by the adapter should be made available to EMS and XMS. This will improve the performance of EMS and XMS services. The default is blank.
HW_ROM_TO_RAM
Copies the Basic Input/Output System (BIOS) from ROM to RAM.
When this setting is set to On, applications might run faster due to the fact that BIOS services run slightly faster in RAM than in ROM. The default is Off.
VIDEO_ONDEMAND_MEMORY
Reduces swap space requirements for full screen VDMs.
Selecting On allows a full screen VDM to run without pre-allocating a virtual video buffer for high-resolution graphics modes. Using this setting does not prevent execution of graphics application. It means that allocation of the buffer is delayed until it is needed.
This can save a substantial amount of memory/swap space, which might be important under certain low-memory conditions. It also enables you to start a program quickly. If the allocation of a virtual video buffer for a full screen VDM fails at the time the application changes video modes, the sessions will be frozen and you must switch back to the shell to free memory. Unless you are able to free memory from another session, you may be unable to get the DOS application running again. This is a concern if the application contains unsaved data. The default is Off.

Performance considerations for DPMI: DPMI provides direct access by DOS applications to > 1 MB of memory in protect mode. There is one setting that can affect system performance.

DPMI_MEMORY_LIMIT
Defines the amount of DPMI available to a DOS session. This setting enables you to specify the amount of DPMI memory needed for DOS applications on a per session basis. The field for this setting contains the value in MBs ranging from 0 to 512. The value may be 0 if a DOS application does not need DPMI. The default value is 4MB.

Performance considerations for XMS: XMS provides compatibility for DOS applications that require XMS. There are three settings that can affect performance.

XMS_MEMORY_LIMIT
Specifies the amount of memory that a DOS session can allocate to XMS. This setting is expressed in KB units, ranging from 0 to 16384.
Specifying a large number for the extended-memory limit can slow performance. The default value is 2MB.
XMS_HANDLES
Specifies the number of XMS extended memory block (EMB) handles. A handle is used with each XMS EMB. This number is required because XMS pre-allocates all the handle spaces to be compatible with XMS specifications. This setting should be used only if an application uses a large number of handles.
Reducing this number will reduce memory consumption. On the other hand, specifying a large number of handles will increase memory consumption and adversely impact system performance. The default value is 32.
XMS_MINIMUM_HMA
Specifies the minimum High Memory Area (HMA) memory request allowed. This setting allows fine tuning XMS. The High Memory Area is slightly less than 64KB in size. Only one request can be handled in this area at a time. If a value is set, then only an application that requests an equal or greater amount will be allowed access to this memory. Subsequent requests and requests smaller that the value set will not be satisfied. The default value is zero, and is optimal in almost all conditions. The range is 0 to 63KB.

Performance considerations for EMS: OS/2 2.x provides full EMS support for DOS applications. As OS/2 2.x uses virtual memory to emulate the DOS EMS system, there is some degree of performance degradation when running a DOS applications involving EMS, compared to native DOS. Most of the overhead is due to the management of large data structures within the virtual memory system. The advantage of using virtual memory to emulate DOS EMS is that it allows large expanded memory to be supported with little limitation from physical memory. In some cases, DOS applications may declare more expanded memory than the total size of the physical memory.

The following settings affect EMS performance:

EMS_MEMORY_LIMIT
Defines the amount of EMS available to the DOS session. This setting is expressed in KB units, ranging from 0 to 32768. The value should be 0 if a DOS application does not need EMS. This might improve performance. Programs generally state whether they use EMS on the box or in the manuals. This setting enables you to limit the amount of EMS that an application reserves, which prevents an application from allocating more memory than necessary. A limit that is too high can slow performance.
The default value is 2MB. The range is 0 to 32768 in 16KB increments.
EMS_LOW_OS_MAP_REGION
Some programs can use remappable conventional memory. Others do not use this feature. This setting allows advanced users to set the size of the remappable conventional memory available in a VDM. The default is 384KB. The range is 0 to 576 in 16KB increments.
EMS_HIGH_OS_MAP_REGION
In addition to the EMS page frame, some programs can use additional address ranges to access expanded memory. This setting gives you the capability to adjust the size of the additional EMS region. The default is 32KB. The range is 0 to 96 in 16KB increments.

Improving Printing Performance

Printing performance can be tuned by changes to printer and job property settings, changes in the CONFIG.SYS and by using the spooler settings. Some of these changes are generic and affect all printing. Some of the changes affect only certain types of printing. Not all settings listed in this section are available for all printers, but, if available, they do change the performance of printing on your system.

Printer Settings

Every object (including the print object) has settings. A user can adjust these print settings to improve performance. In OS/2 there are Job Properties and Printer Properties. Job Properties work in conjunction with the printer driver object's Printer Properties. These settings can be found in the printer object notebook. Not all settings are supported by all printers. Printer driver settings include job properties such as orientation, fonts and resolution. Queue options include printer specific format and print while spooling. Print options includes start and stop times.

The choices you make for both printer properties and job properties will be overwritten by applications that permit the specification of job properties on a per-job basis. In this case you must check that the options are chosen correctly within your application. The following are properties that affect performance. Memory (KB) By specifying the amount of memory your printer has, the printer driver can determine if compression is to be used. Compression reduces the amount of data that has to go to the printer, improving performance.

Resolution

This option allows you to vary the resolution of your graphics printing. The selections are usually presented in terms of "dpi" (dots per inch). The higher the number the better quality your print will be. The drawback is that it will also take longer to print. However, you can use a low number for draft output and select the highest number for printing the finished version. A printer's memory size can limit the resolution you can choose.

Compression

This option compresses graphic print data which has the advantage of faster printing for most jobs that contain graphics. Two common types of compression are G4 and TIFF Packbit Byte.

  • G4

This improves the printing of graphic data that does not have large numbers of alternating bits, for example, large areas that are filled with solid color. G4 is available on all IBM 4029 printers and IBM 4019 models that support Form Feed Time Out. The 4019 models do not support G4 when printing in landscape mode.

  • TIFF

This improves the printing of graphic data that consists mostly of repeating bytes, for example, large areas having one type of fill pattern.

Fast System Fonts

You can elect, via this option, to download (copy) OS/2 system bitmap fonts, to the memory of your printer. They will be copied to the printer as a device bitmap font. The advantage is that a device font uses a smaller spool file and prints quicker than a font printed in raster (graphic font) form. If overlaying system fonts with graphics, or if print output differs from that shown on the screen, then disable this option.

Printer Patterns

Pattern filling commands will be directly sent to the printer instead of asking the operating system to perform the pattern filling. This reduces the spool file size for pages that contain dense graphics (shaded and patterned rectangular areas), and large scaled text. These improve printing speed. This option should not be used if printer output patterns must exactly match patterns displayed on your screen, nor if there are overlapping shaded or patterned graphics in your document.

HP-GL/2

This option enables HP-GL/2 output. This allows the supporting of many more graphics commands in the printer. This will allow faster printing of graphic objects such as lines and circles. This also reduces the spool file size and helps to print more quickly. For faster output, enable Page Protection (which may require additional printer memory) on both the printer and Printer Properties dialog and use HP-GL/2.

Large Buffers

Large Buffers allow the printer drivers to use more of OS/2's memory in order to speed up printing. Around 4 MB is used for printing so system memory should be at least 8 MB. If this option is set to OFF, then smaller memory requests, around 1 MB will be used conserving memory. If you have less than 8MB of system memory, then it is better not to use this option.

Print While Spooling

The Print while spooling option allows the printer to start processing the print job before the application has finished sending the entire job to the spool queue. Print jobs formatted in printer-specific format (PM_Q_RAW) can speed up printing by using Print While Spooling.

This "threading" will increase throughput but could cause timeout problems while printing large files with images. To solve this problem you can disable the Print While Spooling option or you can increase the timeout value setting in the port object. The default is On.

Start and Stop Time

Start Time and Stop Time can be entered for each print object. For example, time settings for "lunch time", 12:00p - 12:50p, can be used which enables printing when you are not there.

Fonts Impact Print Speed

Fonts can be stored in several places. They can be built into the printer, housed on a cartridge that's plugged into the printer, or reside on your system and be downloaded to the printer as needed. When you use printer-based fonts, whether built-in or on a cartridge, you can print faster than if you first have to download them. Fonts are either bitmapped or scalable. With a bitmapped font, each character is stored as a collection of individual pixels, so you need a separate definition for each point size. Scalable fonts, also called outline fonts, are stored as algorithms.This means that the system can generate the font in any size using the algorithm. Generating scalable fonts takes time. If you're using one font in just one size to format an entire document, the extra time may be hardly noticeable. If you're using a lot of different fonts, the time may be considerable. You can use any combina- tion of these font variations, bitmapped or scalable, stored in the printer or in the computer. Clearly, you'll get the fastest printing with bitmapped fonts stored in the printer (see Fast System Fonts), and the slowest with scalable fonts stored in your computer. Despite the speed disadvantage, there are strong arguments for storing fonts on your computer and for using scalable rather than bitmapped fonts. First, most printers have room for only one or two font cartridges. So if you want to add new fonts to your library, you have to switch cartridges when you want to use them. It's easier and much more efficient to store them on your hard disk, where they're all available at the same time. An advantage to scalable fonts is that you're guaranteed to have the typeface available in any size you'll ever need. Scalable fonts require far less storage space on-disk, or in your printer, than a set of equivalent bitmapped fonts in a range of sizes.

OS/2 Spooled Printing

Printing through the spooler will provide the best performance on your system. Here are some settings that can affect printing performance, with suggestions.

OS/2 Spooler

For optimal performance, it is recommended that the OS/2 spooler always be enabled. The spooler provides flexibility while optimizing the use of the system's print resources. The OS/2 spooler can print a job in the background while you continue using the application. You can now set the spooler's print priority via the spooler object setting. The OS/2 spooler can support a number of printers simultaneously and can be configured so that jobs on a single queue can be shared among all the printers. This load balancing, called pooling, is particularly important in server environments and can be achieved without the knowledge of your applications.

Jobs can also be reprioritized while they are waiting in the queue. For example, an urgent job can be given a higher priority than other queued jobs or can be selected to print next, see Changing a Print Job's Priority.

Spool Path

If print jobs are very large, you may assign a different spooler path (drive or path) that has more space than your install drive. If your print usage is heavy, you want to place the spool file on your fastest hard disk. The spool path is a setting of the spooler object.

Print Priority

The OS/2 spooler now has a setting called Print Priority. This allows you to vary the spooler's priority from low to high. The default setting allows printing to be balanced with your use of the desktop and your applications. If your application appears to be printing slowly, you may want to choose a slightly higher value so that printing will complete faster. If you choose a higher value, OS/2 will let print jobs print faster, but this may cause your desktop or applications to respond slower. In a print environment where very little on screen work is performed or where print performance is of utmost concern, you should increase the value. Priority changes become effective when you close the spooler object folder. The default is 95.

Spool File Formats

There are two formats of spool file data. They are the standard (PM_Q_STD) or the raw (PM_Q_RAW) spool file data formats. The standard format is much preferred as it consumes much less disk space than the raw format file. Having less data to send across the parallel port saves time in getting the data into the printer's buffer. Network traffic is reduced if printing across a LAN.

Changing a Print Job's Priority

Changing a print job's priority will cause that particular print job to print before any other queued job. To do this, click on the print job you wish to change. Use mouse button 2 to display its context menu, and then select print next.

You can change the priority of a print job so that it can print before or after other jobs queued. To do this, click on the print job you wish to re-prioritize. Use mouse button 2 to display its context menu. Open Settings and change the value in the Priority field. Note: Once a job has started printing, it is no longer possible to change its priority, the Settings option is not available.

Printing from DOS

While there are no performance specific tuning options, there are two things to check. Do not use the LPTDD.SYS device driver unless necessary. (The DOS application is using INT 21h and is not closing the LPT1 handle). This will slow down your DOS printing performance. The other is the DOS setting called PRINT_TIMEOUT. This is useful for DOS applications which do not explicitly close their print jobs. This is the time that OS/2 waits before forcing a print job to the printer. A timeout of 1 or 2 seconds is sufficient for small print jobs, such as copying the contents of the screen. However, when printing large files, formatting documents, or running calculations, the value must be set high enough to allow all print results to reach the spooler before the time limit expires. If not, results go in two or more spool files instead of one, and the resulting output may be unsatisfactory. The default time is 15 seconds.

Printing from WIN-OS/2

You should always keep the OS/2 Spooler enabled to get the most benefit out of the OS/2 print subsystem. This will assure that even from the WIN-OS/2 environment, printing is done in a separate thread. You should also keep the WIN-OS/2 Print Manager disabled unless you are using a COM attached printer. That is, always keep the WIN-OS/2 Print Manager icon closed.

The OS/2 Spooler allows multithreading and can deal with huge print files, even while you work in WIN-OS/2. Print jobs sent from any WIN-OS/2 application to a parallel attached printer won't show up in the WIN-OS/2 Print Manager. In this case if you need to view or manipulate these print jobs, use the correct OS/2 printer object on the Workplace Desktop.

  • WIN-OS/2 Ports and Drivers

You should direct application output to LPTn.OS2 (where n is 1,2,3) wher possible. LPTn refers to the physical printer port. LPTn.OS2 is a file which is intercepted by WIN-OS/2 and routed directly to the spooler. This will provide improved performance over the standard LPT port assignments. You should always install equivalent printer queues in the OS/2 Desktop for your WIN-OS/2 printers even if you are only going to print to them from WIN-OS/2. If there is no equivalent OS/2 printer driver available then use the IBMNULL.DRV printer driver found in the OS/2 printer object.

  • WIN-OS/2 COM Attached Printer

If you have a COM attached printer and you would like to have your print jobs spooled, then enable the WIN-OS/2 Print Manager. This should be the only reason for you to use the WIN-OS/2 Print Manager. Remember that print jobs directed to LPTn.OS2 and LPTn will still go through the OS/2 Spooler.

Improving COM Performance

Changes can be made in both CONFIG.SYS and DOS_SETTINGS that can affect the performance of communications applications. You must check the settings as they may affect other applications running concurrently. In general, the speed of your system will also affect the ability of your communications program to achieve high baud rates and to multitask. CPU intensive and disk intensive foreground applications/operations will affect the performance of your communications application when it is in the background.

The following settings will affect the performance of communications applications.

PRIORITY_DISK_IO
Changing PRIORITY_DISK_IO to NO in CONFIG.SYS will improve the performance of communications applications running in the background that are doing disk I/O, if there is foreground work being performed that is also doing disk I/O. See the CONFIG.SYS, page 29 for additional information.
INT_DURING_IO
This DOS setting set to ON allows interrupts to be handled during file reads and writes.
This setting turned ON may help the performance of your communications program that performs disk I/O that requires long read and write operations. See DOS Settings, page 39 for additional information.
IDLE_SENSITIVITY
This DOS setting, set to 100, turns idle detection off, and the application can now poll without operating system intervention.
See DOS Settings, page 39 for additional information.
HW_ROM_TO_RAM
This DOS setting set to ON may speed up your DOS communication program because it allows the operating system to copy BIOS from ROM to faster RAM which might run the application faster because BIOS services will run faster in fast RAM than slow ROM.
See DOS settings, page 42 for additional information.

Does the Hardware Impact Performance on OS/2?

Performance of any system can only be as good as the hardware and software work together. Some hardware advantages must be exploited by the software to provide the added function or improved performance. OS/2 attempts to exploit these advantages. Other hardware advantages provide additional function or improved performance without requiring specific software. To fully cover improving performance of OS/2, some general hardware information is included here.

The three main areas where performance for any system can be bottlenecked are memory, disk and CPU. Memory bottlenecks occur when attempting to run more programs in memory than there is actual system memory. The hardware allows operating systems to execute beyond the real system memory by allowing paging or swapping Both paging and swapping allow code and data to be moved from memory to disk. Paging is the term used in virtual memory systems, and swapping is the term used in segmented systems. As paging or swapping continue, system performance degrades as access time to code or data written to disk now includes the disk access time required to read back into memory information that was moved out. It probably also required moving off to disk some information to make room for the returning information. This activity can cause extremely poor performance.

Disk bottlenecks occur when the operating system or application(s) require large numbers of disk accesses quickly. Since the hard disk must complete one I/O request before starting the next request, multiple requests can start to queue, causing poor performance. Between I/O requests the hard disk must move the head from one location to the next. Hard drives use average seek time to show overall performance for I/O operations. Smaller seek times provide faster system response times for I/O requests.

CPU bottlenecks occur when multiple concurrent tasks require processor time. Since operating systems like OS/2 allow concurrent processing among multiple tasks, the likelihood of becoming CPU constrained is increased. Additional processor speed (described in megahertz) will allow faster completion of CPU requests. As with any operating system, hardware limitations or advantages affect the overall system performance. Processor speed, memory speed, hard drive access time, instruction caches and data caches all influence performance. More specific information on the impacts follow. Generally speaking, just adding more memory may not be the answer to improving performance on a system. Specifically on OS/2 2.1, the following generalities are true. On an 80386SX system, greater performance overall will be realized by upgrading to an SLC, an 80386DX or an 80486 (or higher) processor. For disk I/O bound applications, especially where the I/O requests are large (data bases, word processors) or small but sequential (spread sheets, compilers), upgrading to a hard disk that has on-board caching will improve performance. If a system is memory overcommitted (swap file is > 4 times system memory), performance will improve by adding more memory.

CPU

Upgrading the CPU will improve performance in instruction intensive applications (graphical intensive applications like CAD, computational programs like a spread sheet recalculation). Performance improvements vary based on the upgrade. Upgrading a PS/2 Model 56 SX or 57 SX to a 386SLC can double the performance, and moving to a 486SLC can improve performance by 4 times for compute bound tasks. The 80386SX has an internal data bus of 16-bits, therefore 32-bit instructions will become two instructions internally. Without any instruction caching to buffer this, 32-bit instructions will perform slower than 16-bit. This is the basic reason that OS/2 2.1 on an 80386SX system does not show the same performance improvements that other processors show.

If you have a system where your performance is not acceptable, and the system is an 80386SX, upgrading the CPU will provide performance improvements. Adding memory on 80386SX systems does not appreciably improve the overall system performance. If the additional memory is not on the system board, then performance may be slowed even further.

Memory

Memory is generally available on the system board, in SIMMs and/or on adapter cards. The speed of the memory is expressed in nanoseconds, and the lower the value the better. While memory speed itself is important (faster memory provides faster access to information stored there), installation is also. Memory on the system board (or planar) can be accessed by the processor faster than memory located on an adapter card. The adapter card memory requires access through the system bus, slowing down the time from processor to memory. Having adequate memory in a system will also reduce the disk access because paging or swapping is decreased. If OS/2 does not have to handle paging I/O requests along with application I/O requests, system performance will improve. If the swap file is large, and changing from one application to another results in I/O requests, the system would benefit from additional memory.

Displays

OS/2 2.1 supports the displays of VGA, XGA, SVGA, 8514, CGA, and EGA. Video Graphics Array (VGA) was introduced by IBM in 1987 as the base video for all IBM PS/2 systems. At the same time, the IBM 8514 Display Adapter/A was introduced to meet customer requirement for high-resolution graphics. Extended Graphics Array (XGA) is the latest IBM solution to high-resolution graphics. It has employed many new technology advances and is a good choice for high performance display. To compete with IBM's VGA standard, many manufacturers of video adapter cards formed the Video Electronics Standards Association (VESA) to promote higher-resolution, more-color displays. Video modes supported by VESA are often called Super VGA (SVGA). Though CGA and EGA are supported by OS/2 2.1, due to the limited display capabilities, they are not recommended.

VGA
VGA has existed long enough that almost every video adapter card and monitor is highly compatible with the VGA specifications. The resolutions available in OS/2 2.1 are 640 x 480 x 16 colors, and 320 x 200 x 256 colors. VGA mode is also supported on XGA and SVGA display adapters.
SVGA
OS/2 2.1 supports several SVGA chip sets. See "Display Selection" ET4000 is widely used in display adapters, e.g., ProDesigner IIs by Orchid Technology Inc.,

PowerGraph VGA by STB Systems, Inc., and some IBM PS/1 and ValuePoint systems. Compared with XGA subsystems, these SVGA display adapters provide an inexpensive alternative to high-resolution graphics, but the performance is not as good as XGA. The SVGA drivers shipped with OS/2 2.1 are 256 color drivers with three different resolutions. With 0.5 MB VRAM, you can only run in 640 x 480 x 256 color mode. 1.0 MB VRAM is required to run in 800 x 600 x 256 and 1024 x 768 x 256 color modes. As you might expect, higher resolutions lead to slower performances.

Additionally, the OS/2 SVGA display drivers are generic device drivers, and are not optimized for any particular video adapter. The supplied drivers may be used with adapters that have the supported chip sets. The manufacturer's driver may be optimized to provide better video performance on their specific hardware. However, the vendor drivers may not support all the functionality of the OS/2 drivers, such as seamless, OS/2 Palette Management, Multimedia support, etc.
XGA & XGA-2
XGA is IBM's current standard for high-resolution graphics. Instead of the Dynamic RAM (DRAM) used in most VGA subsystems, XGA has employed the Video RAM (VRAM) technology, which allows the XGA display controller update the video data in the VRAM simultaneously while the VRAM is busily refreshing the display. With the new Hardware Drawing Assist functions, the XGA display controller can directly draw the data stored in video display buffer. These functions allow lines to be drawn, blocks of data to be moved (Bit-Blt), and areas of color to be filled in on the display. With 0.5 MB VRAM, XGA can run in 640 x 400 x 256, 640 x 480 x 256, and 1024 x 768 x 16 color modes. It requires 1.0 MB VRAM to run in 1024 x 768 x 256 color mode.
The new XGA-2 subsystem offers more resolutions and faster performance than the original XGA. The major hardware improvements include external polling, non-interlace support, and faster VRAM. With external polling, graphics coprocessor status can be retrieved without interrupting the current processing.
The new XGA driver in OS/2 2.1 has made use of this new technology and performance is greatly enhanced. The ability of XGA-2 to display high resolution screens at non-interlaced refresh rates of up to 75Hz reduces flicker while enhancing usability and providing potential productivity gains. With the XGA-2 subsystem, OS/2 2.1 can display up to 65,536 colors in low resolution modes (640 x 480 and 640 x 400) as well as all the resolutions supported in XGA.
8514
8514 is IBM's old standard for high-resolution graphics. Several non-IBM display adapters, e.g., 8514 Ultra by ATI, also provide 8514 support. The driver shipped with OS/2 2.1 is the 16-bit driver shipped with OS/2 2.0. You can only run in 1024 x 768 x 256 color mode. With the 16-bit driver and the new 32-bit graphics engine, conversion overhead between these two components is inevitable. The performance is slightly slower when compared with OS/2 2.0.

Hard Drives

Hard drives, or fixed disks, affect the performance of boot time and application load time, as well as the performance of I/O intensive applications. Hard disk speed is expressed in average seek time, and the lower number the better. Faster seek times reduces the amount of time an operating system or application must wait until the requested data is returned. The following example shows information on 3 SCSI hard disks. Notice the increased transfer rate on the disk with only 1 ms faster average seek time.

Formatted Capacity(MB) 40 80 160 Average Seek Time(ms) 17 17 16 Data Transfer rate(MB/sec 1.35 1.35 1.50 Average Latency(ms) 8.3 8.3 8.3 Sector interleave 1:1 1:1 1:1

Interface SCSI SCSI SCSI

When upgrading your system, check the average seek time of the hard disk. Be certain to weigh larger disk space and average seek time against cost to determine the best hard disk for your system.

Hard Disk Caches

Hard disks or disk adapters can provide caching for I/O requests. Generally, an entire track is read into the cache memory and the data requested is transferred from that memory into system memory. Because an entire track has been read, there is less loss in head movement and rotational delay. Additionally, the next I/O request may be satisfied from the hard disk cache and the disk access time is removed. The greatest performance for cached DASD is seen in sequential I/O requests. Random, small size requests also see an advantage if more than 1/3 of the requests can be satisfied from the cache rather than reading from the disk. This is determined by the way the application accesses the data, and is generally not controlled by you. When upgrading your system, cached hard disks will generally provide petter performance overall.

Multiple Hard Disks

Some hard drive types cannot support multiple hard disks. Of the ones that do, only SCSI drives can handle concurrent I/O requests in multiple drives. This means that on a system with 3 SCSI drives, OS/2 can potentially overlap 3 I/O requests (one per drive). This improves performance in I/O intensive scenarios when disk requests are correctly balanced.

Parallel Printing

OS/2 provides support for advanced parallel port hardware. If the machine supports Micro Channel and uses Direct Memory Access (DMA) for its parallel port, then OS/2's Print Device Driver (PRINT02.SYS) significantly improves the speed in which data is sent to the printer, in excess of 100 KB per second. This allows OS/2 to improve print performance as well as spending more time running applications because of the DMA's quickness.

Communications

Machines with a buffered UART (for example NS16550A) will have better performance than machines without buffering (for example NS16450).

Appendix A. Top Tips to Improve Performance

This is a list of the top 13 performance tips for OS/2 2.1 MEMORY CONSTRAINED (4 meg) and/or 80386SX systems.

  1. Disable Animation (page 18)
  2. Eliminate all extraneous processes (clock, CPU meters) (page 19)
  3. Only use FAT file system (page 24)
  4. Remove IFS= line for HPFS (if not used) (page 29)
  5. Upgrade processor and/or memory as needed (page 50)
  6. Minimize apps & folders between uses (rather than close and reopen) (page 19)
  7. Remove unused device drivers from CONFIG.SYS (page 39)
  8. Leave diskcache at 128 KB (page 28)
  9. Limit the number of concurrent applications (page 19)
  10. Limit background processing when working in the foreground (page 19)
  11. Limit communication BAUD rate (page 38)
  12. Limit concurrent spooling (page 47)
  13. Optimize all paths in CONFIG.SYS (page 27)

This is a list of the top 7 performance tips for OS/2 2.1 SMALL DASD systems.

  1. Increase Available Memory (page 19)
  2. Only use FAT file system (page 24)
  3. Remove IFS= line for HPFS (if not used) (page 29)
  4. Add memory (page 50)
  5. Leave diskcache at 128 KB (page 28)
  6. Spool from 1 Application at a time (page 47)
  7. Use List of Tips for Memory Constrained

This is a list of the top 7 performance tips for Windows applications

  1. Tune WIN-OS/2 settings (page 33)
  2. Tune DOS session settings (page 37)
  3. Run multiple applications in one session (common) (page 35)
  4. Leave the Windows Spooler Disabled (page 48)
  5. Verify Adequate Amount of DPMI Memory (page 37)
  6. Reduce EMS & XMS memory allocations to 64K (page 35)
  7. Start Applications from the Icons (page 19)

This is a list of the top 8 tips for large, multitasking systems

  1. Verify the swap file is the correct size at boot time. (page 20)
  2. Use HPFS on large, busy disks. (page 8)
  3. Tune the file system caches(use SPM/2) (page 24 & page 28)
  4. Tune DOS and Windows session settings (page 33 & page 37)
  5. Use 32-bit applications (page 4)
  6. Startup LAN and Comm from their Directory (page 19)
  7. Replace Startup.cmd with the Startup Folder (page 19)
  8. Optimize the Desktop

Appendix B. Application Performance Measurements

The charts for this appendix will not be available until after OS/2 2.1 ships and the results are collected and charted. Look to IBM market tools and on CompuServe for these files.

Appendix C. Display Driver Performance

The charts for this appendix will not be available until after OS/2 2.1 ships and the results are collected and charted. Look to IBM market tools and on CompuServe for these files.

Appendix D. Removing Features

Sometimes, features are installed and later you would like to move them off to a server to reduce disk requirements, or you may wish to remove them. Here is a list of the files associated with some of the features and applets that can be deleted from your hard drive.

  • Advanced Power Management (APM)
Used on on those systems that contain the required hardware, usually notebook type systems.
\OS2\APM.SYS
  • Bitmaps
These are extra bitmaps provided for background display.
\OS2\BITMAP\SWAN.BGA
\OS2\BITMAP\LIGHTHOU.VGA
  • CID
These files are used for LAN installation of OS/2.
\OS2\INSTALL\SEDISK.EXE \OS2\INSTALL\SEINST.EXE
\OS2\INSTALL\SEIMAGE.EXE \OS2\INSTALL\SEMAINT.EXE
  • Command Reference
This file is the system command reference (on-line help).
\OS2\BOOK\CMDREF.INF
  • High Performance File System
These are the files associated with HPFS.
\OS2\CACHE.EXE \OS2\DLL\STARTLW.DLL
\OS2\HPFS.IFS \OS2\DLL\UHPFS.DLL
  • Linker
The linker files are used by application developers to link compiled/assembled files into programs. End users not developing applications might wish to delete these files.
\OS2\RCPP.ERR \OS2\RC.EXE
\OS2\LINK.EXE \OS2\RCPP.EXE
\OS2\LINK386.EXE
  • PCMCIA Support
PCMCIA support may not be needed on your system. You can remove this file.
\OS2\PCMCIA.SYS
  • REXX
End users that do not need REXX support can delete these files.
Note: REXX support is required for IBM Communication Manager Support.
\OS2\REXXTRY.CMD   \OS2\DLL\PMREXX.DLL
\OS2\PMREXX.EXE    \OS2\DLL\REXX.DLL
\OS2\RXQUEUE.EXE   \OS2\DLL\REXXAPI.DLL
\OS2\RXSUBCOM.EXE  \OS2\DLL\REXXINIT.DLL
\OS2\REX.MSG       \OS2\DLL\REXXUTIL.DLL
\OS2\REXH.MSG      \OS2\HELP\PMREXX.HLP
\OS2\BOOK\REXX.INF
  • RIPL
These files are used for remote IPL.
\OS2\HELP\RIPLINST.HLP
\OS2\INSTALL\RIPLINST.EXE
  • Tutorial
These file are used by the tutorial. If you have completed the tutorial and would like to delete it, you can remove these files.
\OS2\TUTORIAL.EXE \OS2\HELP\TUTORIAL.HLP
\OS2\DLL\TUTDLL.DLL
  • Chess
These are the files for the chess applet.
\OS2\APPS\OS2CHESS.BIN \OS2\APPS\DLL\CHESSAI.DLL
\OS2\APPS\OS2CHESS.EXE \OS2\HELP\OS2CHESS.HLP
  • EPM
These are the files for the enhanced editor applet.
\OS2\APPS\BOX.EX    \OS2\APPS\MATHLIB.EX
\OS2\APPS\DRAW.EX   \OS2\APPS\PUT.EX
\OS2\APPS\E3EMUL.EX \OS2\APPS\EPM.EXE
\OS2\APPS\EPM.EX    \OS2\APPS\DLL\ETKE551.DLL
\OS2\APPS\EPMLEX.EX \OS2\APPS\DLL\ETKR551.DLL
\OS2\APPS\EXTRA.EX  \OS2\APPS\DLL\ETKTHNK.DLL
\OS2\APPS\GET.EX    \OS2\HELP\EPM.HLP
\OS2\APPS\HELP.EX   \OS2\HELP\EPMHELP.QHL
  • Jigsaw
These are the files for the jigsaw applet.
\OS2\APPS\JIGSAW.EXE
\OS2\HELP\JIGSAW.HLP
  • Klondike
These are the files for klondike (solitaire).
\OS2\APPS\CARDSYM.FON \OS2\DLL\KLONBGA.DLL
\OS2\APPS\KLONDIKE.EXE \OS2\HELP\KLONDIKE.HLP
  • NEKO
These are the files for neko (the cat).
\OS2\APPS\NEKO.EXE \OS2\HELP\NEKO.HLP
\OS2\DLL\NEKO.DLL
  • PICVIEW
These are the files for picview.
\OS2\APPS\PICVIEW.EXE \OS2\HELP\PICVIEW.HLP
\OS2\APPS\DLL\PICVIEW.DLL
  • PMChart
These are the files for the PM Chart productivity aid.
\OS2\APPS\FASHION.DAT \OS2\APPS\INVEST.GRF
\OS2\APPS\GREEN.DAT   \OS2\APPS\DLL\MGXLIB.DLL
\OS2\APPS\INVEST.DAT  \OS2\APPS\DLL\MGXVBM.DLL
\OS2\APPS\PMCHART.EXE \OS2\APPS\DLL\PMFID.DLL
\OS2\APPS\FASHION.GRF \OS2\HELP\PMCHART.HLP
\OS2\APPS\GREEN.GRF
  • PM Diary
These are the files for the PM Diary productivity aid.
\OS2\APPS\PMDALARM.EXE \OS2\APPS\PMDTODO.EXE
\OS2\APPS\PMDCALC.EXE  \OS2\APPS\PMDTUNE.EXE
\OS2\APPS\PMDCALEN.EXE \OS2\APPS\PMMBASE.EXE
\OS2\APPS\PMDDARC.EXE  \OS2\APPS\PMSPREAD.EXE
\OS2\APPS\PMDDIARY.EXE \OS2\APPS\PMSTICKY.EXE
\OS2\APPS\PMDLIST.EXE  \OS2\APPS\DLL\PMDIARY.DLL
\OS2\APPS\PMDMONTH.EXE \OS2\APPS\DLL\PMDIARYF.DLL
\OS2\APPS\PMDNOTE.EXE  \OS2\APPS\DLL\PMSTICKD.DLL
\OS2\APPS\PMDTARC.EXE  \OS2\HELP\PMDIARY.HLP
  • PM Seek
These are the files for the PM Seek productivity aid.
\OS2\APPS\PMSEEK.EXE \OS2\HELP\PMSEEK.HLP
\OS2\DLL\PMSEEK.DLL
  • Pulse
These are the files for the pulse applet (CPU meter).
\OS2\APPS\PULSE.EXE
\OS2\HELP\PULSE.HLP
  • Reversi
These are the files for reversi.
\OS2\APPS\REVERSI.EXE
\OS2\HELP\REVERSI.HLP
  • Scramble
These are the files for scramble.
\OS2\APPS\SCRAMBLE.EXE \OS2\DLL\SCRLOGO.DLL
\OS2\DLL\SCRAMBLE.DLL \OS2\HELP\SCRAMBLE.HLP
\OS2\DLL\SCRCATS.DLL
  • SoftTerm
These are the files for SoftTerm (the terminal emulator).
\OS2\APPS\ACSACDI.DAT   \OS2\DLL\OPROFILE.DLL
\OS2\APPS\CTLSACDI.EXE  \OS2\DLL\ORSHELL.DLL
\OS2\APPS\SOFTERM.EXE   \OS2\DLL\OSCH.DLL
\OS2\APPS\CUSTOM.MDB    \OS2\DLL\OSIO.DLL
\OS2\APPS\SASYNCDA.SYS  \OS2\DLL\OSOFT.DLL
\OS2\APPS\SASYNCDB.SYS  \OS2\DLL\OTEK.DLL
\OS2\DLL\CTLSACDI.DLL   \OS2\DLL\OTTY.DLL
\OS2\DLL\OACDISIO.DLL   \OS2\DLL\OVIO.DLL
\OS2\DLL\OANSI.DLL      \OS2\DLL\OVM.DLL
\OS2\DLL\OANSI364.DLL   \OS2\DLL\OVT.DLL
\OS2\DLL\OCHAR.DLL      \OS2\DLL\OXMODEM.DLL
\OS2\DLL\OCM.DLL        \OS2\DLL\OXRM.DLL
\OS2\DLL\OCOLOR.DLL     \OS2\DLL\SACDI.DLL
\OS2\DLL\OCSHELL.DLL    \OS2\DLL\SAREXEC.DLL
\OS2\DLL\ODBM.DLL       \OS2\DLL\SACDI.MSG
\OS2\DLL\OFMTC.DLL      \OS2\HELP\ACDISIO.HLP
\OS2\DLL\OIBM1X.DLL     \OS2\HELP\ANSI364.HLP
\OS2\DLL\OIBM2X.DLL     \OS2\HELP\ANSIIBM.HLP
\OS2\DLL\OKB.DLL        \OS2\HELP\IBM31011.HLP
\OS2\DLL\OKBC.DLL       \OS2\HELP\IBM31012.HLP
\OS2\DLL\OKERMIT.DLL    \OS2\HELP\IBMSIO.HLP
\OS2\DLL\OLPTIO.DLL     \OS2\HELP\SOFTERM.HLP
\OS2\DLL\OMCT.DLL       \OS2\HELP\TTY.HLP
\OS2\DLL\OMRKCPY.DLL    \OS2\HELP\VTTERM.HLP
\OS2\DLL\OPCF.DLL       \OS2\HELP\XRM.HLP
\OS2\DLL\OPM.DLL
  • Touch
These are the files for Touch.
\OS2\TOUCO21D.BIN    \OS2\DLL\TCP.DLL
\OS2\TOUMOU.BIO      \OS2\DLL\TOUCALLS.DLL
\OS2\CALIBRAT.DAT    \OS2\HELP\TCP.HLP
\OS2\CALIBRAT.EXE    \OS2\MDOS\VTOUCH.COM
\OS2\TOUCH.INI       \OS2\MDOS\VTOUCH.SYS
\OS2\PDITOU01.SYS    \OS2\MDOS\WINOS2\SYSTEM\TOUCH.DRV
\OS2\PDITOU02.SYS    \OS2\SYSTEM\TDD.MSG
\OS2\TOUCH.SYS       \OS2\SYSTEM\TDDH.MSG
\OS2\CALIBRAT.TXT    \OS2\SYSTEM\TDI.MSG
\OS2\DLL\FSGRAPH.DLL \OS2\SYSTEM\TDIH.MSG

Appendix E. Performance Tools

A number of tools are available that can be useful in evaluating and tuning the performance of your OS/2 2.x system.

SPM/2 - System Performance Monitor/2 - IBM Corp.

SPM/2 2.0 is an integrated package of powerful facilities that allow you to monitor resources such as CPU, RAM, disk and more on your local and remote IBM Operating System/2 2.0. SPM/2's ability to graph this resource information allows you to look at real time data as well as saved data for any monitored workstation in your LAN.

  • Collects critical resource utilization data: CPU, memory, files, swap file, FAT/HPFS cache, physical disk, printer and communication port
  • Records performance data to disk for processing at a later time.
  • Collects data from multiple nodes in a single recording session.
  • Provides a real-time graphical representation of how system resources are being used (CPU, disk, RAM and swap activity) as well as the ability to playback previously recorded data.
  • Produces detailed resource utilization reports (from recorded data) that can be summarized by workstation, application, process or thread.
  • Provides in-depth OS/2 2.0 memory analysis information (including working set and a view of OS/2 control blocks).
  • Monitoring of remote OS/2 LAN Requester as well as Servers.

Performance 2.1 by Clear and Simple, Inc.

This tool is a simple aid to tune your system. It is excellent for the novice user. It provides a way to change the CONFIG.SYS and to remove some file to free DASD>

Pulse

Pulse is one of the simplest tools available for monitoring performance. It generates an EKG-like graphic display that shows the level of CPU activity. This tool can be found in the OS/2 Productivity Aids folder.

CPU Monitor - BONAMI SOFTWARE CORPORATION

A powerful combination of performance and analysis tools for the OS/2 user. Via Presentation Manager graphics, CPU Monitor displays Real-Time information for estimated CPU utilization, OS/2 process relationships and more. Dynamically suspend and resume execution for individual threads. Helps you detect and stop runaway, invisible and background programs.

OSRM2 - OS/2 Resource Monitor - C.O.L. Consulting, Ltd.

An integrated group of applications for tracking (real time monitor) and performing capacity planning functions (analysis and modeling) for machine resources (CPU, Disk, Memory, applications).

Bridge/Monitor - Bridge Technology Inc.

Bridge/Monitor is an OS/2 performance analysis and reporting tool, for large enterprise LANs, that allows the user to remotely monitor and manage the performance of the LAN. Performance bottlenecks are identified and alerts generated in realtime when user defined thresholds are exceeded. A complete performance database with query capability is maintained for reporting, trend analysis and capacity planning. BRIDGE/MONITOR's proprietary communications method enables peer-to-peer services between devices in the network.

Triplecheck - International OS/2 USER GROUP

A three-in-one monitoring utility. SwapMON monitors the size of the swapper file. The free space on the swapper drives and displays the largest contiguous block of memory. MON is an idle-time monitor displaying in graphics form the amount of processor activity over a selectable timespan can be used to monitor background activity. Clock displays concurrent date or time in analogue or digital format. On-line context-sensitive help available for each program.

Appendix F. Files that can be Migrated to the Server

This file contains information about which files are required on a LAN Requester and which can be migrated to a Server machine. Read carefully. In some cases, it is easier to list what files must remain, and in other cases it is easier to list what can be moved. Tests were performed to move files off a requester machine onto a server, boot the requester machine, and then perform basic operations, functions, and applications.

When files are moved to a server machine, remember that the LIBPATH, PATH, and DPATH statements in the requester's (client) CONFIG.SYS file should be updated with the SERVER directory where these files were moved. Do NOT delete any OS/2 system directory entries in these path statements even if they are empty. If empty, they should be moved to the end of the path statements. For any applications that appear in folders, such as:

  • STHR.EXE in the Start Here icon on the OS/2 Desktop
  • E.EXE in the Productivity Folder
  • All of the Applets and games in the Productivity and Games folders.

You must update the Settings to point to the correct drive and sub-directory.

  1. \OS2
    Following is a list of files that SHOULD REMAIN in the \OS2 sub-directory. Most of these files are for device drivers, hardware support and system and user INI files. Some of the .SYS and .DMD files may not reside in your \OS2 sub-directory depending upon the type of install you performed and what hardware is installed on your system. The CACHE.EXE and HPFS.IFS files are required if you are using HPFS in your system. UNPACK.EXE is included in case you need to retrieve a file from the installation diskettes. CHKDSK.COM is included if Autocheck is specified for the file systems upon system boot up. The ATTRIB.EXE file is included because it may be needed by certain support functions.
IBM2ADSK.ADD  OS2DASD.DMD   ABIOS.SYS
IBM2FLPY.ADD  OS2SCSI.DMD   CLOCK02.SYS
IBM2SCSI.ADD  ATTRIB.EXE    COM.SYS
000000.BIO    CACHE.EXE     DOS.SYS
F80D00.BIO    CMD.EXE       EXTDSKDD.SYS
F80D01.BIO    PMREXX.EXE    LOG.SYS
W020100.BIO   PMSHELL.EXE   MOUSE.SYS
W020101.BIO   SVGA.EXE      KBD02.SYS
W050000.BIO   UNPACK.EXE    PCLOGIC.SYS
W050100.BIO   VIEW.EXE      PCMCIA.SYS
W050101.BIO   VIEWDOC.EXE   PMDD.SYS
W060100.BIO   HPFS.IFS      POINTDD.SYS
W0F0000.BIO   PMCONTRL.INF  PRINT02.SYS
CHKDSK.COM    OS2.INI       SCREEN02.SYS
KEYBOARD.DCP  OS2SYS.INI    TESTCFG.SYS
VIOTBL.DCP    IBMINT13.I13  VDISK.SYS
OS2ASPI.DMD

Any files removed from this directory can be moved to a Server directory. This directory should be placed in the PATH statement of the CONFIG.SYS file in the root directory. It would also be wise to create a diskette with system utilities such as FORMAT, XCOPY, and the like that will be near the requester machine in case the server is not available and maintenance is needed on the requester machine. 2. \OS2\DLL Following are the DLL files that are MUST REMAIN in the \OS2\DLL sub-directory. This sub-directory will also contain files used for Fonts and printer drivers. These files should remain on your requester machine, but are not listed here. They have file extensions extensions of PSF, FON, DRV, PDR and QPR. This list does not include any DLL files that may be placed in the \OS2\DLL sub-directory by another installed product other the the base OS/2 system.

BKSCALLS.DLL NAMPIPES.DLL PMVIOP.DLL
BMSCALLS.DLL NLS.DLL PMWIN.DLL
BVH8514A.DLL NPXEMLTR.DLL PMWP.DLL
BVHVGA.DLL NWIAPI.DLL PMWPMRI.DLL
BVHWNDW.DLL OS2CHAR.DLL QUECALLS.DLL
BVSCALLS.DLL OS2SM.DLL REXXINIT.DLL
DISPLAY.DLL PMATM.DLL SESMGR.DLL
DOSCALL1.DLL PMCTLS.DLL SOM.DLL
FKA.DLL PMDRAG.DLL SPL1B.DLL
HELPMGR.DLL PMGPI.DLL VIOCALLS.DLL
HPMGRMRI.DLL PMGRE.DLL WCFGMRI.DLL
IBM8514.DLL PMMLE.DLL WINCFG.DLL
IMP.DLL PMSDMRI.DLL WPCONFIG.DLL
KBDCALLS.DLL PMSHAPI.DLL WPCONMRI.DLL
MINXMRI.DLL PMSHAPIM.DLL WPPRINT.DLL
MOUCALLS.DLL PMSHLTKT.DLL WPPRTMRI.DLL
MSG.DLL PMSPL.DLL

The BVH and IBM DLL files will vary in name depending upon the type of display adapter your are using in your system. The rule is, if the name of the DLL starts with BVH or IBM, it must remain in the DLL sub-directory on the requester machine. 3. \OS2\MDOS Here are the files which SHOULD REMAIN in the \OS2\MDOS sub-directory. The APPEND.EXE file is required to be in this sub-directory and cannot be moved. The DOSKRNL and COMMAND.COM files are also searched for in this directory specifically. All the other files are device driver support. These can be removed or may not appear if the devices are not on your system, or because of the install options that were used.

DOSKRNL VCDROM.SYS VLPT.SYS
COMMAND.COM VCGA.SYS VMONO.SYS
APPEND.EXE VCMOS.SYS VMOUSE.SYS
ANSI.SYS VCOM.SYS VNPX.SYS
COMDD.SYS VDMA.SYS VPCMCIA.SYS
EGA.SYS VDPMI.SYS VPIC.SYS
EMM386.SYS VDPX.SYS VSVGA.SYS
FSFILTER.SYS VDSK.SYS VTIMER.SYS
HIMEM.SYS VEGA.SYS VVGA.SYS
LPTDD.SYS VEMM.SYS VWIN.SYS
V8514A.SYS VFLPY.SYS VXGA.SYS
VAPM.SYS VKBD.SYS VXMS.SYS
VBIOS.SYS

4. \OS2\BOOK and \OS2\HELP All of the base files in \OS2\BOOK and \OS2\HELP sub-directories CAN BE MOVED moved to a server machine. If done, the SET HELP, SET GLOSSARY, and SET BOOKSHELF statements in CONFIG.SYS must be updated to point to the Server path.

5. \OS2\SYSTEM No files should be removed from this sub-directory.

6. \OS2\INSTALL Different files will be removed from this sub-directory depending on what other support is being installed on your system and if service updates are going to be applied to the system. Because of service requirements, all files except the following should remain in this subdirectory. These files CAN BE MOVED.

DATABASE.DAT PRDESC.LST SAMPLE.RSP
DATABASE.TXT PRDRV.LST USER.RSP
INSTAID.LIB

From these files, you may have DATABASE.DAT remain in the \OS2\INSTALL subdirectory because it is the MIGRATE Application utility.

7. \OS2\APPS These files were discussed in an earlier append in this document. Basically, all of the files can be moved to a server machine, you just have to insure that the Productivity and Games icons reflect the correct path names.

8. \OS2\BITMAP The only file required in this sub-directory is OS2LOGO.BMP.

9. \OS2\DRIVERS All files in this directory remain there.

Glossary

API
Application Programming Interface
APM
Advanced Power Management
Bit
Either of the binary digits 0 or 1
BIOS
Basic Input/Output System
BPS
Bits per Second
Byte
8 bits treated as a unit representing 1 character
CD/ROM
Compact Disk Read-Only Memory High-capacity read-only memory in the form of an optically read compact disk.
CGA
Color Graphics Array
DASD
Direct Access Storage Device
DLL
Dynamic Link Library
DOS
Disk Operating System
DRAM
Dynamic random-access memory
EA
Extended Attribute
EGA
Enhanced Graphics Array
EMS
Expanded Memory Support
ESDI
Enhanced Small Device Interface
FAT
File Allocation Table
FIFO
First-in/First-out
GB
Gigabyte (1,073,741,824 bytes)
GDT
Global Descriptor Table
HPFS
High Performance File System
IDE
Intelligent Drive Electronics
I/O
Input/Output
IPF
Information Presentation Facility
ISA
Industry Standard Architecture
KB
Kilobyte (1,024 bytes)
LAN
Local Area Network
Launched Common
Starting Windows applications in the same session as other Windows applications
Launched Separate
Starting Windows applications in separate Window sessions
LDT
Local Descriptor Table

MB. Megabyte (1,048,576 bytes) MHz. Megahertz MVDM. Multiple Virtual DOS Machines OS/2? Operating System/2? PM. Presentation Manager RAM. Random Access Memory ROM. Read Only Memory SCSI. Small Computer System Interface Seamless Session. WIN-OS2 session appearing as a window on the Workplace Shell SIMM. Single Inline Memory Module SVGA. Super Video Graphics Array Swap file. Page file containing memory data VDM. Virtual DOS Machines VGA. Video Graphics Array VIO. Video I/O

VRAM
Video RAM
WIN-OS/2
OS/2 support for running Windows applications
XGA
Extended Graphics Array
XMS
Extended Memory Support

Index

A animation 18 application performance measurements 56 AUTOEXEC.BAT specifying different 33 B boot manager 6 C changing display drivers 18 CONFIG.SYS buffers 29 changes to 27 customizing for DOS 32 devicehigh 32 disk cache 28 dos 32 libpath 28 maxwait 30 memman 30 path 27 printmonbufsize 30 priority_disk_io 29 protectonly 31 rmsize 31 set deldir 31 set restartobjects 31 swap file 20 swappath 28 threads 30 timeslice 30 using Alt-F1 27 customizing DOS sessions 38 customizing for DOS AUTOEXEC.BAT 32 customizing WIN-OS/2 sessions cut and paste 41 D DASD 23 removing features 58 default cache sizes 9 disk caching 22 disk partitioning 24 display installation selection 13 display driver performance 57 DOS memory tuning 42 printing 48 settings 38 DOS settings memory 42 performance 39 F FAT file system 23 file system caches 24 default cache sizes 9, 26 FAT 23 file size supported 8, 22 HPFS 23 lazy writing 24 partition size supported 8, 22 file system selection 8 H hardware communication 54 displays 51 exploitation 1 hard drives 53 memory 51 minimum requirements 3 processor 50 High Performance File System (HPFS) 23 I installation 6 boot manager 6 default cache sizes 9 display selection 13 file system 8 fonts 15 formatting the install partition 9 full install 11 general 17 installation feature selections 9 installation (continued) migrating applications 17 partitioning 7 preselected install 10 selectable install 11 setup and installation menu 15 SVGA Display 14 swap file 16 system configuration menu 13 VGA Display 14 XGA Display 14 L lazy writing 22 M memory flat memory model 1 required 3 memory management 42 swap file 20 microprocessors supported 3 migrating applications 17 MVDM 1 P partitions 7 performance tips 55 performance improvements in 2.1 DPMI 5 graphic subsystem 4 printing 5 VDM support 4 WIN-OS/2 performance 4 performance tools 63 post installation changing the display driver 18 changing the display resolution 18 CONFIG.SYS changes 27 post installation. AUTOEXEC.BAT changes 32 AUTOEXEC.BAT file 32 tuning DOS applications 37 tuning OS/2 applications 33 tuning Windows applications 33 printer settings 44 compression 45 fast system fonts 45 HP-GL/2 46 printer settings (continued) large buffers 46 memory 45 print while spooling 46 printer patterns 45 resolution 45 start and stop time 46 printing 44 fonts 46 from DOS 48 from WIN-OS/2 48 spool files 47 R read ahead 22 removing features 58 S settings 38 DOS_AUTOEXEC 36, 40 DOS_BACKGROUND_EXECUTION 36, 40 DOS_BREAK 41 DOS_DEVICE 39 DOS_FCBS 41 DOS_FCBS_KEEP 41 DOS_FILES 41 DOS_HIGH 42 DOS_RMSIZE 37 DPMI_MEMORY_LIMIT 37, 43 EMS_HIGH_OS_MAP_REGION 44 EMS_LOW_OS_MAP_REGION 44 EMS_MEMORY_LIMIT 44 for DOS sessions 38 for WIN-OS/2 sessions 36 HW_ROM_TO_RAM 42 IDLE_SECONDS 39 IDLE_SENSITIVITY 39 INT_DURING_IO 37, 40 MEM_EXCLUDE_REGIONS 42 MEM_INCLUDE_REGIONS 42 memory for DOS sessions 42 VIDEO_8514A_XGA_IOTRAP 37, 40 VIDEO_FASTPASTE 41 VIDEO_ONDEMAND_MEMORY 42 VIDEO_RETRACE_EMULATION 40 VIDEO_ROM_EMULATION 41 VIDEO_SWITCH_NOTIFICATION 37, 41 WIN_CLIPBOARD 36 WIN_DDE 36 WIN_RUNMODE 36

settings (continued) XMS_HANDLES 43 XMS_MEMORY_LIMIT 43 XMS_MINIMUM_HMA 43 spooled printing 47 spooler path 47 print priority 47 swap file 16, 20 parameters 20 T top tips to improve performance 55 tuning AUTOEXEC.BAT 32 COM 49 CONFIG.SYS 27 DOS applications 37 general 27 OS/2 applications 33 printing 44 Windows applications 33 W WIN-OS/2 install 17 printing 48 reducing memory 35 settings 36 Windows application support 2 72 OS/2 Performance Tuning