A piece of computer software is a program that allows the owner to use his or her computer. The hardware consists of all of the physical components of a computer, and the software consists of the programs that are compiled to allow the hardware to operate. Types of software include operating systems, applications, and compilers to write computer programs. A majority of software is designed to be easy to install and use so that any consumer can have access to it. Other types are more advanced and require knowledge of computer programming languages in order to use them.
The operating system is often considered the most important piece of computer software. This is a program that allows the user to communicate with the internal components of the computer through inputs such as a mouse and keyboard and relay virtual images to a computer monitor. Windows, Macintosh, and Linux are examples of operating systems. These systems allow the user to run other software programs, print items, and surf the Internet, among other tasks. They also help all of the internal components of the computer to run smoothly by allowing them to communicate with each other and different user inputs, partitioning memory, and launching and shutting down different software programs.
An application is a piece of computer software that is added on top of the operating system. The term computer program most often refers to applications. These can include word processing programs, Internet browsers, and most other types of consumer programs. Computers are usually sold with some applications already installed, such as a word processor, an Internet browser, and a music player. Consumers are able to purchase additional applications by downloading them from the Internet or purchasing them in the form of CD-ROMs, DVDs, and other formats. The user must then install the application in order for it to run. Some applications have to be launched and operated by the user, such as video editing or accounting programs. Other pieces of computer software run in the background without much notice, such as virus protection programs.
More advanced users will sometimes purchase computer software that can be use to write, test, and implement new computer programs. These programs often come with a software compiler that is specific to an individual computer programming language, such as Java or Visual Basic. Using this software, a programmer can write a computer program, test it, and perform other advanced functions.