Previous: 1.1.3 Utility Programs
Up: 1.1 Computer System Organization
Previous Page: 1.1.3 Utility Programs
Next Page: 1.2 Representing Data and Program Internally
Above the utilities in Figure 1.1 is the block labeled User Programs. It is at this level where a computer becomes specialized to perform a task to solve a user's problem. Given a task that needs to be performed, a programmer can design and code a program to perform that task using the text editors, compilers, debuggers, etc. The program so written may make use of operating system facilities, for example to do I/O to interact with the program user. It is at this level that the examples, exercises and problems in this text will be written.
However, not everyone who uses a computer is a programmer or desires to be a programmer. As well, if every time a new task was presented to be programmed, one had to start from scratch with a new program, the utility and ease of using the computers would be reduced. These days packages of predefined software, or Applications, are available from many vendors in the industry. Highly functional word processors, desktop publishing packages, spread sheet and data base programs and, yes, games are readily available for computer users as well as programmers. In fact, perhaps most computer users these days access their machines exclusively through these application programs.
A computer system is typically purchased with an operating system, a variety of utilities (such as compilers for high level languages and text editors) and application programs. Without the layers of software in modern computers, computer systems would not be as useful and popular as they are today. While the complexity of these underlying layers has increased greatly in recent years, the net effect has been to make computers easier for people to use.
In the remainder of this Chapter we will take a more detailed look at how data and programs are represented within the machine. We finally discuss the design of programs and their coding in the C language before beginning a detailed description in Chapter .