Software, also known as computer programs, is the non-tangible component of computers. Computer software contrasts with computer hardware, which is the physical component of computers. Computer hardware and software require each other and neither can be realistically used without the other.
Software includes all computer programs apart from of their architecture, Such as executable files, libraries and scripts are computer software. Software consists of clearly-defined instructions that upon execution, instructs hardware to perform the tasks for which it is designed. Software is stored in computer memory and cannot be touched.
At the lowest level, executable code consists of machine language instructions specific to an individual processor – typically a central processing unit (CPU).
A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state.
Software is usually written in high-level programming languages that are easier and more efficient for humans to use than machine language.
High-level languages are compiled or interpreted into machine language object code.
Types of Software
Application software uses the computer system to perform useful work or provide entertainment functions beyond the basic operation of the computer itself.
Example: MS office.
System software is designed to operate the computer hardware, to provide basic functionality, and to provide a platform for running application software.
Example: Operating System
System software includes:
Operating system,
It is an essential collection of computer programs that manages resources and provides common services for other software. Supervisory programs, boot loaders, shells and window systems are core parts of operating systems.
Device driver
It is computer program that operates or controls a particular type of device that is attached to a computer. Each device needs at least one corresponding device driver; thus a computer needs more than one device driver.
Utilities, software designed to assist users in maintenance and care of their computers.
Article Source: https://en.wikibooks.org/