The physical components of a computer, and the various accessory devices that can be added or removed, are termed hardware.
According to processing function hardware can be classified into 3 categories-
a. Input Unit b. Processing Unit c. Output Unit
According to physical groups, they are classified as:
a. System unit b. Peripherals
Software is a set of computer instructions or data. Anything that can be stored electronically is software. The storage devices and display devices are hardware. Software is a complete, self-contained set of computer instructions that used to perform a specific task, such as word processing, accounting, data management, controlling hardware as well as software. Software is untouchable. Software exists as ideas, concepts, and symbols, but it has no substance.
The terms software and hardware are used as both nouns and adjectives. For example, you can say: “The problem lies in the software,” meaning that there is a problem with the program or data, not with the computer itself. You can also say: “It’s a software problem.”
The distinction between software and hardware is sometimes confusing because they are so integrally linked. Clearly, when you purchase a program, you are buying software. But to buy the software, you need to buy the disk (hardware) on which the software is recorded.
e.g., Books provide a useful analogy. The pages and the ink are the hardware, while the words, sentences, paragraphs, and the overall meaning are the software. A computer without software is like a book full of blank pages. We need software to make the computer useful just as we need words to make a book meaningful.
Software is often divided into two categories:
Refers to the operating system and all utility programs that manage computer resources at a low level. Systems software includes compilers, loaders, linkers, and debuggers. For example the Operating System is the most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers. Operating systems provide a software platform on top of which other programs, called application programs, can run.
A program or group of programs designed for end users. Applications software (also called end-user programs) includes database programs, word processors, and spreadsheets. Figuratively speaking, applications software sits on top of systems software because it is unable to run without the operating system and system utilities.
Programming Software or Programming Language is sometimes referred to application software. It is a discipline of software development that follows a specific structure that is designed to simplify and expedite the process of developing new software. It is a vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. The term programming language usually refers to high-level languages, such as BASIC, C, C++, COBOL, FORTRAN, Ada, and Pascal. Each language has a unique set of keywords (words that it understands) and a special syntax for organizing program instructions.
High-level programming languages, while simple compared to human languages, are more complex than the languages the computer actually understands, called machine languages. Each different type of CPU has its own unique machine language.
Lying between machine languages and high-level languages are languages called assembly languages. Assembly languages are similar to machine languages, but they are much easier to program in because they allow a programmer to substitute names for numbers. Machine languages consist of numbers only.
Lying above high-level languages are languages called fourth-generation languages (usually abbreviated 4GL). 4GLs are far removed from machine languages and represent the class of computer languages closest to human languages.
Regardless of what language you use, you eventually need to convert your program into machine language so that the computer can understand it. There are two ways to do this: either compile the program or interpret the program
Software that is embedded in a hardware device that allows reading and executing the software, but does not allow modification (e.g., writing or deleting data) by a user is called Firmware.
On another way, software (programs or data) that has been written onto read-only memory (ROM) is firmware. Firmware is a combination of software and hardware. ROMs, PROMs and EPROMs that have data or programs recorded on them are firmware.
An example of firmware is a computer program in a read-only memory (ROM) integrated circuit chip.
CMOS (complementary metal oxide semiconductor) memory chip that contains BIOS Program to hold the date, time, and system setup parameters is an example of Firmware.
How Computer Hardware & Software work together:
After booting, the OS waits for user’s instruction from any input devices. When a user types a command or clicks on an icon or press a button, user is telling the computer what to do. That is called input. The first input, provided by user is to turn on the computer (i.e., Booting the computer) and get ready to take more inputs. The next step happens when the user choose a program to perform his desired task. User clicks on the icon or enter a command to start the program that is related to his task. For example, the user is trying to open a file (e.g., Application.doc) to print which is stored in the hard disk.
When a user clicks on the icon of an MS Word Document file, the OS gives the program name using the file name extension that is necessary for opening the file. Generally, Microsoft Word file is stored as *.doc extension.
If the program (MS Word) exists in memory (RAM) then, the program starts. Otherwise, OS enables the HDD and loads the program to RAM.
Again, the Microsoft Word gets the address of the file and tells the OS to load it.
If the file does not exist in the RAM, OS enables the HDD and looks for the address of the file in the HDD. Once OS get the file’s location, it lads it to RAM and hands it over to the MS Word program.
MS Word represents the file user readably so that it can be modified.
If user decides to print the page, he clicks on the printer icon. Again, he has provided input to tell the computer what to do.
The MS Word software tells the OS to print it. OS determines whether user has a printer attached to his computer, and whether it is turned on. It may remind user to turn on the printer, and then send the information of the file from the computer over the cable to the printer. The printer gets the information and prints the file on the paper.