ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ» Ί OS/2 2.x CONFIG.SYS FILE DESCRIPTION - Version 6.0 / July 31, 1993 Ί Ί COMPILED BY RICK MEIGS Ί ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ Copyright (c) 1992-93, Rick Meigs, 7032 SW 26th Street, Portland, OR, 97219. If you find errors or have some helpful information, please do contact me at the address above. I also hang around the FidoNet OS/2 conference, so you can drop me a note there also. <<=ENCOURAGEMENT=>> This ASCII file may be freely distributed (AND YOU'RE ENCOURAGED TO DO SO) on a not-for-profit basis, but the copyright notice may not be removed and the file may not be modified. CONTENTS: 1. Caution, warning and disclaimer. 2. Initial Comments. 3. CONFIG.SYS file description. 4. Obscure CONFIG.SYS settings. 5. Sample CONFIG.SYS files. 6. How to restore a damaged CONFIG.SYS file from a backup copy. 7. REXX Support from within the CONFIG.SYS file. 1. Cautions, warnings and disclaimers. -------------------------------------- <<=CAUTION=>> Because of the way in which OS/2s Enhance PM Editor (EPM.EXE) handles word wrapping, using it to edit your CONFIG.SYS file is unwise. Best results are obtained using OS/2s System Editor (E.EXE). <<=WARNING=>> IF YOU PLAN ON CHANGING ANY LINE IN YOUR CURRENT CONFIG.SYS FILE, PLEASE BE SURE TO CREATE A BACKUP --BEFORE-- YOU START EXPERIMENTING!!! THIS HAS SAVED ME MORE THAN ONCE. MAKING A BACKUP COPY WILL DO YOU KNOW GOOD IF YOU DON'T KNOW HOW TO RESTORE A DAMAGED CONFIG.SYS FILE WITH THE BACKUP. I HAVE INCLUDED THE PROCEDURE AT THE END OF THIS FILE. <<=REQUIRED READING=>> I CAN'T BE RESPONSIBLE FOR WHAT YOU DO WITH YOUR SYSTEM AND CONFIG.SYS FILE BASED UPON WHAT YOU MAY LEARN FROM THE INFORMATION PROVIDED IN THIS FILE. EVERY EFFORT HAS BEEN MADE TO MAKE THIS FILE AS ACCURATE AS POSSIBLE, BUT NO WARRANTY OR FITNESS IS IMPLIED. THE INFORMATION IS PROVIDED ON AN "AS IS" BASIS. 2. Initial Comments. -------------------- This project has become something more than I had anticipated. Now in its sixth version and I'm still finding out new things about OS/2s CONFIG.SYS file. Actually, this CONFIG.SYS FILE DESCRIPTION has become as much an optimization handbook as it is a description. I assume that someday, all that can be said about the file will have been said. At that point I'll be able to sit back and just let the last update circulate . Even with all the hours I've put into this CONFIG.SYS FILE DESCRIPTION, I still find it often to be a mystery. At least one attempt to "demystify" the file has been made by a major computer rag within the last year, but I found myself more "mystified" than "demystified". Some of the information share was just plain wrong. Still, mystery or not, to get the most out of OS/2 and your system, you MUST spend a little time editing your CONFIG.SYS file. This whole process began 1992 when I began researching what many of the CONFIG.SYS file com- mands were for. This ever growing file is the result of that ongoing research. It briefly describes many of the common and obscure commands. Naturally, not all possible commands are listed (especially the many hardware device drivers), but there is a lot here for you to work with. Version Six has been updated for OS/2 2.1. Unlike the DOS CONFIG.SYS file which is read sequentially, OS/2 reads the entire CONFIG.SYS file before it invokes the commands listed. Therefore, except for a few exceptions which have been noted, it really doesn't matter where a command is placed. 3. BEGINNING OF CONFIG.SYS FILE DESCRIPTION ------------------------------------------- CALL=C:\OS2\XCOPY.EXE C:\OS2\*.BK1 C:\OS2\*.BK2 CALL=C:\OS2\XCOPY.EXE C:\OS2\*.INI C:\OS2\*.BK1 Two files are essential to the operation of OS/2: OS2.INI and OS2SYS.INI. If these files should get trashed, OS/2 isn't going to function. Backing them up is very important. In OS/2 version 2.0, once booted, OS/2 will not let you access or copy these critical files. One way to circumvent this is to create your backups BEFORE OS/2 is booted. This CALL will do the trick. It creates first a backup of your backup and then creates a backup of the original files. This gives you a two generation backup. <<=NOTE=>> In version 2.1, the INI files can be copied using the normal OS/2 COPY com- mand, but you may wish to consider adding this CALL to your CONFIG.SYS file to automate the process. Generally OS/2 does not care where you place something in the CONFIG.SYS file. This CALL is an exception in version 2.0. It must appear are the first line as shown here because you need to complete this backup process before OS2.INI AND OS2SYS.INI load. <<=TIP=>> OS2.INI and OS2SYS.INI can also be reconstructed at boot by holding down Alt- F1 during boot BEFORE the OS/2 logo appears. You may need to hold the keys down for at least 20 seconds. During your initial installation of OS/2, the installation process stored a copy of its original INI files in the folder called INSTALL. When you press Alt-F1 at boot, OS/2 moves these "backup" files into the OS/2 folder to replace the current versions. <<=WARNING=>> Use the Alt-F1 key combination as a last resort because you will lose all customization and changes you have made to the WpS. <<=TIP=>> Add the following additional line, CALL=C:\OS2\XCOPY.EXE C:\OS2\*.BK2 C:\OS2\INSTALL\*.INI, before the first CALL above. This will replace the INI files in the INSTALL folder with a more recent version. So when you have to use Alt-F1, you'll reboot without losing most of your customization to your WpS. IFS=C:\OS2\HPFS.IFS /CACHE:512 /CRECL:4 /AUTOCHECK:C This OS/2 command installs the High Performance File System (HPFS), if you want to use it instead of FAT. The syntax is IFS=DRIVE:PATH\FILENAME,SWITCHES. There are three switches: /CACHE:nnn sets up a disk cache and its size. The default on my 8MB system (shown in the table below) is to low in my opinion. If you have 8MB of RAM, set the cache to 512, but keep in mind that you don't want an excessive cache because the memory used comes directly out of memory available for programs, e.g. if you set a 2MB cache on a 6MB system, you will notice a substantial negative performance hit. It is my understanding that the maximum cache size for HPFS is currently 2MB and IBM does not recommend using a cache larger than 1.5MB; If you have formatted your system with only HPFS partitions, the default cache size in this statement will be that noted under ONE FILE SYSTEM in the table below. If you have both FAT and HPFS partitions, then OS/2 2.x defaults to the cache size noted under TWO FILE SYSTEM. The file system which uses the greatest amount of your disk space gets the larger default value. MEMORY SIZE IN MB TWO FILE SYSTEM ONE FILE SYSTEM 4 128/64 128 5 128/64 128 6 256/64 256 7 256/128 256 8 256/256 384 9 256/256 384 10 - 16 512/512 1024 17 - 32 1024/1024 2048 /CRECL sets the maximum record size for caching, from 2k to 64k in multiples of 2k; and, /AUTOCHECK:nn tells the system to run CHKDSK and sets the drives to be checked at startup. IFS stands for "Installable File System". <<=TIP=>> If you are using only FAT partitions, then you should REM this statement and save yourself about 500k of RAM. <<=TIP=>> If you have drive partitions larger than 80 or so megabytes, then HPFS will give you better performance than FAT. On partitions of less than 80MB, their is little or no performance difference between HPFS and FAT. PAUSEONERROR=YES This OS/2 only command tells OS/2 to stop for a moment if it cannot process a line in the CONFIG.SYS file correctly. If you don't include this statement in your CONFIG.SYS file, the default will be YES. It is generally the best choice since an error message will appear and scroll off the screen so quickly with a NO setting that you may not notice it or be able to read it. PROTSHELL=C:\OS2\PMSHELL.EXE This OS/2 command loads OS/2s user interface program (PMSHELL.EXE) which allows you to make full-screen and window sessions work. The current interface program is the Work- place Shell (WpS), but in theory you could purchase or develop your own user interface and use it instead of the WpS, much like Norton's Desktop is available for the Windows environment. If you delete this line from your CONFIG.SYS file, OS/2 will load CMD.EXE by default. SET COMMAND: The SET command in the CONFIG.SYS file sets up environment variables for the en- tire system. These environmental variables are stored by OS/2 in memory and are shared by any applications which calls on them. There are a number of these "enviornment variables" covered below. <<=NOTE=>> These variables can also generally be changed at an OS/2 command prompt. <<=TIP=>> If you want to see what variables are set in your system, at an OS/2 command prompt type the word SET and press return. You'll get a list like the following: WP_OBJHANDLE=87103 USER_INI=C:\OS2\OS2.INI SYSTEM_INI=C:\OS2\OS2SYS.INI OS2_SHELL=C:\OS2\CMD.EXE AUTOSTART=PROGRAMS,TASKLIST,FOLDERS RUNWORKPLACE=C:\OS2\PMSHELL.EXE COMSPEC=C:\OS2\CMD.EXE PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\ DPATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\ PROMPT=$E[1;33m[$P]$G HELP=C:\OS2\HELP;C:\OS2\HELP\TUTORIAL; GLOSSARY=C:\OS2\HELP\GLOSS; DIRCMD=/ON /P IPF_KEYS=SBCS KEYS=OFF BOOKSHELF=C:\OS2\BOOK EPMPATH=C:\OS2\APPS; VIDEO_DEVICES=VIO_SVGA VIO_SVGA=DEVICE(BVHVGA,BVHSVGA) WORKPLACE__PROCESS=NO SET USER_INI=C:\OS2\OS2.INI Tells OS/2 the name and locations of the file that contains your desktop setup information and the options saved from various OS/2 applications. OS2.INI is the default file name. This file remains open the entire time OS/2 is booted and operating. It only closes upon Shutdown. If it should become "trashed", MAKEINI.EXE, which ships with OS/2 and is in the OS2 directory, can be used to build a new set of INI xfiles. You will have to boot from an OS/2 floppy to do so. <<=NOTE=>> OS2.INI is a critical file for the proper operation of OS/2 and should not be deleted or modified. It is not an ASCII file and therefore cannot be modified with an ASCII editor if it should become damaged. You should consider backing up this file by using the CALL lines shown above or with a program such as WPSBKUP, a shareware pro- gram you can obtain on many OS/2 BBSs. SET SYSTEM_INI=C:\OS2\OS2SYS.INI Tells OS/2 the name and location of its INI file (OS2SYS.INI). OS2SYS.INI tells OS/2 what kind of equipment your system uses. NOTE: OS2SYS.INI is a critical files and should not be deleted or modified. It is not an ASCII file and can't be edited. You should consider backing up this file by using the CALL line shown as the first line above or with a program such as WPSBKUP, a shareware program you can obtain on many OS/2 BBSs. This file remains open the entire time OS/2 is booted and operating. It only closes upon Shutdown. If it should become "trashed", MAKEINI.EXE, which ships with OS/2 and is in the OS2 directory, can be used to build a new set of INI files. You will have to boot from an OS/2 floppy to do so. SET OS2_SHELL=C:\OS2\CMD.EXE OS2_SHELL directs OS/2 to load the command-line shell (CMD.EXE) when you ask for an OS/2 command line from the WpS. <<=WARNING=>> Be careful with this line. OS/2 will not start without it. <<=TIP=>> If you wish to run some other command-line shell, such as 4OS2, change this line and the SET COMSPEC=C:\OS2\CMD.EXE line, substituting the appropriate EXE file for CMD.EXE. SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS This command is used to start parts of the OS/2 WpS. There is one other parameter: CONNECTIONS. This starts any network connection in use when the system was last shut- down. <<=WARNING=>> If you remove any of these statements, then you may not get OS/2 to re- spond or you will be restricted from accessing portions of the shell. For example, if you leave out FOLDERS, Folders, including the Desktop which is also a folder, can not be opened. If you delete TASKLIST, then you will not obtain the OS/2 TASKLIST when you press Ctrl-Esc and if PROGRAMS is in included, only programs in your startup folder will be available. SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE This line tells the system what interface program is to be used. In this case it is the Workplace Shell. I'm not aware of any other options at this time. <<=TIP=>> If you want to run OS/2 with only a command line interface, you can do so by changing this line to read SET RUNWORKPLACE=C:\OS2\CMD.EXE. This brings OS/2 up without the WpS and gives you one full screen session. Without the WpS, you lose much of OS/2s functionality, but you can start other sessions using the START or DETACH command. Switch between session using Alt+Esc. For those who want the power of OS/2 and like to work only from a command line, give this a try. SET RESTARTOBJECTS=YES This command tells OS/2 what applications to start after you suspend operations with or without doing a Shutdown (as in doing a Ctrl-Alt-Del because some faulty program has locked up your system). If this statement is not in your CONFIG.SYS, then the default is YES, i.e., start all objects that were running at the time of Shutdown or reboot. Other options are: NO = do not start any applications that were running at time of shutdown or reboot. STARTUPFOLDERSONLY = start objects only in the Startup folder. This parameter is also handy for another purpose. If you have one or more programs in the Startup folder and do a shutdown without closing the programs (i.e. left the programs open at shutdown), then reboot, OS/2 will restart the programs left open AND the Startup folder will start another copy. Thus you will have two copies running. Setting this parameter eliminates this. REBOOTONLY = Start objects only if the OS/2 WpS is starting from a reboot (Ctrl-Alt-Del) or at power on. Objects will not restart if the WpS is re- started as a result of its own error correction recycling. <<=TIP=>> You can also circumvent the auto-starting of programs by holding down Ctrl-Shift-F1 all at the same time during boot. It must be done AFTER your mouse pointer is seen (but not too soon after it appears), but before any icons appear. Part 1 of 3 SET COMSPEC=C:\OS2\CMD.EXE This line identifies what OS/2 command-line shell is to be used and where its at. In DOS, COMMAND.COM is equivalent to CMD.EXE. <<=TIP=>> If you wish to run some other command-line shell, such as 4OS2, change this and the SET OS2_SHELL=C:\OS2\CMD.EXE line, substituting the appropriate EXE file for CMD.EXE. LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL; This is an OS/2 command. It tells OS/2 where to locate Dynamic Link Libraries (DLLs). LIBPATH is similar to DPATH and PATH, but the statement can only be used in the CONFIG.SYS file and OS/2 does not search the current directory for DLLs unless you in- clude it in the LIBPATH statement. To have OS/2 search the current directory, include a period "." right after the equal "=" symbol as noted above. You don't need to use the SET command with LIBPATH, it is not an environment variable. SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\ Just like in DOS, it tells both DOS and OS/2 where to find programs. SET DPATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\ This is an OS/2 command. It tells OS/2 programs where to look for data files. It is similar to the DOS APPEND command, but unlike APPEND, DPATH only works with programs designed to use it. SET PROMPT=[$P]$G Like the same DOS command, this line sets how your OS/2 command prompt will appear. (This is for OS/2 only. Set the DOS PROMPT default in your AUTOEXEC.BAT file.) In the setting shown here, the command prompt will appear showing the current directory of the default drive enclosed in [] followed by the greater than symbol, i.e. [C:\]>. Having brackets [] around the drive and directory information lets you quickly know when you are at an OS/2 command line verse a DOS command line. If you type PROMPT without a parameter, OS/2 will return its default prompt [$p]. Options include: $B = The character $C = The open parenthesis ( $D = Current date $E = ASCII code 27 (escape) so you can work with ANSI. See <<=TIP=>> $F = The close parenthesis ) $G = The "greater than" > symbol $H = BACKSPACE over the previous character $I = Turns help line on $L = The "less than" < character $N = Default drive $P = Current directory of default drive $Q = The equal = character $S = The space character $T = Current time $V = OS/2 version number $_ = Carriage return or line feed <<=TIP=>> You can also add ANSI control sequences to your prompt. For example, to help me know visually whether I'm working with an OS/2 command line, I've add $E[1;33m to my prompt line, i.e. SET PROMPT=$E[1;33m[$P]$G. This sets text to display in bold yellow characters. Bold yellow characters means OS/2 command line. White characters means DOS command line. SET HELP=C:\OS2\HELP;C:\OS2\HELP\TUTORIAL; Tells OS/2 where the help files are located. OS/2 will only look for a program's help files in the path shown. SET GLOSSARY=C:\OS2\HELP\GLOSS; Tells OS/2 where the Glossary file and Master Help file is located. SET DIRCMD=/ON /P This undocumented command is the OS/2 equivalent of the DIR command in DOS. Since DOS 5, you can tell DIR how to present file information. To do this in OS/2, use the DIRCMD command. For example: SET DIRCMD=/ON /P tells OS/2 to display the DIR information in alpha order and place a pause at the end of each page. This is for OS/2 only. Set the DOS default in your AUTOEXEC.BAT file. Options include: /A list files with specific attributes. E.g. /AH list only hidden files. Other options are S A & R. If you place a negative (-) sign in front of your speci- fied attribute, all files will list except those with the attribute specified. E.g. /A-H-S will display all files except hidden and system files. /B list directories and files without heading and summary information. /F list files with the full drive and path information. Date, time and size are omitted. /L displays information in lowercase. /N lists files on a FAT drive in the same format used for a HPFS drive, i.e. date, time, size, name. /O list files according to sort option specified. Sort options are: G = Display directories first. N = alphabetize by file name -N = reverse-alphabetizes by name E = alphabetize by extension -E = reverse-alphabetizes by extension D = by date, oldest first -D = by date, newest first S = by file size, smallest first -S = by file size, largest first /P pauses after a full screen of files is listed. /R displays long file names if applicable. /S searches and displays all directories. /W displays file names across the screen. Date, time and size are omitted. SET IPF_KEYS=SBCS The character set for most languages can be represented as data using an 8-bit byte sin- ce their characters sets are each less than 256 characters. These are Single Byte Char- acter Sets (SBCS). Languages such as Japanese, Korean and Chinese can only be repre- sented as data using two 8-bit bytes or 16-bits. These are Double Byte Character Sets (DBCS). This command tells the Information Presentation Facility (INF and help files) which type of character set is being used, i.e., Single or Double Byte Character Set. This is an Environment variable. Removing it from my system did not seem to have any impact. PRIORITY_DISK_IO=YES This command determines whether applications running in the foreground have priority access to disks. The default is YES. If you want applications running in the background to have equal access to your disks, then change this statement to NO. PRIORITY=DYNAMIC OS/2 automatically assigns processing priorities to each thread of a program as it begins processing. A thread running in the foreground will generally have priority over a thread running in background. Thread priorities are adjusted, generally based upon how active they are, by OS/2 on an ongoing basis to make sure each thread has adequate processing time. On the rare occasion that you need to run a program which must never change in priority, you should set PRIORITY=ABSOLUTE, otherwise, don't mess with it. This is another OS/2 only command and does not have to be in your CONFIG.SYS. If it is not, then OS/2 defaults to PRIORITY=DYNAMIC. FILES=20 This is a standard DOS command which sets the maximum number of files that DOS can access at the same time. OS/2 sets the default at 20, but some DOS programs may require that you increase this number. DEVICE=C:\OS2\TESTCFG.SYS TESTCFG.SYS is used during the install process to test your systems configuration. It is also used by the Selective Install process and during device driver installations. <<=NOTE=>> Because this driver is also used by the Selective Install process, you should not be deleted. DEVICE=C:\OS2\PMDD.SYS OS/2 loads and uses this driver to provide pointer draw support along with POINTDD.SYS. <<=WARNING=>> OS/2 will not start without this line in your CONFIG.SYS file. BUFFERS=30 Tells OS/2 how many disk buffers to set aside. Range is from 1 to 100. Each buffer takes up to 512 bytes of RAM. 30 is the default and usually works well. Disk buffers are blocks of memory set aside by OS/2 for use in reading and writing blocks of data. For example, if a program wants to change 80 bytes of a file, it needs to read the 512 byte sector that contains the original data, change the information and then write the corrected 512 byte sector back out. A "buffer" is the 512 byte temporary staging area for this partial sector operation. According to source at IBM, "OS/2 allows multiple simultaneous I/O operations to be queued up for both diskette and hard disk. Each 'concurrent' operation may need a buffer. If there are not enough buffers, overlap can be inhibited. Because OS/2 has more 'simultaneous' queued I/O than DOS, it needs more buffers." <<=TIP=>> Generally, you can speed up your system by increasing the number of BUFFERS. But, keep in mind that as you increase the number, you reduce available memory. 30 is the default, but you may wish to experiment with a higher number, like 50 or 60. Be careful about using a lower number unless you only have 4MB of RAM. With 4MB of RAM you may wish to set BUFFERS to 20. This gives you some more valuable memory. IOPL=YES An OS/2 command that, when set to YES, lets programs that need to bypass OS/2, and its device drivers, and work directly with hardware devices, do so. YES means that all pro- grams can access the hardware directly. NO means that no program can access the hardware directly. You can also specify a list of programs that are allowed to work direct- ly with the hardware. For example, IOPL=WS.EXE,Q.EXE would allow only these two programs to access hardware directly. YES is the default and is generally best, since its hard for most of us to know when a program is written is such a way as to need direct access to hardware, rather than working through a device driver. IOPL stands for Input/Output Privilege Level. Part 2 of 3 RUN=C:\OS2\CACHE.EXE /MAXAGE:2500 This line runs CACHE.EXE which allows you to modify the parameters for the HPFS cache. CACHE.EXE is only used for HPFS partitions. (The next CONFIG.SYS file line below sets up a cache for FAT.) There are four switches: /LAZY: Determines if lazy writes is ON of OFF, that is, whether the contents of the cache will be written to your hard disk immediately (/LAZY:OFF) or when your hard disk is idle (/LAZY:ON). The default is ON. I like lazy writes ON because it improves performance, but keep in mind that since the system delays writing data to your hard disk, you can lose data if your system should crash. In the CONFIG.SYS file line above no switch is specified therefore the default remains in effect, which is ON. <<=TIP=>> Lazywrite can also be turned ON or OFF at an OS/2 command prompt. <<=WARNING=>> If you include the /LAZY switch, then the CACHE statement will IGNORE ALL OTHER SWITCHES in the line. Therefore, if you want to turn Lazy-write off (or on) and also change some other parameter, you will need two RUN statements. /MAXAGE: Sets how long data waits in the cache before it is moved to another area of the cache where less used information is stored, or how long data waits in the cache before it is written to the hard disk. It is expressed in milliseconds. The default is 5,000 or about 5 seconds. In the CONFIG.SYS file line above, the wait is set at 2,500 milliseconds or about two 1 seconds. I've done this to reduce the chance of data loss. /DISKIDLE: Sets how long your hard disk must be idle before it will accept data from the cache. Express in milliseconds and the default is 1,000 or about one second. In the CONFIG.SYS file line above no switch is specified therefore it defaults remains in effect. /BUFFERIDLE: Sets how long the cache buffer must be idle before its contents MUST be written to your hard disk. Express in milliseconds and the default is 500 or about 1 second. In the CONFIG.SYS file line above no switch is specified therefore it defaults remains in effect. <<=NOTE=>> The HPFS IFS CONFIG.SYS file line sets up the cache and uses the system defaults. This CONFIG.SYS file line is only used to modify the cache parameters. <<=TIP=>> You can check to see what parameters the HPFS cache is currently set at by going to an OS/2 command prompt and keying in the word CACHE and pressing the enter key. DISKCACHE=256,LW,32,AC:C If you are using FAT file system, this command sets up a RAM disk cache. CACHE: The DISKCACHE line noted here sets up a 256k cache. The default cache size is based upon your RAM. See the table below. If you have the RAM, increase the size to improve system performance, but don't get carried away in using too much of your RAM. This will hurt performance and cause too much memory swapping to disk. If you have formatted your system with only FAT partitions, the default cache size in this statement will be that noted under ONE FILE SYSTEM in the table below. If you have both FAT and HPFS partitions, then OS/2 2.x defaults to the cache size noted under TWO FILE SYSTEM. The file system which uses the greatest amount of your disk space gets the larger default value. MEMORY SIZE IN MB TWO FILE SYSTEM ONE FILE SYSTEM 4 128/64 128 5 128/64 128 6 256/64 256 7 256/128 256 8 256/256 384 9 256/256 384 10 - 16 512/512 1024 17 - 32 1024/1024 2048 LW: Enables lazy writes. If you don't want lazy write enabled, then remove ",LW". 32: The third number set the threshold size. It is express in number of sectors which are 512 bytes each. Data requests from your disk that are larger than this number will not be cached. The default is 4. Thirty two (32) is said to be an optimum number. One hundred twenty eight (128) is the maximum allowable. This setting has no impact on RAM. AC:C: If you want CHKDSK to automatically check your startup partition (usually C), then add this switch to end of the DISKCACHE command: AC:n where n is your startup partition, e.g. AC:C. <<=TIP=>> If you are only using HPFS, then you should REM this statement (don't delete, you may need or want it later) and save some RAM. MAXWAIT=3 This OS/2 command sets the longest period a program will have to wait to execute before OS/2 ups its priority. This makes sure that no program is put on hold forever while some other program hogs the system. You can set MAXWAIT from 1 to 255 seconds. The default is 3 seconds. <<=TIP=>> When running heavy background programs, such as a BBS, change the setting to 1, i.e. MAXWAIT=1. This will keep the BBS software or other background programs running at top speed. For general use, it appears that setting MAXWAIT=2 makes the system a little livelier. MEMMAN=SWAP,PROTECT OS/2 can run more programs and use more data than can actually be stored in memory at any given time. This is done by swapping large amounts of memory to your hard disk and then reading the data back into memory when needed. This is called virtual memory. For example, if you only have 4MB of memory (Get MORE memory fast! You need 8MB minimum with OS/2 2.x.) you will see lots of disk activity while you are working with your system. A lot of this is OS/2 swapping memory to your hard disk. Lots of memory swapping will slow down your system and cause your hard disk to fragment quicker than normal. The MEMMAN command controls the swap process. The syntax is MEMMAN=s,m,PROTECT where s=SWAP or NOSWAP; m=MOVE or NOMOVE; and PROTECT, which allows memory compaction with protected dynamic link libraries. The default is to have virtual memory on. To turn off virtual memory, which is NOT recommended, the CONFIG.SYS file line should read: MEMMAN=NOSWAP. A new parameter with version 2.1 is COMMIT. With this parameter included, OS/2 will allocate space in the swap file whenever a program commits memory. Increase your SWAPPER.DAT file (in the SWAPPATH line below) by the amount of memory you are likely to use when using the COMMIT parameter. <<=CAUTION=>> When messing with this line (I mean experimenting) I changed it to MEMMAN=NOSWAP. As a result, I had to boot from my OS/2 Installation disk and recover my backup CONFIG.SYS file to get the system to boot. I don't know why, but use caution. <<=NOTE=>> The MOVE/NOMOVE parameter has no effect under OS/2 2.x and is only provided for OS/2 version 1.x compatibility. SWAPPATH=C:\OS2\SYSTEM 512 4096 OS/2 can allocate more memory than it actually has available. It does this by swapping memory to a hard disk file called SWAPPER.DAT. The syntax is SWAPPATH=DRIVE,PATH,mmm,nnn where DRIVE AND PATH is the location where you want the SWAPPER.DAT file to be placed; mmm is a number from 512 to 32767 and specifies how large the SWAPPER.DAT file can grow before it stops consuming hard disk space. The size is stated in the negative. In other words, if you have the mmm set to 512, then the SWAPPER.DAT file can grow until there is only 512k left on your hard disk. The variable nnn is the starting size of the SWAPPER.DAT file. In the CONFIG.SYS file line above, the starting size is 4096 or 4MB. The default SWAPPER.DAT size is set based upon the amount of RAM your system has available as shown in the table below. MEMORY IN MB MINFREE (KB) INITIAL SIZE (KB) 4 4096 6144 5 4096 5120 6 4096 5120 7 2048 4096 8 2048 4096 9 2048 3072 10 2048 3072 11 - 32 2048 2048 <<=TIP=>> Normal operation of OS/2 2.x involves considerable disk activity as operating system functions are loaded and pages are moved in and out of the swap file. To improve performance, consider dedicating a separate partition for the swap file next to the op- erating system partition. This helps avoid fragmentation of the swap file, because other files will not be added or deleted from the dedicated partition. Disk access time will be minimized. BREAK=OFF For DOS programs only. Many DOS programs can be stopped by holding down the Ctrl key and then pressing the Break key. BREAK controls how quickly DOS programs stop when you interrupt them with the Ctrl-Break sequence. If BREAK=OFF, DOS will stop the program only when the programs next reads a character from the keyboard or writes to the screen or printer. With BREAK=ON, DOS will check for the Ctrl-Break on a more frequent basis. Remember that this extra checking can make your DOS programs run slower. THREADS=256 OS/2 programs can have several different processes running at the same time. These are called threads. This OS/2 command sets the maximum number of threads, from 32 to 4095, that OS/2 can run at the same time. <<=TIP=>> On systems with only 4MB of RAM, set THREADS to 128 to free up memory. If you only have 4MB of RAM, get more fast. You'll be amazed at the difference another 4 or 8MB of RAM will make! <<=TIP=>> If you have more than 8MB of RAM and run mostly OS/2 specific programs, you should be able to improve system responsiveness by increasing the number of threads. Why? Because well written OS/2 programs will use threads to improve program performance. Therefore, the more OS/2 programs in use, the more threads that could be needed. PRINTMONBUFSIZE=134,134,134 This OS/2 command sets the size of the print buffers for your parallel ports. The syntax is PRINTMONBUFSIZE=LPT1,LPT2,LPT3 where LPT1 is the buffer size for the parallel port LPT1, LPT2 is the buffer size for LPT2 and LPT3 is the buffer size for LPT3. The default and minimum is 134 bytes and the maximum is 2048 bytes. <<=TIP=>> If you are not using LPT2 or LPT3, then do not set up a buffer for them and use these bytes to increase the buffer for LPT1 (PRINTMONBUFSIZE=402,0,0) which should improve printing speed. <<=Note=>> You still need to define a buffer for LPT2 and LPT3, but you indicate a "0" (zero) byte size. You will get an error message at startup if you don't. <<=TIP=>> On systems with only 4MB of RAM that are not using LPT2 or LPT3, leave LPT1 at 134 and reduce LPT2 and LPT3 to "0" (zero). This will free up a little memory. COUNTRY=001,C:\OS2\SYSTEM\COUNTRY.SYS Customizes your system for the country you wish to use. It establishes which defaults to use when it comes to decimal separators, date and time formats, currency symbols, etc. The syntax is COUNTRY=xxx,PATH,FILE NAME. xxx is a three-digit code number that tells what country to use. The number is usually (but not always) the same as the international telephone dialing prefix for the country desired. The table below contains various country codes. SET KEYS=OFF When using the Command-line, KEYS tells CMD.EXE whether to remember previous keystrokes so they can be recalled with the up arrow key. OS/2 maintains a 64k buffer for storing keystroke history. KEYS can be ON or OFF. <<=TIP=>> On systems with only 4MB of RAM, SET KEYS to OFF, you need the memory more than this feature. Even with 8MB of RAM, since I don't use the feature I have turned it off to get a small memory boost. REM SET DELDIR=C:\DELETE,512; To use OS/2s UNDELETE command, you must first establish a directory in which to store the deleted files. To do this, create a directory called DELETE in your root and then remove the "REM" from this CONFIG.SYS file line. This command points OS/2 to the directory you created to place deleted files in. It also indicates the maximum number of files that will be stored in the DELETE directory. If the number of deleted files exceeds the maximum number that you specified, then files are automatically removed from the directory on a first-in-first-out basis. BASEDEV=PRINT01.SYS BASEDEV=IBM1FLPY.ADD BASEDEV=IBM1S506.ADD BASEDEV=OS2DASD.DMD BASEDEV installs a base device driver used by OS/2 when it is first started. The statement cannot contain either a drive or path because OS/2 cannot process such information at the stage at which these statements are process. Other base device drivers include: PRINT01.SYS supports attached printers on non-Micro Channel PC's. PRINT02.SYS supports attached printers on Micro Channel PC's. IBM1FLPY.ADD supports diskette drives on non-Micro Channel PC's. IBM2FLPY.ADD supports diskette drives on Micro Channel PC's. IBM2SCSI.ADD supports SCSI disk drives on Micro Channel PC's. OS2SCSI.DMD supports non-disk SCSI devices. IBM1S506.ADD supports non-SCSI disk drives on non-Micro Channel PC's. OS2DASD.DMD is a general purpose driver for disk drives. IBM2ADSK.ADD supports non-SCSI disk drives on Micro Channel PC's. IBMINT13.I13 supports non-Micro Channel SCSI adapters. SET BOOKSHELF=C:\GAMMA32;C:\OS2\BOOK This command points to the on-line documentation (INF files) provided with OS/2 and to any on-line documentation provided by other OS/2 programs. I have the GAMMATECH utilities installed on my system which contains on-line documentation. SET EPMPATH=C:\OS2\APPS Replaced SET EPATH=C:\OS2\APPS; in version 2.0. According to one source in IBM, EPMPATH is used by the Enhanced Editor (EPM.EXE). REM DEVICE=C:\OS2\APPS\SASYNCDB.SYS This device driver loads asynchronous communications support for the PM Terminal applet. <<=TIP=>> If you don't use PM Terminal, REM this line to save a little memory. In fact, if you are not using PM Terminal you may wish to consider deleting the files to save some disk space also. PROTECTONLY=NO An OS/2 command. Allows you to choose between a shared DOS and OS/2 operating environment or just an OS/2 environment. If you plan to run only OS/2 programs, then set PROTECTONLY=YES. If you plan to run DOS programs (this includes Windows programs also), then set PROTECTONLY=NO. SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P This line identifies and loads the DOS command processor COMMAND.COM which you must have to make DOS sessions work. The /p switch keeps the command processor in memory until shutdown. This is the line where you can also specify the size of the DOS environment variable. The range is 160 through 32768. For example, to set a 1024 byte environment you would add the following to the end of the SHELL command line: /E:1024 <<=TIP=>> You can also load and run other command processor's such as 4DOS. To do so, just put 4DOS in your MDOS directory and change the SHELL line to read 4DOS.COM instead of COMMAND.COM. FCBS=16,8 A file control block (FCBS) is an outmoded record that gives information about a file to DOS. This CONFIG.SYS file line tells DOS how many FCBS can be open at once, or, when DOS needs to open more FCBS than are available, how many currently open but not active FCBS may be closed to make room for new ones. The syntax is FCBS=a,b where a=the number of FCBS that DOS can have open at one time and b=the number of FCBS DOS cannot close to make room for new FCBS. "a" can be as high as 255. "b" can have a value of 0 to 254, but must be less than "a". Unless you get some kind of error message when running a DOS program that tells you the program doesn't have enough FCBS, leave the default as set. <<=TIP=>> You may wish to experiment with a smaller number. If you can get by with a smaller number, you will get back a little memory in each of your DOS sessions. RMSIZE=640 This is a DOS command and sets the amount of memory available for use by each DOS session. The maximum is 640k. Since some DOS programs require 640k, its best to have RMSIZE set to 640. <<=TIP=>> If you only have 4MB of RAM or don't have any DOS programs that need a full 640k, you should consider reducing this parameter to 512. Many DOS applications will run in a 512k DOS partition. Doing this will free up some additional RAM which will help performance. <<=TIP=>> If you need maximum memory (more than 640k), see tip under DOS=LOW,NOUMB. DEVICE=C:\OS2\MDOS\VEMM.SYS VEMM.SYS lets DOS programs use expanded memory unless you override it by changing a DOS programs SETTINGS. Three of its switches are: /S=n Sets the limit of EMS memory in blocks of 1024k. Default is 2. /L=n Size of conventional memory that can be remapped. Default is none. /F=nnnn Memory frame address to be used to map EMS. Default is AUTO. Settings you specify in a DOS session will override these switches. <<=NOTE=>> The VEMM.SYS device must be listed in your CONFIG.SYS file before the VXMS.SYS device. DEVICE=C:\OS2\MDOS\VMOUSE.SYS Identifies and loads the mouse driver to let you use a mouse with DOS. Mouse support for OS/2 is loaded below. <<=NOTE=>> If you don't have this line (or you REM'd it), you will not have mouse support in your DOS sessions. DOS=LOW,NOUMB This is a standard DOS command that lets you control how DOS uses memory. The OS/2 default is DOS=LOW,NOUMB and is considered by many to be the best setting for it conserves memory for OS/2. DOS=HIGH (including ,UMB) reduces available memory for OS/2, but increases the available memory in EVERY DOS session. Few DOS sessions need maximum memory. Also remember that you can move DOS HIGH for a specific program by changing that programs DOS. This is done in the programs Settings Notebook and is likely the better way to go. Finally, keep in mind that in OS/2 many device drivers are not taking up room in your 640k DOS area. So you generally have more memory in the typical OS/2 DOS session than in a standard DOS session. The following is the amount of memory my system reports in each DOS session with DOS=LOW,NOUMB. The vast majority of all DOS programs will run just fine with this amount of memory. 655360 bytes total memory 655360 bytes available for DOS 618208 largest executable program size <---- This equals about 604k. With DOS=HIGH, the amount of memory reported is: 655360 bytes total memory 655360 bytes available for DOS 643632 largest executable program size <---- About 629k <<=TIP=>> If you have need for maximum available RAM in a DOS session and can get by on CGA or MONO, change RMSIZE=639 (See description of this parameter three command lines above) in your CONFIG.SYS file (has to be 639k due to a bug in OS/2). Then in DOS Settings of your applications Settings Notebook, change VIDEO_MODE_RESTRICTION to CGA or MONO. The amount of memory reported after doing this on my machine is: 752640 bytes total memory 752640 bytes available for DOS 740656 largest executable program size REM DEVICE=C:\OS2\APM.SYS Device driver for ADVANCED POWER MANAGEMENT system used with laptop systems. If you have this line in your CONFIG.SYS file and you are NOT using a laptop, REM or delete the statement. Part 3 of 3