═══ 1. Version Notice ═══ Information 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. ═══ 2. 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. o OS/2 2.1 Using the Operating System o The OS/2 V2.1 Update Redbook o OS/2 2.0 Installation & Tuning Guide (GG24-3948) o OS/2 2.0 Information and Planning Guide (G326-0160) o OS/2 Version 2.0 Technical Compendium (GGOF-2254) o Volume 2: DOS and Windows Environment (GG24-3731) o Volume 4: Application Development (GG24-3774) o Volume 5: Print Subsystem (GG24-3775) 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. ═══ 3. Trademarks referenced ═══ The following products are referenced in the document: o OS/2, Personal Systems/2, PS/2 and Micro Channel are registered trademarks of the International Business Machines Corporation o Presentation Manager, WIN-OS/2 and SPM/2 are trademarks of the International Business Machines Corporation o Microsoft and Microsoft Windows are registered trademarks of Microsoft Corporation o Intel is a registered trademark of Intel Corporation o Pentium is a trademark of Intel Corporation o R:Base is a trademark of Microrim, Inc. o Norton Disk Utitilies is a trademark of Symantec Corporation o Microsoft Word and Word for Windows are registered trademarks of Microsoft Corporation o WordPerfect is a trademark of Wordperfect Corporation o Performance 2.1 is a trademark of Clear and Simple, Inc. o Lotus and 1-2-3 are registered trademarks of Lotus Development Corp. o FoxPro is a trademark of Microsoft Corporation o Video Seven is a trademark of Headland Technology Inc. ═══ 4. 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 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: o Extended Memory (XMS) to 16 Megabytes o Expanded Memory (EMS) to 32 Megabytes o 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). ═══ 5. 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. ═══ 5.1. What hardware configurations run OS/2 2.0 & 2.1 ? ═══ OS/2 2.0 is designed for personal computers with the following minimum requirements: o Intel (or compatible) 80386SX microprocessor o 4MB of memory (6MB or more recommended) o 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) o 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. ═══ 5.2. 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. ═══ 6. 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. ═══ 7. 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. Additional sections contain information for tuning installed systems that can be used after you complete 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, partition sizes and which file system to use. They are discussed here so that you may understand the implications of your selections. ═══ 7.1. 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. ═══ 7.2. 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: 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 The smaller partitions are formatted FAT, while the large partition (containing her OS/2 applica- tions 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: 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 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. 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. ═══ 7.3. 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. 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 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 takesn 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) ). 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: 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 File system selection, cache sizes and options influence the performance of application load times and run time within I/O intensive applications. See File Systems for specific file system tuning that can be done after installation. ═══ 7.4. 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 File Systems for additional information. ═══ 7.5. 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) ═══ 7.6. 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, 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. ═══ 7.6.1. 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) DPMI (22KB) Virtual EMS (19KB) Virtual XMS Support (8KB) Windows Support (9.0MB) Readme Files (143KB) Accessories (1154KB) Screen Savers (77KB) Sound (253KB) High Performance File System (0.4MB) ═══ 7.6.2. 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. ═══ 7.6.3. 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 Removing Features 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) Optional System Utilities Backup Hard Disk (29KB) (1.6MB) 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 EMS (19KB) Virtual XMS (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) ═══ 7.6.4. 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. Figure 7. Installation- System Configuration Menu System Mouse SerialDevice Support Primary Display Secondary Display Locale Country Keyboard Peripherals CD_ROM Device Support SCSI Adapter Support Printer ═══ 7.6.5. 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: o The best performance with excellent resolution will be with XGA display drivers o Low resolution and good performance with the VGA display driver, o 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 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 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. o 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. o 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 for additional information. The XGA display drivers support both the XGA and the XGA-2 adapter cards. Addi- tionally, 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 for information on changing and tuning display drivers. o 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 - 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 Changing Display Drivers 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. o 8514 The only resolution available for 8514/A display is 1024 x 768 x 256 colors. The driver is the new 32-bit driver. o 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. ═══ 7.6.6. 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. ═══ 7.6.7. 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. Figure 9. OS/2 Supplied Fonts Courier Helvetica System-Mono Spaced Times-Roman Courier Outline Helvetica Outline Times New Roman Outline 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 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. ═══ 7.6.8. 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. 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 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. ═══ 7.7. 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. ═══ 7.8. 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. ═══ 8. 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. ═══ 8.1. 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. ═══ 8.1.1. 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. ═══ 8.1.2. 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 ]Display 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. ═══ 8.1.3. 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. ═══ 8.1.4. Starting Applications ═══ Performance when starting applications may not be as quick as you would like. This is espe- cially 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. ═══ 8.1.5. 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. ═══ 8.1.6. 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. ═══ 8.2. 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: o End Program/Command/Operation o Ignore the Error and Continue o 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 appli- cation 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 preallo- cated, 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, occa- sionally 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. ═══ 8.3. 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 pro- vides 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 per- forms 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. ═══ 8.3.1. 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 perform- ance and enhanced support for disk hardware devices: o 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. o 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. o Disk caching within the FAT file system, rather than in the device driver. o Recognition of devices that have onboard caches (nonsystem memory), incorporating them into the total caching scheme. o 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 parti- tion 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 takesn 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. ═══ 8.3.2. 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: o 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. o 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. o Disk caching in the IFS driver, rather than in the device driver. o 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). ═══ 8.3.3. 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. ═══ 8.3.4. 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. Figure 11. Cache and Lazy Writing Parameters FAT HPFS Cache Size Minimum 64 KB 64 KB Maximum 14 MB 2 MB Threshold Default 2 KB 4 KB Minimum 2 KB 2 KB Maximum 64 KB 64 KB Read Ahead Value 8 KB 8 KB Cache Parameters MaxAge 5000 ms 5000 ms (range) not settable 1 - 99999 DiskIdle 1000 ms 1000 ms (range) not settable 1 - 99999 BufferIdle 500 ms 500 ms (range) not settable 1 - 99999 All cache parameter values are milliseconds 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 available 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). 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. ═══ 8.3.5. 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. 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 ═══ 8.4. 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. ═══ 8.4.1. 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. 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. 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 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, subse- quent 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 12jfor 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 designated 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 priority boost from the foreground application and improve the performance of the background 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 additional 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 prevents 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. Continue ═══ 8.4.2. Customizing(continued) ═══ The default value is 134,134,134 bytes PROTECTONLY= Selects one or two operating environments. The OS/2 operating system requires this statement 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: partitions. 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 statement 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. o 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. o 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. ═══ 8.5. 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. ═══ 8.5.1. 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. ═══ 8.6. 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. ═══ 8.7. 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. ═══ 8.7.1. 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. ═══ 8.7.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 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,. ═══ 8.7.3. 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 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. ═══ 8.7.4. 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. ═══ 8.7.5. 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 ═══ 8.7.6. 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 applica- tion 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. ═══ 8.7.7. 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 performance. ═══ 8.8. 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. o When the setting is set to On a Windows application runs when it is in the background. o 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 back- ground 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. ═══ 8.9. Tuning for DOS Applications ═══ Full Screen vs. Windowed DOS applications (non-graphical) perform well in a windowed session. For example, DOS file- 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 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. ═══ 8.10. 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 33 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 allo- cated 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. ═══ 8.11. 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 conains 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 jDefines 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 be0 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 be0 if a DOS application does not need EMS. This might improve per- 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 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. ═══ 8.12. 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. o 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. o 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 con- serving 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. ═══ 8.12.1. 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 combination 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. ═══ 8.12.2. 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 con- 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 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. ═══ 8.12.3. 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. o 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. o 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. ═══ 8.13. 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 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, 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, 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 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 for additional information. ═══ 9. 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. ═══ 9.1. 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. ═══ 9.2. 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. ═══ 9.3. 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. ═══ 9.3.1. VGA ═══ 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 colors, and 320 x 200 x 256 colors. VGA mode is also supported on XGA and SVGA display adapters. ═══ 9.3.2. 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. ═══ 9.3.3. 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. ═══ 9.3.4. 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. ═══ 9.4. 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:11: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. ═══ 9.4.1. 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. ═══ 9.4.2. 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. ═══ 9.4.3. 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. ═══ 9.4.4. Communications ═══ Machines with a buffered UART (for example NS16550A) will have better performance than machines without buffering (for example NS16450). ═══ 10. 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 2. Eliminate all extraneous processes (clock, CPU meters) 3. Only use FAT file system 4. Remove IFS= line for HPFS (if not used) 5. Upgrade processor and/or memory as needed 6. Minimize apps & folders between uses (rather than close and reopen) 7. Remove unused device drivers from CONFIG.SYS 8. Leave diskcache at 128 KB 9. Limit the number of concurrent applications 10. Limit background processing when working in the foreground 11. Limit communication BAUD rate 12. Limit concurrent spooling 13. Optimize all paths in CONFIG.SYS This is a list of the top 7 performance tips for OS/2 2.1 SMALL DASD systems. 1. Increase Available Memory 2. Only use FAT file system 3. Remove IFS= line for HPFS (if not used) 4. Add memory 5. Leave diskcache at 128 KB 6. Spool from 1 Application at a time 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 2. Tune DOS session settings 3. Run multiple applications in one session (common) 4. Leave the Windows Spooler Disabled 5. Verify Adequate Amount of DPMI Memory 6. Reduce EMS & XMS memory allocations to 64K 7. Start Applications from the Icons 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. 2. Use HPFS on large, busy disks. 3. Tune the file system caches(use SPM/2) 4. Tune DOS and Windows session settings 5. Use 32-bit applications 6. Startup LAN and Comm from their Directory 7. Replace Startup.cmd with the Startup Folder 8. Optimize the Desktop ═══ 11. 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. ═══ 12. 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. ═══ 13. 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. o Advanced Power Management (APM) Used on on those systems that contain the required hardware, usually notebook type systems. \OS2\APM.SYS o Bitmaps These are extra bitmaps provided for background display. \OS2\BITMAP\SWAN.BGA \OS2\BITMAP\LIGHTHOU.VGA o 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 o Command Reference This file is the system command reference (on-line help). \OS2\BOOK\CMDREF.INF o 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 o 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 o PCMCIA Support PCMCIA support may not be needed on your system. You can remove this file. \OS2\PCMCIA.SYS o 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 o RIPL These files are used for remote IPL. \OS2\HELP\RIPLINST.HLP \OS2\INSTALL\RIPLINST.EXE o 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 ,br \OS2\DLL\TUTDLL.DLL o 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 o 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 o Jigsaw These are the files for the jigsaw applet. \OS2\APPS\JIGSAW.EXE \OS2\HELP\JIGSAW.HLP o Klondike These are the files for klondike (solitaire). \OS2\APPS\CARDSYM.FON \OS2\DLL\KLONBGA..DLL \OS2\APPS\KLONDIKE..EXE \OS2\HELP\KLONDIKE..HLP o NEKO These are the files for neko (the cat). \OS2\APPS\NEKO..EXE \OS2\HELP\NEKO..HLP \OS2\DLL\NEKO..DLL o PICVIEW These are the files for picview. \OS2\APPS\PICVIEW..EXE \OS2\HELP\PICVIEW..HLP \OS2\APPS\DLL\PICVIEW..DLL o 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 ,br \OS2\APPS\PMCHART..EXE \OS2\APPS\DLL\PMFID..DLL \OS2\APPS\FASHION..GRF \OS2\HELP\PMCHART..HLP \OS2\APPS\GREEN..GRF o 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 o PM Seek These are the files for the PM Seek productivity aid. \OS2\APPS\PMSEEK..EXE \OS2\HELP\PMSEEK..HLP \OS2\DLL\PMSEEK..DLL o Pulse These are the files for the pulse applet (CPU meter). \OS2\APPS\PULSE..EXE \OS2\HELP\PULSE..HLP o Reversi These are the files for reversi. \OS2\APPS\REVERSI..EXE \OS2\HELP\REVERSI..HLP o 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 o 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 o 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 ═══ 14. 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. o Collects critical resource utilization data: CPU, memory, files, swap file, FAT/HPFS cache, physical disk, printer and communication port o Records performance data to disk for processing at a later time. o Collects data from multiple nodes in a single recording session. o 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. o Produces detailed resource utilization reports (from recorded data) that can be summarized by workstation, application, process or thread. o Provides in-depth OS/2 2.0 memory analysis information (including working set and a view of OS/2 control blocks). o 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 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 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. ═══ 15. 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: o STHR..EXE in the Start Here icon on the OS/2 Desktop o E..EXE in the Productivity Folder o 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 ,br 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 br 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 sub- directory. 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 sub-directory 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.