Dos SysOp's In An OS/2 World - Issue 2
An Intro by The Author
Hello all and welcome to issue two of my e-mag "DOS SysOps In An OS/2 World". Due to the overwhelming response to the last issue, I have decided to release a new one to coincide with the release of the new OS/2 v3.0 Warp! I will be including as much information as I can about how I an other SysOps have their systems configured for maximum speed and reliability. I will also be giving my first impressions of Warp and all of its toys <Grin>. So lets get Warped!
Warp!
Since the Rollout announcement (Oct 11th, 1994) I have been patiently awaiting the new OS/2 v3.0, code Named Warp. I had kept my eyes open for it and to my chagrin, on Nov 4th (the secondary release date) I was able to pick up a copy at my local EggHead software store for a measly 74.98. I took it home, got on my computer, kicked everyone off my board :) and booted to DOS. From there, I deltree'd my OS/2 dir (F:\OS2) my desktop dir, and all of the hidden files on my drive and rebooted onto the install disks.. The installation was a dream, first try, and my board was back up and flying in under 30 min.
I was impressed. Good job IBM!
I am glad to say that that you and I have been hearing about warp and its abilities is TRUE! The speed difference is very noticeable, even on my high-end system people were telling me how fast and smooth the board was running. I had to do no real tweaking to my setup after I had install warp, it seemed that most of my tunings from other versions (2.1/2.11/2.99 I & II) worked fine.
My TestBed System
As of Nov 9th 1994, My system is :
- i486dx2/66
- 20 Megs Ram
- 540 Maxtor IDE (30 Megs Fat / 495 Megs HPFS) (C: E:)
- 1.08 Gig Maxtor EiDE (1080 Megs HPFS) (D:)
- VESA Local Bus
- Promise EiDE Controller
- OS/2 v3.0 Warp
My Settings
As I have worked on the system the past few days, I have found some things that help the bbs retain speed and performance. First and foremost, the most important thing, is to use Ray Gwinn's SIO drivers rather then the normal com.sys vcom.sys that comes with OS/2, this will increase your throughput greatly. Another thing is to set the priority_disk_io to No..this makes sure that when a application is in the foreground, it does not get full control of the disk drive. The New thing that has come about with the introduction of Warp is the SESSION_PRIORITY setting. This is a very interesting setting, and while it says in the documentation, that it is for giving priority to multiple windows (tm) sessions, it helps the BBS GREATLY. If you ask around, you will probably get 32 different optimal settings from people, from 1 (default) to 32 (Highest).. I have found that setting the nodes at 2 and everything else I have at 1, the board seems to run a lot smoother and the dos session seem to work a lot better. With the SESSION_PRIORITY at 2, My mail tossing, went from about 2-3 MSG/sec to around 10-15 MSG/sec, a great improvement, especially with the amount of mail I toss. And lastly, DPMI_MEMORY_LIMIT should be set at 16, don't ask me exactly why, but it has to do with evening out the bumps in memory, and it really seems to help the board load up faster.
So... Here is the list, if you don't want to decode that which is above
In The Dos Box
SESSION_PRIORITY=2 for each node, and 1 for all other non-crucial apps
DPMI_MEMORY_LIMIT=16 Evens out memory
EMS_MEMORY_LIMIT=1024 I see no reason for this to be bigger, even Huge Door games don't need this much, helps with system resources being free.
SIO_IDLE_SENSITIVITY=28 This is the best I have found before running into character loss
IDLE_SENSITIVITY=38 I think I have always had this set this way, and when I change it, I see real diff any lower.
XMS_MEMORY_LIMIT=0 Check and see if anything you run uses XMS, if Not, trash it and set the next one too
XMS_HANDLES=0 If you set the last one to 0, set this one too!
In The Config.sys
PRIORITY_DISK_IO=NO don't let the foreground app have full disk control
DEVICE=SIO.SYS Ray Gwinn has made the greatest OS/2 Comm drivers available, use them for the performance gains
MEMMAN=SWAP,COMMIT Use this to tell OS/2 to make a swap file and keep it the same size you start it at.
MAXWAIT=1 This tells OS/2 that Nothing should wait longer then 1 second before being serviced
Now I will just list my Config.sys file for all to see :)
Config.sys by Steve Noble
Things with a * next to them are the important parts
* IFS=D:\OS2\HPFS.IFS /CACHE:2048 /CRECL:64 /AUTOCHECK:DE
I have 20 megs of ram, so I run a 2048 HPFS Cache, with the CRECL at 64 if you have less, you might want to set it at 1024, and 32 respectively.
PROTSHELL=D:\OS2\PMSHELL.EXE
SET USER_INI=D:\OS2\OS2.INI
SET SYSTEM_INI=D:\OS2\OS2SYS.INI
SET OS2_SHELL=D:\OS2\CMD.EXE
SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,CONNECTIONS,LAUNCHPAD
SET RUNWORKPLACE=D:\OS2\PMSHELL.EXE
SET COMSPEC=D:\OS2\CMD.EXE
LIBPATH=.;D:\OS2\DLL;D:\OS2\MDOS;D:\;D:\OS2\APPS\DLL;D:\MMOS2\DLL;D:\IBM
WORKS
SET
PATH=D:\OS2;D:\OS2\SYSTEM;D:\OS2\INSTALL;D:\;D:\OS2\MDOS;D:\OS2\APPS;D:\MMOS2
;D:\IBMWORKS;
SET
DPATH=D:\OS2;D:\OS2\SYSTEM;D:\OS2\INSTALL;D:\;D:\OS2\BITMAP;D:\OS2\MDOS;
D:\OS2\APPS;D:\MMOS2;D:\MMOS2\INSTALL;
SET PROMPT=$i[$p]
SET
HELP=D:\OS2\HELP;D:\OS2\HELP\TUTORIAL;D:\MMOS2\HELP;D:\IBMWORKS
SET GLOSSARY=D:\OS2\HELP\GLOSS;
SET IPF_KEYS=SBCS
* PRIORITY_DISK_IO=NO
No one gets priority on the Drive
FILES=30
BASEDEV=IBMKBD.SYS
DEVICE=D:\OS2\BOOT\TESTCFG.SYS
DEVICE=D:\OS2\BOOT\DOS.SYS
DEVICE=D:\OS2\BOOT\PMDD.SYS
* BUFFERS=90
This I think is new for warp (it being this high between 90-100 is good)
IOPL=YES
DISKCACHE=64,LW
There is no use for me to run a Fat diskcache.. my fat drive is only for maintenance booting
* MAXWAIT=1
Nothing waits more then a second for access, good for BBS's
* MEMMAN=SWAP,COMMIT
Make it and Keep it that size
* SWAPPATH=E:\SWAP 2048 20408
Make a HUGE Swapper, and try to get it committed.
BREAK=OFF
THREADS=256
PRINTMONBUFSIZE=134,134,134
COUNTRY=001,D:\OS2\SYSTEM\COUNTRY.SYS
SET KEYS=ON
SET BOOKSHELF=D:\OS2\BOOK;D:\MMOS2;
SET SOMIR=D:\OS2\ETC\SOM.IR;D:\OS2\ETC\WPSH.IR;D:\OS2\ETC\WPDSERV.IR
SET SOMDDIR=D:\OS2\ETC\DSOM
REM SET DELDIR=C:\DELETE,512;D:\DELETE,512;E:\DELETE,512;F:\DELETE,512;
BASEDEV=PRINT01.SYS
BASEDEV=IBM1FLPY.ADD
BASEDEV=IBM2FLPY.ADD
BASEDEV=IBM1S506.ADD
BASEDEV=XDFLOPPY.FLT
BASEDEV=OS2DASD.DMD
SET EPMPATH=D:\OS2\APPS;
PROTECTONLY=NO
SHELL=D:\OS2\MDOS\COMMAND.COM D:\OS2\MDOS
FCBS=16,8
RMSIZE=640
DEVICE=D:\OS2\MDOS\VEMM.SYS
DOS=LOW,NOUMB
DEVICE=D:\OS2\MDOS\VXMS.SYS /UMB
DEVICE=D:\OS2\MDOS\VDPMI.SYS
DEVICE=D:\OS2\MDOS\VDPX.SYS
DEVICE=D:\OS2\BOOT\OS2CDROM.DMD /Q
IFS=D:\OS2\BOOT\CDFS.IFS /Q
DEVICE=D:\OS2\MDOS\VCDROM.SYS
BASEDEV=SBCD2.ADD
DEVICE=D:\OS2\MDOS\VMOUSE.SYS
DEVICE=D:\OS2\BOOT\POINTDD.SYS
DEVICE=D:\OS2\BOOT\MOUSE.SYS
* DEVICE=D:\SIO\SIO.SYS (COM2:38400,2F8,3,-,) (COM3:38400,3E8,4,-,)(COM4:38400,2E8,5,-,)
* DEVICE=D:\SIO\VSIO.SYS
CODEPAGE=437,850
DEVINFO=KBD,US,D:\OS2\KEYBOARD.DCP
---
DEVICE=D:\MMOS2\SB16D2.SYS 1 1 7 7 220 4 330 /N:SBAUD1$ /Q
DEVICE=D:\MMOS2\AUDIOVDD.SYS SBAUD1$
SET MMBASE=D:\MMOS2;
SET DSPPATH=D:\MMOS2\DSP;
SET NCDEBUG=4000
DEVICE=D:\MMOS2\SSMDD.SYS
DEVICE=D:\MMOS2\R0STUB.SYS
---
all of this slows down the bbs, so if you don't plan on playing with the sound, I suggest you rem it out.
SET IBMWORKS_INI=D:\IBMWORKS
SET VIDEO_DEVICES=VIO_SVGA
DEVICE=D:\OS2\MDOS\VSVGA.SYS
DEVINFO=SCR,VGA,D:\OS2\BOOT\VIOTBL.DCP
SET VIO_SVGA=DEVICE(BVHVGA,BVHSVGA)
Well there is that..there are probably more optimal settings, but I haven't found them :)
Charles Bowman's Settings
Charles is running OS/2 on a 386dx/40 with 16 Megs of ram, I asked him to send me his most optimal settings at this time and this is what I got (Full of good stuff in my estimation).
Config.sys by Charles Bowman
IFS=E:\OS2\HPFS.IFS /CACHE:2048 /CRECL:64 /AUTOCHECK:DEFGHI
This is a 16 Meg system, if you run 8 or so you may want to keep the CACHE around 1024 and the CRECL around 32, experiment to find the best settings for you.
PROTSHELL=E:\OS2\PMSHELL.EXE
SET USER_INI=E:\OS2\OS2.INI
SET SYSTEM_INI=E:\OS2\OS2SYS.INI
SET OS2_SHELL=E:\OS2\CMD.EXE
SET RESTARTOBJECTS=STARTUPFOLDERSONLY
SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,CONNECTIONS
SET RUNWORKPLACE=E:\OS2\PMSHELL.EXE
SET COMSPEC=E:\OS2\CMD.EXE
LIBPATH=.;E:\OS2\DLL;E:\OS2\MDOS;E:\;E:\OS2\APPS\DLL;
SET
PATH=.\;E:\OS2;E:\OS2\SYSTEM;E:\OS2\INSTALL;E:\SIO;E:\;E:\OS2\MDOS;E:\OS2\APPS;
C:\WINDOWS;D:\ZIP
SET
DPATH=E:\OS2;E:\OS2\SYSTEM;E:\OS2\INSTALL;E:\;E:\OS2\BITMAP;E:\OS2\MDOS;
E:\OS2\APPS;
C:\WINDOWS
SET PROMPT=$i[$p]
SET HELP=E:\OS2\HELP;E:\OS2\HELP\TUTORIAL;
SET GLOSSARY=E:\OS2\HELP\GLOSS;
SET IPF_KEYS=SBCS
PRIORITY_DISK_IO=NO
FILES=50
DEVICE=E:\OS2\TESTCFG.SYS
DEVICE=E:\OS2\DOS.SYS
DEVICE=E:\OS2\PMDD.SYS
BUFFERS=85
IOPL=NO
MAXWAIT=1
MEMMAN=SWAP,COMMIT << Awesome Improvement
SWAPPATH=I:\ 4096 16000 << Keeps swapping overhead down
BREAK=OFF
THREADS=512
PRINTMONBUFSIZE=134,0,0
COUNTRY=001,E:\OS2\SYSTEM\COUNTRY.SYS
SET KEYS=ON
REM SET
DELDIR=C:\DELETE,512;D:\DELETE,512;E:\DELETE,512;F:\DELETE,512;G:\DELETE,512;
H:\DELETE,512;
BASEDEV=PRINT01.SYS
BASEDEV=IBM1FLPY.ADD
BASEDEV=IBM1S506.ADD /A:0 /U:0 /U:1 /SMS << Right out of 76 tips OS/2 Magazine
Using the IBM1S506.ADD file from Warp II, gives the best performance.
BASEDEV=OS2DASD.DMD
SET BOOKSHELF=E:\OS2\BOOK
SET EPMPATH=E:\OS2\APPS;
REM DEVICE=E:\OS2\APPS\SASYNCDA.SYS
PROTECTONLY=NO
SHELL=E:\OS2\MDOS\COMMAND.COM E:\OS2\MDOS
FCBS=16,8
RMSIZE=640
DEVICE=E:\OS2\MDOS\VEMM.SYS
DOS=HIGH,UMB
DEVICE=E:\OS2\MDOS\VDPX.SYS
DEVICE=E:\OS2\MDOS\VXMS.SYS /UMB
DEVICE=E:\OS2\MDOS\VDPMI.SYS
DEVICE=E:\OS2\MDOS\VCDROM.SYS
DEVICE=E:\OS2\MDOS\VWIN.SYS
REM DEVICE=E:\OS2\PCMCIA.SYS
REM DEVICE=E:\OS2\MDOS\VPCMCIA.SYS
DEVICE=E:\OS2\MDOS\VMOUSE.SYS
DEVICE=E:\OS2\POINTDD.SYS
DEVICE=E:\OS2\MOUSE.SYS SERIAL=COM1
DEVICE=E:\SIO\SIO.SYS (COM2:115200,,,-)(COM3)(COM4:57600,,,-)
DEVICE=E:\SIO\VSIO.SYS
REM DEVICE=E:\OS2\COM.SYS
REM DEVICE=E:\OS2\MDOS\VCOM.SYS
CODEPAGE=437,850
DEVINFO=KBD,US,E:\OS2\KEYBOARD.DCP
SET VIDEO_DEVICES=VIO_SVGA
SET VIO_SVGA=DEVICE(BVHVGA,BVHSVGA)
DEVICE=E:\OS2\MDOS\VSVGA.SYS
RUN=E:\OS2\CACHE.EXE /MAXAGE:30000 /DISKIDLE:60000 /BUFFERIDLE:60000
Of course this is still a major boost.
DISKCACHE=512,LW,128,AC:C
So is this (but it's my only FAT partition)
DEVICE=E:\OS2\VDISK.SYS 16
DEVINFO=SCR,VGA,E:\OS2\VIOTBL.DCP
Running OS/2 Mailers
There has always been a great deal of discussion over the viability of running an OS/2 mailer and a Dos based BBS program. It can and has been done, and is very effective. The bonuses are many, you get can get a fully multi-threaded 32 bit mailer which will cut down on CPU time, and therefore releasing system resources for those who need them (your other nodes, or maybe you). The idea is simple, let me lay it out for you.
First, you need a OS/2 Based Front End Mailer (FEM).. Binkley Term and Maindoor/2 are the most widely used that I know of (yes, that I know of), MainDoor/2 is a newer program that first was discovered in a Spanish only version, a man took the time (and money) to have the docs professionally translated in order to have a better understanding of the software and help others who wanted to set it up. I have heard (I do not personally know) that it is a very efficient software. Binkley Term is the most widely known and used FEM, used by such people as Pete Norlof of the famed "OS/2 Shareware BBS".
Second, you will need a program called Start, or HStart (or any similar program, start.exe should be included in your OS.2 package, just type start at a OS/2 cmd prompt) that can spawn a Dos session from an OS/2 session.
Install the FEM and configure it to your liking. Then edit the bbs.cmd file, to include a line like this
:bbs
hstart board.bat
and just have the batch file call the board. very simple, there is a lot more that can be done with this, but I won't go in depth.
Tips!
There are some tips that I have found, will help you and your users to better enjoy the services that your system provides, you can take of them what you want, they are really only my opinion.
1.) Run Tame 3.20, if you run any Door games, because even if your board seems to runs fine under OS/2, the doors may not. here are my settings for Tame loaded like this c:\tame\tame /settings 6 /i
*** 6.set *******
/Idle_Indicate Time
/Idle_Indicate 99
/HK STATUS ALT-CTRL-F10
/NoTimer
/NoWorkTime 8 2
/Task_Switch_Time 10
/Work_Indicate Com2 IRQ3 Com3 IRQ4
/Boost 2 0
/II NOWORK
*******************
2.) Unless you have a dedicated mail node, I would suggest that you have your .bat file for the board spawn another dos/OS2 session, to toss the mail. It gets the board back online faster, and leaves you with less downtime, a plus in many users eyes.
Endtro
Well that concludes this edition of DSiOW. Send any comments, suggestions, or other wise to me as 1:203/7666 FidoNet or 50:100/1400 RGSNet, or lastly u220@cs.sierra.cc.ca.us. And if anyone has a .inf compiler and would like to help me out, I would be greatly appreciative.
Steve