Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!cbmvax!kevin From: kevin@cbmvax.UUCP (Kevin Klop) Newsgroups: comp.sys.amiga Subject: Re: Multitasking -multiprocessing Message-ID: <6531@cbmvax.UUCP> Date: 6 Apr 89 22:04:16 GMT References: <12479@louie.udel.EDU> Reply-To: kevin@cbmvax.UUCP (Kevin Klop) Organization: Commodore Technology, West Chester, PA Lines: 59 In article <12479@louie.udel.EDU> DAVEA%CERNVM.BITNET@cunyvm.cuny.edu (David Almond) writes: > >The difference is like looking at an eggtimer with a common focal point >, better utilisation of cpu. Multitasking is the ability to perform >more than one task at atime, usually on one cpu whereas multiprocessing >is the more complicated process of spliting computation into chunks >which are processed usually by a group of cpus. In that the amiga >has dedicated processers for graphics etc it is, to some degree multitasking, >but not in any sophisticated, scheduled sense. The transputer is the classic >multiprocessing machine so far. > > > ............. Dave As Dave said, Multi-tasking is an attempt to more fully utilize a CPU. Many programs need to stop and wait fairly often for an outside even, whether it is a for a floppy disk to finish an I/O operation, the RS-232 Port to dump out a byte, or (by far the slowest I/O device) the user to make a decision and respond. There are other times that a single-tasking machine might be just "burning CPU time", like in a real time simulation where the program actually simulates the process faster than would actually happen. In that case, the CPU sits and "does nothing" to stay in synch with the simulation. This wasted CPU time (on a single tasking machine) can be used by other programs to do things. Of course, there are times when two programs both want the CPU at the same time, or are greedy about CPU time and don't want to relinquish it. In that case there has to be some arbitration or scheduling, for which several schemes are possible. Multi-processing, on the other hand, can be implemented in many different ways. The two that come to mind readily are A) One processor per task, each processor executing (relatively) independent of each other, and each processor completing a whole task by themselves. B) More than one processor to a task, wherein a task is broken down into several parallel processing units, and each unit is given to a separate processor, which merrily chugs out it's part of the solution, passing any necessary intermediate results out for use by other processors, etc. The Amiga multitasks the main 680x0 processor via the operating system, and multiprocesses much of the I/O through the custom chips. Note that multi-processing does not mean that one must have IDENTICAL processors. -- Kevin -- Kevin Klop {uunet|rutgers|amiga}!cbmvax!kevin Commodore-Amiga, Inc. The number, 111-111-1111 has been changed. The new number is: 134-253-2452-243556-678893-3567875645434-4456789432576-385972