| Today the computer is regarded as the most highly advanced machine used worldwide. It is a great help to people in every sphere of life. It is vital in medicine, aviation, scientific and technological spheres, finance and so on and so forth. We use it to contact our relatives and friends, to find data we require at a swit rate, to establish relationships, to get acquainted with other cultures, to keep well-informed about the most important issues and so on and so forth. Thus, the computer has a very important function in our everyday life.
As it can perform several operations at the same time, it is of a very complex system. Two main terms are typically mentioned when the computer is spoken about: hardware and software.
Hardware includes practically all devices on the computer, such as the motherboard with the CPU, the power supply, the video display controller, the removable media devices (floppy disc, CD-ROM Drive/Writer, DVD-ROM Drive/Writer), the internal storage devices (for example, hard disk), the sound card, the external constituents of a computer system (output and input devices). Hardware is something tangible, as the devices exist physically.
For the hardware devices to operate as a complete unit an appropriate software is required to supervise the functionality of the devices. In comparison to hardware, software is immaterial and includes programmes, data, protocols and so on. Software is usually stored on the hard disc and is invoked by the operating system to perform certain tasks.
Device drivers are computer programmes which are aimed at interacting with the hardware devices. A driver typically interacts with a hardware device via the computer bus or communications subsystem that hardware is connected with. When a calling programme invokes a set of instructions in the driver, the driver issues orders to the device. Having obtained data from the device, the software driver invokes routines in the calling programme. In fact, the driver is intended for facilitation of programming by operating as an abstraction layer between a hardware device and an application or the operating system which uses it. So, it is hardware-dependent and operating system-specific.
The words software and firmware are closely related and can be interchangeable sometimes. In fact, firmware is a specific kind of software which supervises simple operations in a hardware device without which a device would not function.
As seen from the above mentioned, neither hardware nor software can function separately from the other, as they make up a whole. |