Windows 3.1 attempted to provide multitasking so that you could do more than one task at a time, but it is very limited in its capability, partially because it is still based on DOS. Windows 3.1 uses a type of multitasking called cooperative multitasking. In this type of multitasking, each application has to be willing to cooperate with other applications and surrender the processor to another program so that it can have some processor time.
With this type of environment, in which the end user has to rely upon the good intentions of all of the programmers who wrote the programs which are currently running on his or her computer, there is much reason for concern. A single program which refuses to yield the processor can cause everything else in the computer to come to a screeching halt. You can demonstrate this by starting any program on a Windows 3.1 system which will perform a task for a period of time – say printing from a word processor, or downloading a large file from an electronic BBS – then insert a diskette and format it. Whatever else you have started will come to an almost complete stop while the diskette is being formatted. Programs which do not work well together can also cause General Protection Faults (GPFs) and crash the entire system.