Multitasking
While your working computer may
be viewed as running one gigantic program stored in its main memory, in some systems
it is necessary to give the appearance of running several programs
simultaneously. This is achieved by multitasking i. e. having the computer
switch rapidly between running each program in turn. [70]
One means with which this is done is with a special signal called an interrupt
, which can periodically cause the computer to stop executing instructions
where it was and do something else instead. By remembering where it was
executing prior to the interrupt, the computer can return to that task later. If
several programs are running "at identical time". then the interrupt
generator might be causing several hundred interrupts per second, causing a
program switch each time. Since modern computers typically execute instructions
several orders of magnitude faster than human perception, it may appear that
many programs are running at the same time even though only one is ever
executing in a given instant. This method of multitasking is sometimes termed
"time-sharing" since each program is allocated a "slice" of
time in turn. [71]
Before the era of cheap computers, the principal use for multitasking was to
allow many people to share the same computer.
Seemingly, multitasking would cause a computer that is certainly switching
between several programs to run more slowly, in direct proportion to the number
of programs it is running, but most programs spend much of their time waiting
for slow input/output devices to complete their tasks. If a program is waiting
for the user to click on the mouse or press an essential on the keyboard, then
it will not take a "time slice" until the event it is waiting for has
occurred. This frees up time for other programs to execute so that many
programs may be run simultaneously without unacceptable speed loss.
No comments:
Post a Comment