Computer Software and Hardware:
What is Software?
Software is an internal set of programs that are designed to perform a well-defined function. The software is created by grouping various related programs. A program is a sequence of instructions written to solve a particular problem. The programs are created in computer programming languages. These software is created by programmers and distributed by using disks or the Internet.
Software is the deriving force behind the working of computers. Without the presence of software, the computer is as good as a piece of plastic and metal. Hardware can be considered as organs and the software is life that moves inside these organs. Both of them cannot perform their function without the presence of each other.
|In simple words, Software represents the set of programs that govern the operation of a computer system and make the hardware run.|
Characteristics of Software:
Different individuals judge the software on a different basis. This is because they are involved with the software in different ways. However, the software characteristics can be generalized into four major components.
- Reliability- Ability of the software to perform the required function under stated conditions.
- Efficiency- Ability of the software to use system resources.
- Functionality- Ability of the software to meet the specified function for which it is developed.
- Portability- Ability of the software to be used across different platforms (different operating systems) as well as different hardware.
Types of Software:
The software can be classified broadly into three categories i.e. system software, application software and utility software. Both the system software and application software are important for a computer system, as they are complementary to one another. Without system software, computers cannot run and without application software, computers cannot meet the requirements desired by users. Utility software helps in the maintenance and smooth functioning of the computer system.
It is a basic code or set of instructions that ‘initialize’ the machine so as to make it operational. Much of the software will be a program or a group of programs, which contributes to the control and performance of the computer system. Such programs are given the collective name system software.
Some of the functions performed by the system software are:
- Prepare the computer to take commands from the user.
- Translate these commands in the machine-understandable form.
- Build a bridge between the user and the computer.
- Optimum utilization of the resources of the computer system etc.
System software may or may not work on all types of computers, i.e. they may or may not be portable across various types of computer systems. For instance, mainframes generally use their own specific systems of software, which are not interchangeable even amongst other mainframe systems. However, smaller computers like PCs and other lower-end systems do use system software that is portable across different types of systems.
The system software can be categorised into the operating system and language processor. The programmers who develop system software are called system programmers and are specialists and experts in their fields.
The operating system is the most basic program in a computer which monitors the execution of the user program and the use of computer resources (such as input/output devices, memory, processor and so on). The operating system makes a computer system easy to use and manages the resources of the computer system efficiently. Examples of some common operating systems are Microsoft Disk Operating System (MS-DOS), Microsoft Windows, UNIX, Linux, and so on.
|In simple words, an Operating System is an integrated set of programs that are used to manage various resources and overall operations of a computer system.|
The operating systems perform the following functions:
- Provides the instructions to prepare the user interface i.e., the way to interact with users whether through typed commands or through graphical symbols.
- Loads necessary programs (into the computer memory) which are used for proper computer functioning.
- Coordinates how programs work with the CPU, keyboard, mouse, printer and other hardware as well as with other software.
- Manages the way information is stored on and retrieved from disks.
As programmers prefer to write their programs in one of the high-level languages because it is much easier to code in such languages. However, the computer does not understand any language other than its own machine language (binary language) therefore, it becomes necessary to process a high-level language program so as to make it understandable to the computer. The system programs which perform this very job are language processors. The language processors are given below-
- Assembler is software that reads a program written in the assembly language and translates it into the machine-level language.
- Interpreter converts a high-level language program (like Visual Basic) into the machine code line-by-line. It converts one line, if there is no syntax error it will execute this line and if there is no logical error it goes to the second line and repeats these steps till all the statements are converted and executed. The whole cycle is alternately converting and executing the program statements till it reaches the end of the program or till it encounters an error.
- Compiler is used to convert a program written in a high-level language (like C or PASCAL) into a machine language. A compiler translates a user-written program into a machine language in one go. Note that after translation, the compiler reports all the errors of the program along with the line numbers. Once the translation is complete, a linker is used to convert the machine code into an executable code.
Therefore, if we combine interpreter and compiler, it gives the best combination for high-level language program translation into object code. For the error removal, an interpreter can be used and after all the errors are removed and the programs can be compiled enabling the removal of the language translator from the memory.
A computer can perform different functions by changing programs. Many tasks that you work on with a computer are known as applications and the programs you use to perform them are known as application software or application programs. For example, an application is writing a letter, preparing a budget or creating a mailing list. The application programs you use for these applications are word processors, spreadsheets and database managers. The development and wide distribution of these inexpensive and useful applications programs are what has made the computer an extremely useful tool for everyone throughout the world. The application program you use depends on the task you want to perform. New PCs are usually equipped not only with system software but also with some application software.
There are two main categories of application software- General and Customised Application Software.
- General Application Software- This type of software is developed keeping in mind the general requirements for carrying out a specific task. Many users can use it simultaneously as it fulfills the general requirements.
- Customised Application Software- This type of software is tailor-made software according to a user’s requirements. The software is developed to meet all the requirements specified by the user. However, this cannot be directly installed at any other user’s workplace as the requirements of the user may differ from the first one and the software may not fit in the requirements of the new user.
Utility software are the programs that perform day-to-day tasks related to the maintenance of a computer’s hardware or data. These programs are usually bundled along with the operating system. Some common functions for which the utility programs are deployed include disk management, file management, virus protection, encryption/decryption, etc.
It represents the physical and tangible components of the computer i.e., the components that can be seen and touched. Or we can say that collectively, the electronic, electrical and mechanical equipment that makes up a computer are called hardware. Input devices, output devices, CPU, floppy disk, hard disk, etc. are examples of computer hardware.