UNIX Unbounded: A Beginning Approach

Chapter 1: First Things First


This chapter introduces basic computer concepts such as classes of computers, components of computer systems, types of computing devices and software categories. The objectives important to this chapter are:

  • What are computers?
  • Hardware/Software concepts
  • Components of computers

The book begins with a discussion of four classes of computers:

  1. Supercomputers - usually owned by governments, very large companies and research universities
  2. Mainframes - usually owned by companies (and above)
  3. Minicomputers - usually owned by small businesses (and above)
  4. Microcomputers - usually owned by individuals (and above)

The differences between them are mainly computing power. The power it takes for a machine to be considered in any given class, however, varies greatly as time goes by. The chart on page 4 is outdated, and any chart I put here may be outdated by the time you read this. There is a saying in the computer world known as Moore's Law. It says that the number of transistors you can put on a computer chip will double every eighteen months. This means that the complexity of today's best chip, and its basic computing power, is double that of the best we had a year and a half ago, and only half as good as the best we will have in another year and a half.

Four basic functions of all computer systems are:

  • input - taking data into the system
  • processing - performing some computer process with the data
  • output - flow of information out of the system
  • storage - retaining data over time

All four types of computers above have these functions in common.

Input devices, such as keyboards and mice, send data, information, or instructions to the computer.

It is important to know what a Processor is, but it is not relevant to most users what components are in it. The processor may be thought of as the brain of the computer. The more complex it is, the more it should be able to do.

Internal memory is an important concept. It is the memory used by the computer in performing any task. It holds instructions, data and results of operations. Without enough memory, some tasks cannot be done.

RAM is Random Access Memory, which is changeable, writeable, erasable, dynamic and volatile. ROM is Read Only Memory, which is static, unchangeable by the user.

Memory can be measured in several ways. The smallest unit is a bit, a binary digit. This is the equivalent of a switch in memory that is either set on or off. Usually, the code systems used on a computer will organize bits into eight-bit units called bytes.

It takes one byte to hold the value of a number from 0 to 255. So we use those numbers to represent the 255 characters in the ASCII character set. ASCII is an alphabet that most computers (PCs) know.

Since it take a lot of memory to handle contemporary programs, we measure memory in Megabytes and Gigabytes. These are pseudo-metric terms, mega meaning million, and giga meaning billion.

External storage device are also measured by how many bytes they hold. They are external to the main computer system, in the sense that they are not part of the critical circuits of the computer. A computer could run without a hard drive, a floppy drive or a tape drive, but it would not be as much use.

Output devices allow the computer to send information back to the user.

Software is a term that applies to programs that run on a computer. Two categories are system software and application software. The computer needs system software to communicate with its peripherals and the different parts of itself. Applications are programs that do a particular job for a user, like word processing, or telecommunications.

In the UNIX system we will learn that the system software comes in three layers:

  • Kernel layer - interacts with the hardware
  • Service layer - interprets traffic between the Kernel and the Shell
  • Shell or Command layer - allows the user to interact with the computer

Computer systems can be classified another way, as single user or multi-user systems. This means the processor expects one or many users at once.

Yet another way to classify computers is as single tasking or multitasking.

Exit the system with the exit command if possible, and with control-d if not.