Here is an example. When you install an Ethernet NIC (network interface card) in your PC, you may need to install a device driver. This device driver understands the integrated circuits used on the NIC, and provides basic abilities to receive and transmit data.
However, this does not mean that you can use this NIC to network with other computers. A device driver provides very low level functionalities. It does not provide high level functionalities, such as the ability to communicate with another computer using TCP/IP (transport control protocol/internet protocol). TCP/IP support is provided by a service.
A TCP/IP service, bound to the device driver of a NIC, provides an interface to the operating system kernel. This interface is in the form of special and ordinary file operations. To the kernel, the connection of a computer to another computer is viewed as a file that it can open, close, write to and read from.
It is important to understand that services are modular. In other words, it is possible to add additional services to an operating system. For example, most operating systems include IPv4 (Internet protocol, version 4) services. When the time comes, these operating systems can install a new service and support IPv6 (Internet protocol, version 6). Adding a new service should have no impact to the kernel nor device drivers.
Copyright © 2006-05-10 by Tak Auyeung