This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: Run-time Updating of Network Device Drivers Hiroyuki Tanaka, Yoshinari Nomura, and Hideo Taniguchi Graduate School of Natural Science and Technology Okayama University Okayama, Japan e-mail: email@example.com, firstname.lastname@example.org, email@example.com Abstract —Recent operating systems are capable of using dynamic loadable module functions to update the device driver programs without shutting down the entire system. However, even if a system continues to operate, some services provided by the device driver will be temporarily unavailable during the run-time update. To reduce the period during which the services are unavailable, we propose a new method for run-time updating of device drivers; this method uses context migration from an old driver to an updated one. In this study, we describe the implementation of a network-device driver using our method. In addition, we have shown some advantages of our method by performing a trial on the FreeBSD operating system. Keywords-device driver; network; operating system; I. INTRODUCTION In recent years, computers and network systems have gained tremendous importance in human activities. Contin- uous online connectivity has become a mandatory require- ment at homes or small offices. However, occasionally, users are required to shut down their computer systems to apply software updates, which are necessary for bug fixes or functional upgrades. The in- creasing complexity of software programs has increased the frequency of these updates. Consequently, a dynamic method of updating running programs is essential for ensuring a truly non-stop system. We have already proposed a method for replacing a program part of a running process. In addition, we have also developed a live software-updating method which is applicable for practical device-driver programs. On the basis of our proposed method, we implemented a dynamic updatable network-interface card (NIC) device driver on the FreeBSD device-driver framework. In this paper, we de- scribe the details of our implementation concept and evaluate the performance of our updating operation in comparison with the conventional updating procedure in FreeBSD. II. UPDATING OF DEVICE-DRIVER PROGRAMS The most common and simplest way to update a device driver involves the following steps: 1) Termination of the running device driver 2) Replacement of the old terminated device driver with a new one 3) Initialization of the new device driver This type of updating method, hereafter referred to as termination-based update (TBU) , is classified into two types: In one type, the replacement of the device-driver software re- quires a reboot of the entire system, including the operating system. In the other type, the specific device-driver-software module is replaced on the fly. The second approach can be described as the loadable kernel module update (LKMU) . Although the termination-based update is very simple and allows all types of software updates, it involves a...
View Full Document
- Spring '09