What is Multitasking and Why Should I Be Interested In It?

From OS2World.Com Wiki
Jump to navigation Jump to search

By John Kozacik

First of all, some common-sense observations about the software that starts up your computer, lets you give your computer instructions and acts as the foundation for all your programs. The overwhelmingly predominant PC operating system (DOS) is old. It had its origins back in the 1970s with microcomputers that used the 8-bit Z-80 processor. This precursor of DOS was called CP/M and you wouldn't have much difficulty recognizing it and today's DOS as close relatives. At the time, CP/M was not anything special as 8-bit operating systems went. However, the company that created it did such a good job marketing it that it became a de facto standard. Technically (and non-technically), DOS is an equally undistinguished product, but has achieved most of its success in pretty much the same way as CP/M: marketing. Because so many PCs ran DOS and because DOS was (is) so simple and limited, anyone who enjoyed tinkering with computers was able to create a program and make money selling it. Thus a market and then an industry grew up around this old, ho-hum software product. The ultimate program (in terms of market share) to run on DOS was a graphical user interface that bore a poor likeness to the Apple Macintosh interface. This, of course, was Microsoft's Windows. Why am I being so unkind to two pieces of software that made one businessman in this industry a billionaire 9 times (at last count) over? Because DOS is such a limited product that it shackles what any program that depends on it can do, and because there have always been better products on the marketplace. If we as user's want to spend less time waiting for our computers to do stuff for us, and especially if we want to spend less time seeing our computers to come back to life after having fallen on their faces for the umpteenth time, it helps to know that there are other solutions on the marketplace. A multitasking operating system is one of those other solutions.

Whatever multitasking is, it requires a 'real' operating system as well as a modern one, so that lets DOS out of the picture. A multitasking operating system has machinery that works in the background to optimize your computer's ability to do work. More simply put, your computer will run faster and your applications will be easier to work with because you will spend less time waiting for things to happen. How this is accomplished is very complicated. However, what is accomplished is pretty understandable.

First of all, under a multitasking operating system the speed with which your computer can accomplish a single task is increased. A computer running under a single-tasking operating system (for the sake of simplicity it's reasonable to use DOS for this term) does only one thing at a time given a long sequence of things. That is, something you're doing may take 26 steps, say a through z. Some of those steps may take a few thousandths of a second and some may take several seconds. Each one gets done, one after the other, regardless how long each step takes. Picture a que in a bank with a single teller handling every customer's transactions. One customer might want to deposit a week's worth of deposits from her business, and another, get two 5's for a 10. If that teller could make change or cash checks while the depositor with the week's business to transact was standing there putting all of the deposit slips in order, things would speed up because the teller would take advantage of periods of time that he or she would normally spend waiting for a response from the customer. Since a multitasking operating system provides this machinery, a task (say reading from a floppy) that takes a long time because the computer is waiting for the piece of hardware to respond can utilize these waiting periods to do other things, say putting characters on the screen. Only one thing at a time is being done, but more can be done because normally wasted time is being used.

This background machinery is invisible to the developer, the person who writes the programs you use. What a developer sees is not idle time that's available for use, but rather, using the example of the bank teller, multiple tellers that tasks can be sent to. So when the developer has to give you the ability to do something that takes a long time, he or she can send that task, effectively, to a new teller (called a thread in programming terminology). It's kind of like asking your spouse to fix you an iced tea while you're in the middle of a job. You make your request and then, a little later, with no further thought on your part, something you need gets accomplished. Programs that are written to take advantage of a multitasking operating system can be much more responsive. Printing, opening a new file, reformatting a section of text can all be sent off as tasks, which means you don't stare at the screen waiting for things to happen.

While the mechanics of handling all this may be a bit mind-boggling, what you see is that you can get things done faster, perhaps... The perhaps comes in with how you perform your work. If you have gotten in the habit, because you use DOS, of only expecting one thing to be done at a time, then multitasking won't give you anything. For example, you're about to print a several page letter. You select the print icon and sit and wait while Ami Pro begins processing the data and sending it to the print manager, because you can't do anything else. Right? Wrong! If you're running a multitasking operating system you hit a key or two and go on and do something else, or, if you are using the version of Ami Pro that runs under a Multitasking Operating System, you can continue doing other work on that or another letter while Ami Pro is processing that letter for printing. If you leave Ami Pro and start doing something else the multitasking operating system machinery manages your computer, so you can open a graphics program or start a communication session, and 'off to the side', your document begins printing. So multitasking requires a little thinking about how you do your work. It's there to make things go more quickly, but you have to appreciate that this new ability is there and take advantage of it.

Another way that the advantage of multitasking becomes obvious is in doing backups. If you do backups (if?) your computer has to read data from your hard drive, compress the data, and then write that data to a floppy or tape. DOS does those things one step at a time. Some multitasking backup programs show you three windows that are active while the backup is taking place: one says READING DISK FILE nnn, another says COMPRESSING DATA xxx and the third says WRITING FILE mmm. The program shows you that the multitasking operating system is ensuring that your computer is as close to 100% busy as possible while it is doing this work. And, you could be reading this message while you were working on a spreadsheet! It turns out that you have to have quite a few things going on at the same time before the multitasking operating system will actually utilize your computer all 100% worth and you will see things slow down. This also means that, if you're running DOS, your computer spends an awful lot of time twiddling its thumbs while you're staring at the screen waiting for something to happen.

Net result: this is something that can make your work go a lot faster and smoother, but it is not something that does everything automatically for you, and it's not terribly useful to someone who uses their computer to write an occasional letter or spends most of their time working on a single spreadsheet project. You have to have a need, realize it's there and take advantage of it, so it means developing a new awareness of what you can do.

Where can you get a multitasking operating system and what does it cost? At this point in time there's only one product which is generally available and can be run on a relatively standard PC, and that's IBM's OS/2. OS/2 has a particular advantage in that it runs existing DOS and DOS/Windows programs very well, easing the learning curve and your investment and, right now, it's not very expensive to try it out.

Other competitors are in the wings, but this is the only mature (that is, tested by a large number of people on the open market for over a year) product available today. This area, in general, is new territory. There are no guarantees about what's going to succeed in the future, and who will find the greatest benefit. My interest in OS/2 is professional. It stems from the need to provide good stable business solutions for my clients. If you decide to take the jump to a Multitasking Operating System, it will be a big one both in terms of what your computer will be able to do for you and what you will be able to do with your computer.