lampi@pnet02.gryphon.com (Michael Lampi) (12/28/89)
For all of you confused by the contradictory musings regarding multi-tasking, multi-processing, etc., here's another term: multi-programming. Fact: you can not have a multi-processing system without multi-processors; i.e., multiple processing units; e.g., cpu's. This is regardless of memory mapping registers, virtual memory, etc. Fact: the mainframe systems that Mark Crispin speaks of were mostly single (uni-) processor systems, that executed programs in a pseudo-simultaneous fashion. This fashion involved, typically, time slicing (timeshare machines) or priority-based schemes where, typically, programs ran until they made a system call that required I/O, during which lower priority programs could be executed. Multi-tasking is a term normally used to described systems capable of scheduling for execution more than one task 'at a time', performing context switching between the tasks as required. This can be performed on a single processor system or on a multiprocessor system. Multi-programming is a term normally used to describe mainframe systems where programs perform voluntary relinquishment of control in order to perform I/O, transaction processing, etc., and are normally run in a purely priority-based scheduling environment. Base registers, virtual memory, etc. have nothing to do with whether a system is multi-tasking, multi-programming or multi-processing. Strictly speaking, when your box can do more than one thing at any instant in time (instant being as short an interval as makes sense), then your box can be referred to as a multi-processor. The NeXT is not a 'general' multi-processor since the 56000 is not a general processor as is the 68K; however, it IS a multiprocessor system. Michael Lampi MDL Corporation 213/782-7888 fax 213/782-7927 UUCP: {ames!elroy, <routing site>}!gryphon!pnet02!lampi INET: lampi@pnet02.gryphon.com "My opinions are that of my corporation!"