OS/2 Warp on a Shoestring


OS/2 has many more sides than are usually seen in public. Along with robust multi-tasking and all the other cool stuff, OS/2 also has the ability to be run with many different faces, on a wide range of computer configurations. There's a way to run OS/2 for anyone with at least the minimum requirements. This article will describe how you may be able to run OS/2 Warp and prior versions with the smallest of machines.

Why bother?

Many OS/2 users with "light" hardware have found OS/2 makes a great "utility" machine, used as a fax machine, a print server, a smart terminal, or a BBS. In fact, most of the current information on how to do this well came initially from BBS operators short of cash to buy the latest-and-greatest but most interested in making their machine available to the public somehow while still being able to use it. Many of these users were long-time DesqView fans looking for stable, basic multi-tasking without the overhead of a graphical interface.


First, I'll only consider what's stated on the Warp box: a 386 with 4M RAM. In keeping with a likely environment for this machine I'll assume a 120M drive.

Warp and its Workplace Shell require just under 3M RAM, so you can see you'll be swapping fairly soon if you load much more. You see, there's a fundamental rule governing the success of a virtual memory system (essentially anything other than plain DOS): whatever RAM you don't have will be taken from Disk. Disk is 100 times slower than RAM, so the more you use the slower everything becomes.

You'll have to prepare to make some sacrifices and stick to a fairly bare-bones Warp installation built for simple multi-tasking. Forget Multimedia, the Internet Access Kit and IBM Works: you simply won't have enough RAM to run these large-ish components without a lot of patience. But, there's still a lot left you can do, especially if you have a simple repertoire of applications and don't push the system too hard, or are willing to wait for tasks to swap in and out of RAM.

Replace the WorkPlace Shell

First and foremost, you need to find a replacement for the WorkPlace Shell. Though it can do wondrous and sometimes-magical things for your computer life it comes with a a RAM cost that gets in the way of running more than a couple applications together.

How to run OS/2 then? Consider that OS/2 isn't just a pretty face. Underneath all those icons and folders is the "engine" of OS/2: what really makes it a multi-tasking operating system. The WorkPlace Shell is just one of several "chassis" that can be used to let you drive that engine. Fortunately for us here, there are other chassis models available, for those on a budget.

(Actually, the formal term for "chassis" is "shell," so that's what we'll use from now on.)

From quite a way back OS/2 has had this ability to be "driven" by other methods and in fact there are several long-time applications that have been able to run as shells. You already have one: it's CMD.EXE, or the command-line interpreter, the program that runs the OS/2 Window icon in the Command Prompts folder.

Command-line Shells

The CMD shell still lets you multi-task, and quite well at that, using the START and DETACH commands. You can switch between tasks using , and use the mouse for programs that know how. You may want to write a few batch files to run some of your favorite programs, or add their directories to the PATH.

Changing the current shell is as easy as modifying one line in CONFIG.SYS and rebooting. Look for the line that reads

and replace the right-hand side with the location of your shell. For the CMD shell the line would read

When you re-boot, your OS/2 Desktop will appear as a single-colour surface, and only icons you will see will be those of minimized programs, which appear along the bottom of the screen. A command-line window titled "Workplace Shell" will be your main connection to the rest of the system. If you have a STARTUP.CMD, then the window will be called "STARTUP.CMD".

Try out a couple simple commands. Get used to the START and DETACH commands. As a simple example try starting the E editor with

and it will come up in its own window, leaving your original window behind. START can open OS/2 and DOS windows, in the foreground or background, windowed or full-screen. DETACH can be used for programs that don't need any input and don't write any screen output (that you care about). See the OS/2 on-line documentation (Command Reference in the desktop Information folder) for more information about these commands. Even if you use the WorkPlace Shell they can be quite useful.

One command that is new to OS/2 Warp is SHUTDOWN, which you will still need to stop your system in an orderly fashion. Prior versions require a shareware solution or a shell that had its own shutdown function. For the alternative shells, an orderly shutdown is less necessary though, because there are no WorkPlace Shell objects to manage and you won't be doing much disk-caching.

Running DOS applications presents an extra challenge and requires an extra tool, available from the shareware/freeware world. With the WorkPlace Shell all your DOS settings are managed from the Settings notebook for an application's Program Object. With a restricted shell you will need an alternate way to customize each of your DOS sessions for the application they run.

Soon after OS/2 2.0 was released a number of utilities appeared that would let customized DOS sessions be run from the CMD shell. There are now several different utilities, the most popular being HSTART and STARTD. Each provides an alternative to the START command, with DOS settings stored in a text file that can be used for all DOS applications or created for individual applications.

There are a number of alternative CMD-type shells, most notably4OS2, the OS/2 companion to 4DOS, and even some Unix-like shells like YAOS2 and PDKSH. Each of these requires an additional bit of setup work best described by their documentation.

Menu-based Shells

If you aren't a big fan of computing from the command line there are several utilities that provide a menu-based shell. All these utilities can be found on various local and IBM BBSs, CompuServe and the Internet.

TSHELL and MSHELL are the "lightest" shells, using a text-only menu of user-defined options and, in the case of TSHELL, running programs. Neither of these shells use a mouse.

FILEBAR provides a drop-down menu interface that appears as a menu bar across the top of the screen. It also offers an interesting feature that lets you create "virtual" desktops with each having its own display. You can have up to 9 screens, arranged in a 3x3 matrix, each displaying one or more different applications rather than having them overlap on a single desktop.

PC2 offers an invisible menu system. The desktop appears blank until you single- or double-click on its surface. Then a vertical menu appears wherever you've clicked, with a list of either applications you've defined or a sub-menu entry. PC2 also offers virtual desktops and happens to be my favourite, even when using the WorkPlace Shell.

A number of other applications with their roots in the OS/2 1.x world can be used as shells. The older text-mode versions of HyperAccess/5 could be used as shells, as can many files-management utilities. In fact, any application that lets you issue OS/2 commands can act as shell.

Tuning OS/2 Warp for a Light Machine

Now that you have given yourself a little memory "headroom," you should check into CONFIG.SYS to see what other scraps of performance you can gather. The OS/2 Installation procedure does a pretty good job figuring out what equipment you have and adjusting itself accordingly. However, the procedure is rather conservative: it won't automatically tweak your system for "best" performance because it doesn't know what that means (to you) and it isn't about to make potentially-troublesome decisions on your behalf.

Since there are already a bazillion (well, nearly) places that OS/2 Tuning is documented, look for one that you already have. If you are already using the WorkPlace Shell look in the Information folder on the desktop for a book called Performance Considerations and follow its suggestions. From the command line you can

for the same thing.

There are a number of "Tuning" assistants on the shareware/freeware market that let you edit CONFIG.SYS with some documentation and suggestions provided while you edit. Look for a short review of Performance Plus in this issue of the newsletter for a utility that does some semi-automated tuning.

OS/2 tuning is a subject in itself, best left for another day. But here are some tuning "hotspots" that I do automatically with every install. They're listed roughly in order of what you'll gain for the effort, highest to lowest. Remember that any changes to CONFIG.SYS won't take effect until you shutdown and re-boot.

Turn CMOS ROM Shadowing OFF

OS/2 only uses your computer's ROM BIOS while it boots and then ignores it completely. Any Shadowing you may have done in the past for DOS speed will now waste precious memory as the shadowed RAM is hidden from OS/2. How to do this will depend on your machine.

Stick with the FAT Filesystem

Forget about long file names unless you think you can afford the 256k (1/4M) of memory needed for the HPFS file system, not to mention its separate disk cache. Near the top of your CONFIG.SYS is a line that reads

IFS=c:\os2\HPFS.IFS /CACHE:....

Put a "REM " in front of this line to keep it around for that lucky day when you do have enough memory.

Set MAXWAIT=2

This setting controls how long a thread must wait before it gets enough priority to run. Trust me on this one: the full explanation of the previous sentence is another article and will scare my Editor. OS/2 plays it safe and sets this to 3 by default, but I routinely set it to 2 with no troubles. On the very slowest machines you may want to try a number higher than 3.

Pre-allocate Swap Space

Assuming you have the disk space, it's always better to start your machine with a swap file as big or bigger than what it's going to be anyway. The default is just about always too small for what people do when they really start to use OS/2. To find your best setting, first see where your swap file is located by looking into CONFIG.SYS for a line like

SWAPPATH=C:\OS2\SYSTEM 2048 2048

and then do a DIR on that location, looking for a file called SWAPPER.DAT. The file will be as large or larger than the second number in the statement above. If it's larger, then you're already wasting time making it larger and smaller. Next, load up those applications you normally use and are likely to load together. Go back and do another DIR and you'll likely see that your SWAPPER.DAT has grown. Take its current size, add 20% and use that number in place of the second number in the statement above.

Consider whether you want to run DOS at all

Removing DOS support and running only OS/2 applications can give you a fair performance boost. In order to support DOS, OS/2 must reserve the first 640k region of memory for exclusive use by DOS applications, in order to handle ones that expect to run exactly here in DOS. Removing DOS support frees this 640k for all OS/2 applications to use.

Use Selective Uninstall to remove DOS support, and make sure that you see

PROTECTONLY=YES

in your CONFIG.SYS. Selective Uninstall will also remove all the drivers OS/2 uses to create a "virtual" DOS environment to keep DOS applications from touching hardware directly.

From Here...

Now that you've created a lean, mean, multi-tasking machine you have taken another step forward in creating what I call a "computing appliance," capable of doing a whole bunch of things you'll eventually take for granted and wonder how you ever lived without, all the time, at your command. Let's face it, software is never completely bug-free, so if you stick to running what you actually need and use you can either lessen the resources you require or make more of what you have.