Software consists of programs that enable a computer to perform particular tasks, as contrast to its physical components that can only do the tasks they are mechanically designed for. In computer science and software engineering, computer software is all computer programs. There are many types of software, such as word processors, system software, and middleware.
The term “software” is sometimes used in a broader context to explain the electronic media content which embodies expressions of ideas such as film, tapes, records, etc. The application software such as word processors perform the productive tasks for users, system software such as operating systems interface with hardware to run the necessary services for user-interface and applications and middleware controls and co-ordinate the distributed systems.
In computers, software is loaded into RAM and executed in the central processing unit. At the lowest level, software consists of a machine language that is particular to an individual processor. A machine language consists of the groups of binary values signifying processor instructions that change the state of the computer from its preceding state.
Computer software is an ordered sequence of instructions to change the state of the computer hardware in a particular sequence. It 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. Computer software may also be written in an assembly language, a mnemonic representation of a machine language using a natural language alphabet.
The computer systems divide software systems into three main classes: system software, application software and programming software. The systems software helps to operate the computer hardware and computer system. It includes operating systems, device drivers, diagnostic tools, servers, windowing systems, utilities. Programming software usually provides tools to assist a programmer in writing computer programs and software using different programming languages in a more convenient way.
Posted in