GCC also offers 64-bit signed and unsigned integer math with the long long types. These capabilities cover the last bullet above. A single Linux module will handle all of the others except the interrupt handlers. A module is a section of code that can be added to the kernel at run time. The functions within a module run in kernel mode and have access to all the facilities available to the kernel.
Modules can export symbols and call functions in other modules.
Modules are added to the kernel and dynamically linked by running the insmod program. Using modules to satisfy the DOS diagnostics resource access One approach to giving the DOS diagnostics access to the system resources is to write a device driver module for each chip and rewrite the low level DOS diagnostics routines to open and use the device drivers. This approach is undesirable because of the potentially large number of devices used and the large number of code changes to the existing DOS diagnostics source code. The number of modules required can be cut down considerably by creating a single module to provide general-purpose access to the kernel for each of the resource classes. The request parameter identifies the service required of the module.