| In the XXI century the computer is regarded as the most technologically advanced machine frequently used all over the globe. It is a great help to people in every sphere of life. It is irreplaceable in medicine, aviation, science and technology, finance etc. We power it up to stay in contact with our friends and relatives, to find information we require at a swit rate, to strike up a relationship, to get acquainted with other ways of life, to be well-informed about the most important issues and so on. So, we greatly depend on the computer in our everyday life. As it can fulfill numerous operations simultaneously, it is of a very complicated system. Two major terms are commonly used when the computer is talked about: hardware and software. Hardware contains 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 disk, CD-ROM Drive/Writer, DVD-ROM Drive/Writer), the internal storing devices (for example, hard disk), the sound card, the external elements of a computer system (input and output devices). Hardware is something you can see and touch, as the devices are material. For the hardware devices to work together an appropriate software package is required to take control over the work of the devices. Unlike hardware, software is immaterial and includes programmes, data, protocols etc. Software is commonly stored on the hard disk and is invoked by the operating system to perform specified functions. Software drivers are computer programmes that are aimed at interacting with the hardware devices. A driver typically interacts with a hardware device by means of the computer bus or communications subsystem that hardware is linked with. When a calling programme invokes a routine in the software driver, the driver gives orders to the device. When the device sends data backwards, the driver can invoke routines in the calling program. By and large, the driver is designed to simplify programming by functioning as an abstraction layer between a hardware device and an application or the operating system which uses it. Therefore, it is hardware-dependent and operating system-specific. The notions software and firmware have much in common and are interchangeable in some cases. In fact, firmware is a specific kind of software that supervises basic operations in a hardware device without which a device cannot operate. Taking into account the above stated we can conclude that hardware and software form a complete unit and, so, cannot operate separately. |