Introduction to Computers


Computer Hardware:

Hardware is the term given to the machinery and the various individual piece of equipment. It refers to the physical devices of a computer system. Hence the input, storage, processing, control, and output devices are hardware.


Computer Software:

A computer cannot do anything on its own. It must be instructed to do a desired job. Hence, it is necessary to specify a sequence of instructions, which a computer must perform to solve a problem. Such a sequence of instructions, written in a language, which can be understood by a computer, is called a computer program.


The term software refers to the set of computer programs, procedures, and associated document (flowcharts, manuals), which describe the programs, and how they are to be used. To be precise, software means a collection of programs, whose objective is to enhance the capabilities of the hardware.


A software package is a group of programs, which solve a specific problem or perform a specific type of job. For example, a word-processing package may contain programs for text editing, text formatting, drawing graphics, spelling checking, etc.


Relationship between Hardware and Software: In order for a computer to produce useful output, its hardware and software must work together. Nothing useful can be done with the computer hardware on its own, and software cannot be utilized without supporting hardware. Eq. Cassette player and songs recorded.


The following important points regarding the relationship between hardware and software are brought out by this analogy:

  1. Both hardware and software are necessary for a computer to do useful job. Both are complementary to each other.
  2. The same hardware can be loaded with different software to make a computer system perform different types of jobs, just as different songs can be played using the same cassette player.
  3. Except for upgrades (like increasing the main memory and hard disk capacitites, or adding speakers, modems, etc)., hardware is normally a one-time expense, whereas software is a continuing expense.


Types of Software:

  1. System software
  2. Application software


System software: System software is a set of one or more programs, designed to control the operation and extend the processing capability of a computer system. In general, a computer’s system software performs one or more of the following functions:

  1. Supports the development of other application software.
  2. Supports the execution of other application software.
  3. Monitors the effective use of various hardware resources, such as CPU, memory, peripherals, etc.
  4. Communicates with and controls the operations of peripheral devices, such as printer, disk, tape, etc.








Hence, system software makes the operation of a computer system more effective and efficient. It helps the hardware components work together, and provides support for the development and execution of application software (programs). The programs included in a system package are called system programs, and the programmers who prepare system software are referred to as system programmers.


Some of the most commonly known types of system software are:

  1. Operating Systems. : Every computer has operating software, which takes care of the effective and efficient utilization of all the hardware and software components of the computer system.
  2. Programming Language Translators: Programming language translators are system software, which transform the instructions prepared by programmers in a programming language, into a form which can be interpreted and executed by a computer system.
  3. Communication software: In a network environment (where no. of computers are interconnected together by communication network), communication software enables transfer of data and programs from one computer system to another.
  4. Utility Programs: Utility programs (also known as utilities) are a set of programs, which help users in system maintenance tasks, and in performing tasks of routine nature. Some of the tasks commonly performed by utility programs include formatting of hard disks or floppy disks, taking backup of files stored on hard disk on to a tape or floppy disk, sorting of records stored in a file in a particular order based on some key field(s) etc.


Application Software: Application software is a set of one or more programs, designed to solve the specific problem, or to do a specific task. For example, application software for payroll processing produces pay slips as the major output, and application software for processing examination results produces mark sheets as a major output along with some statistical reports. Similarly, a program written by a scientist to solve his/her particular research problem is also application software. The programs included in an application package are called application programs, and the programmers who prepare application software are referred as an application programmer.


There are millions of application software available for a wide range of applications, ranging from simple application such as word processing, inventory management, preparation of tax returns, banking, hospital administration, insurance, publishing, to complex scientific and engineering applications such as weather forecasting, space shuttle launching, oil and natural gas exploration, design of complex structure like aircrafts, ships, bridges, sky-rise building, etc. Some of the most commonly known application softwares are:


  1. Word-processing Software: Word-processing software enables us to make use of computer system for creating, editing, viewing, formatting, storing, retrieving and printing documents (written material, such as letters, reports, books, etc.).
  2. Spreadsheet Software: Spreadsheet software is a numeric data analysis tool, which allows us to create a kind of computerized ledger. A manual ledger is book having rows and columns, which accountants use for keeping a record of financial transactions, and for preparing financial statements.
  3. Database Software: a database is a collection of related data stored and treated as a unit for information retrieval purposes. Database software is sets of one or more programs, which enable us to create a database, maintain it (add, delete and update its records), organize its data in desired fashion (e.g. Sorts its records alphabetically name-wise), and to selectively retrieve useful information from it.
  4. Graphics Software: A graphics software enables us to use a computer system for creating, editing, viewing, storing, retrieving and printing designs, drawing, pictures, graphs and anything else that can be drawn in the traditional manner.
  5. Personal Assistance Software:  A personal Assistance software allows us to use personal computers for storing and retrieving our personal information, and planning and managing our schedules, contacts, financial and inventory of important items.
  6. Education Software: Education software allows a computer system to be used as a teaching and learning tool.
  7. Entertainment Software: Entertainment software allows a computer system to be used as an entertainment tool. A good example of such an application is computer video games.


Logical System Architecture:


The architecture basically depicts the relationship among the hardware, system software, application software and users of a computer system. As shown in the figure, at the center of any computer system is the hardware, which comprises of the physical devices / components of the computer system. Surrounding the hardware computer system. Surrounding the hardware is the system software layer, which constitutes the operating and programming environment of the computer system. That is, the software at this layer

is designed to hide the hardware details of the system from application programmers, and to coordinate the operations of the various hardware devices for optimizing the performance of all the devices. Surrounding the system software is the application software layer, which consists of a wide range of software, which are designed to do a specific task, to solve a specific problem. The final layer is the layer of users who normally interact with the system via the user interface provided by the application software.





















Embedded software

An embedded system is a special-purpose system in which the computer is completely encapsulated by the device it controls. Unlike a general-purpose computer, such as a personal computer, an embedded system performs pre-defined tasks, usually with very specific requirements. Since the system is dedicated to a specific task, design engineers can optimize it, reducing the size and cost of the product. Embedded systems are often mass-produced, so the cost savings may be multipled by millions of items.

Handheld computers or PDAs are generally considered embedded devices because of the nature of their hardware design can be as simple as the microcode instruction set of a microprocessor or as complex as the security software inside a set-top cable modem box. Embedded software performs a specific function not under the control of the primary user and is often used in conjunction with a digital signal processor and mixed-signal devices to form a DSP Solution.
 An embedded system is a special-purpose computer system, which is completely encapsulated by the device it controls. An embedded system has specific requirements and performs pre-defined tasks, unlike a general-purpose personal computer.

Examples of embedded systems

  • automatic teller machines (ATMs)
  • avionics, such as inertial guidance systems, flight control hardware/software and other integrated systems in aircraft and missiles
  • cellular telephones and telephone switches
  • computer equipment such as routers and printers
  • engine controllers and antilock brake controllers for automobiles
  • home automation products, like thermostats, air conditioners, sprinklers, and security monitoring systems
  • handheld calculators
  • household appliances, including microwave ovens, washing machines, television sets, DVD players/recorders
  • medical equipment
  • handheld computers
  • videogame consoles


The software written for embedded systems is often called firmware, and is stored in ROM or Flash memory chips rather than a disk drive. It often runs with limited hardware resources: small or no keyboard, screen, and little RAM memory.

Embedded systems reside in machines that are expected to run continuously for years without errors, and in some cases recover by themselves if an error occurs. Therefore the Software is usually developed and tested more carefully than that for Personal computers,


1. What is Embedded Software?

Embedded software is the interaction with the physical world. It executes on machines that are not, first and foremost, computers. They are cars, airplanes, telephones, audio equipment, robots, appliances, toys, security systems, pacemakers, heart monitors, weapons, television sets, printers, scanners, climate control systems, manufacturing systems, and so on.

Software with a principal role of interacting with the physical world must, of necessity, acquire

some properties of the physical world. It takes time. It consumes power. It does not terminate

unless it fails. The principal role of embedded software is interaction with the physical



Firmware: Computer software in conventional systems is supplied on storage media like CDs, floppies, tapes, disks, etc. However, with the advancement in technology, and reduction in hardware cost, today, software is also being made available by many computer manufacturers on read-only memory (ROM) chips. These chips can be easily plugged into the computer system and they form a part of the hardware. Such programs, which are made available on hardware, are known as firmware. Firmware often refers to sequence of instructions (software), which is substitute for hardware. Initially only system software was supplied in the form of firmware. However, today, even application programs are being supplied in firmware. Firmware is frequently a cost-effective alternative to wired electronic circuits.