In previous articles in the History of the Computer series we looked at adding, counting, and memory etc. But what are we going to do with these components? How do they all tie together? What is the connection between Windows or a form you fill out for the Government, and the bits of a computer we have looked at?
We are looking at general purpose commercial computers here, which means that, within reason, anyone can buy a computer and use it for their business. For example an oil company might use it to analyse survey results carried out in the South Atlantic. An Airline could use it to schedule freight shipments between Caracas and other South American Airports. The same computer could be used to run a bank's ATM network. All of these could simultaneously run what we may consider the most important program, the Payroll!
How do these users get 'their' system to run their business on the same computer as another user with an entirely different business? The answer of course is - software. But what is software?
You could ask different people in IT this question, and get different answers. A programmer working in Java sees a different aspect of software from an analyst working on the operating system. A different view again is seen by the design engineer making sure the computer follows its instructions.
The difference is in the level of separation from the 'works'. The java programmer does not need to consider how the computer knows when it has finished multiplying two numbers. He doesn't even know that it is multiplying, or even what type of computer his program is running on. The analyst is aware of how the computer handles the 'bits' and uses this knowledge to make the operation more efficient.
We are concerned here with how the computer carries out its task, rather than how someone might wish to use it, but it is interesting to know what may be relying on its smooth operation.
A program consists of a series of commands to the computer to perform various tasks. As we have seen, the computer works in '1s and 0s', so its no good feeding a java script on a card into the slot on the front of the machine, like you may have seen in early black and white movies! There are other programs, like compilers and interpreters to reduce the 'code' the programmer writes to 'machine code'.
Different proprietary systems, like IBM or Univac, had different architecture - hardware design (and different operating systems to make them work). However the principle is the same. We will look at a small program to see how the computer would handle it.
In Part 2 we will look at how a machine code program is made up to instruct the logic.
Tony is an experienced computer engineer. He is currently webmaster and contributor to http://www.what-why-wisdom.com A set of diagrams accompanying these articles may be seen at http://www.what-why-wisdom.com/history-of-the-computer-0.html RSS feed also available - use http://www.what-why-wisdom.com/Educational.xml