Hardware and Software
Hardware refers to the physical elements of a computer. This is also sometime called the machinery or the equipment of the computer. Examples of hardware in a computer are the keyboard, the monitor, the mouse and the central processing unit. However, most of a computer’s hardware cannot be seen; in other words, it is not an external element of the computer, but rather an internal one, surrounded by the computer’s casing (tower). A computer’s hardware is comprised of many different parts, but perhaps the most important of these is the motherboard. The motherboard is made up of even more parts that power and control the computer.
In contrast to software, hardware is a physical entity. Hardware and software are interconnected, without software, the hardware of a computer would have no function. However, without the creation of hardware to perform tasks directed by software via the central processing unit, software would be useless.
Hardware is limited to specifically designed tasks that are, taken independently, very simple. Software implements algorithms (problem solutions) that allow the computer to complete much more complex tasks.
Software, commonly known as programs or apps, consists of all the instructions that tell the hardware how to perform a task. These instructions come from a software developer in the form that will be accepted by the platform (operating system + CPU) that they are based on. For example, a program that is designed for the Windows operating system will only work for that specific operating system. Compatibility of software will vary as the design of the software and the operating system differ. Software that is designed for Windows XP may experience a compatibility issue when running under Windows 2000 or NT.
Software is capable of performing many tasks, as opposed to hardware which can only perform mechanical tasks that they are designed for. Software provides the means for accomplishing many different tasks with the same basic hardware. Practical computer systems divide software systems into two major classes:
- System software: Helps run the computer hardware and computer system itself. System software includes operating systems, device drivers, diagnostic tools and more. System software is almost always pre-installed on your computer.
- Application software: Allows users to accomplish one or more tasks. It includes word processing, web browsing and almost any other task for which you might install software. (Some application software is pre-installed on most computer systems.)
Software is generally created (written) in a high-level programming language, one that is (more or less) readable by people. These high-level instructions are converted into “machine language” instructions, represented in binary code, before the hardware can “run the code”. When you install software, it is generally already in this machine language, binary, form.