A flat model device driver for OS/2:Abstract of Project

The recent interest in Network Computers (NC) has kindled somewhat of a rebirth in as a platform for an Intel-based NC. With the bloated Workplace Shell and other Graphical User Interface (GUI) components removed, the OS/2 kernel makes a good foundation for a Java-based workstation. It requires the installation of a Java Virtual Machine (JVM) and the required operating system support for the Java Application Programming Interface (API). Once enabled, the system will allow for the execution of Java applets and Java applications using the underlying OS/2 kernel for memory management, scheduling, dispatching, and device support.

In order to take advantage of the new crop of device architectures now emerging, such as Universal Serial Bus (USB), Firewire, and others, the OS/2 device driver interface must be redesigned to support both the older 16-bit device drivers and a new crop of 32-bit device drivers (We have elected not to cover Virtual Device Drivers, or VDDs that are used to virtualize hardware for real-mode MS-DOS applications.). In order to insure continued support, the drivers should be written with currently available and supported 32-bit tools such as VisualAge C++ for OS/2 and the Microsoft 32-bit macro assembler.

To allow OS/2 to be used in a network configuration, perhaps in a diskless mode, the system must be able to dynamically load device drivers as needed from a local disk or from a server. This is a major change in the way OS/2 operates today. Currently, all device drivers are loaded at boot time, and are specified in the special CONFIG.SYS file. Adding or deleting a driver from the system requires that the CONFIG.SYS file is edited and the system rebooted to effect the change. Therefore, we regard the dynamic device driver-loading feature to be an integral part of our requirements and necessary for the successful implementation of our design.