7 Multi Tasking The operating system includes pre-emptive multitasking with pipes and signals for interprocess communication. Programs can readily and automatically pass input and output among themselves, even if they are all operating simultaneously. Disks can be accessed by multiple programs at once, without damage. Multitasking is a highly desirable characteristic in an operating system. It simply means that it is able to run more than one program at once. It does this by ‘sharing’ the central processor among the multiple programs. If all goes correctly, this sharing is sufficiently fast that everything appears to be running simultaneously. Thereare, ofcourse, somedisadvantages.
Anyindividualprogramwill runslower, since it is sharing its time. Also, it is not appropriate for programs which demand keyboard input, and produce rapid display updates, such as games. It tends to mean that programmers must think more carefully about exactly how their pro- grams will produce output. However there are many tasks where you will be happy to start a program, and then do something else until the results are obtained. For example, you can start assembling or compiling a program in background (since this can take a minute or so), and continue editing a file. Or you can start a print out in background, and play a game while things are printing.
Another typical use is running a serial terminal in background. By use of the vcon utility programs on the Users Disk, you can obtain multiple ‘virtual consoles’, so several programs can each display their output simulta- neously. You see either a number of small ‘windows’ in which the various outputs appear, or else swap between several full size displays whenever you wish. The only home computer systems that include full pre-emptive multitasking are the Applix 1616 and the Commodore Amiga, and computers running expensive operating systems such as OS-9 or Unix.
MS-DOS machines, the Atari ST and the traditional Apple Macintosh do not provide multitasking, although you can sometimes obtain a limited form of context switching (changing quickly from one task to another) in each by using additional programs from other companies. Multitasking introduced With much compatibility the system now supports multitasking, the full bottle, quite transparent to programs running under it. This means that you can run more than one program simultaneously. Most programs devised for earlier versions of 1616/OS will still run, but some may need alterations to their stack size (use the chmem utility provided on your User Disk).
Others (more rarely) may require changes to the source, and recompiling. First, some terminology, much of which is standard for modern multitasking operating systems such as U NIX and Minix. Multi Tasking User Tutorial Manual Page 55