| At the present time the computer is regarded as the most advanced machine exploited all over the globe. It is a big help to everyone in every field of life. It is of great importance in medicine, aviation, scientific and technological spheres, finance and so on. We use it to stay in contact with our friends and relatives, to obtain information we require fast, to make friends, to explore the world around us, to keep informed about home and foreign affairs and so on. So, we are very dependent on the computer in our everyday life.
Since it is able to perform countless functions simultaneously, it is of a very complicated structure. Two main notions are usually mentioned when the computer is talked about: hardware and software.
Hardware contains practically all devices of the computer, inclusive of 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 storing devices (for example, hard disc), the sound card, the external components of a computer system (input and output devices). Hardware is something you can see and touch, because the devices exist in the physical world.
To make the hardware devices function together a software is required to manage the functionality of the devices. In comparison to hardware, software is immaterial and includes programs, data, protocols and so on and so forth. Software is commonly placed on the hard disc and is invoked by the operating system to perform specified tasks.
Software drivers are computer programs which are aimed at interacting with the hardware devices. A driver usually interacts with a hardware device via the computer bus or communications subsystem that hardware is connected with. When a calling programme invokes a routine in the driver, the driver gives commands to the device. As soon as the device sends data backwards, the driver can invoke routines in the calling programme. On the whole, the driver is aimed at simplifying programming by operating as an abstraction layer between a hardware device and an application or the OS that uses it. So, it is hardware-dependent and operating system-specific.
The terms software and firmware are closely related and are interchangeable in some cases. In fact, firmware is a specific type of software that usually deals with low-level operations in a hardware device without which a device cannot function.
To conclude, neither software nor hardware can work separately from the other, as they make up a whole. |