Architecture Appropriate to the Task

Mainframes where expensive machines so they were designed to run more than one program at a time. The interleave memory and IO Processors made sense because the main processor, which was much more expensive than the IO processor, could continue to work while the data was being transferred to the memory. Mainframes gained performance from two features of the IO processors. First, the IO processor alleviated the main processor from communicating with the disk hardware which was time consuming. The main processor would send simple instructions to the IO Processor on what data it wanted and where to put it, and then the main processor could go off and execute a program while the IO Processor did the work. The second gain in performance was when the data was ready to be move to memory. This was in many cases the smaller performance gain because the data transfer was usually (but not always) small.

PC’s were designed to be personal. The designers expected them to be used by individuals running one program at a time, like a word processor or a spreadsheet. The main operating system for the IBM PC, DOS, was a single tasking operating system. It could only do one thing at a time and all IO had to complete before it moved to the next task.

Some people wanted to use PC’s for mainframe like tasks, but they quickly found the architecture was not designed for this type of processing. Two of the first operating systems for PC’s to support more than one task were Novell Netware and UNIX.