Language of Digital Computers:
Digital computers are electronic devices which operate on two valued logic (On and OFF). The ability of a transistor to act as a switch is the key to designing digital computers. The digital circuits used in computers are bi-stable, one state each corresponding to ON and OFF values. The two valued Boolean logic (using two distinct symbols 0 and 1) serves as an appropriate representation of states of digital circuits. Every instruction and data item therefore needs to be represented only by using two symbols 0 and 1. Since machines are capable of executing 400-500 distinct instructions and a unique binary code is required to specify every instruction, the machine instructions are specified using multiple bits (binary digits). Similarly the data items also need to be specified using 0 and 1 only. Numbers, alphabets and other characters can be represented by using some binary code system. The next section describes in detail the binary number system and different binary codes.
Though computers use a kind of binary language, we would never like to use them if we are forced to learn and use binary language for working on a computer. In fact, had this been the case, computers would have never become popular. To bridge the gap between the language used by computers and human beings, software got evolved. Software acts as an interface between the machine and the user. Initially the software performed only simple tasks of making the better utilization of machine resources and to make it more convenient for the user to use the machine. The convenience is the simplicity of the way through which users can give instructions to a computer. But as computers started becoming cheaper and popular, softwares to perform more complicated and domain specific tasks were written. Now we refer to these two varieties of softwares as System and Application software respectively. While systems softwares are concerned with driving the machine, application softwares provide task specific functionalities. System software is must to operate a computer system. Operating system is a kind of systems software whereas wordprocessing, database, accounting packages are all examples of applications software. Figure below presents the layered view of a computing system.