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.
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:
Types of 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:
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:
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:
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.
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.
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
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.