Please use this identifier to cite or link to this item:
|Title:||A FRAMEWORK FOR USER LEVEL DEVICE DRIVERS IN LINUX|
|Keywords:||ELECTRONICS AND COMPUTER ENGINEERING;FRAMEWORK;LEVEL DEVICE;LINUX|
|Abstract:||Device drivers are one of the most critical parts of every operating system (OS). Traditionally they are implemented as part of the kernel, and thus execute in privileged mode, with full access to all system resources. This simplifies driver implementation and minimizes overheads. Running device drivers as unprivileged user-level code encapsulated into their own process has often been proposed as a technique for increasing system robustness. There are also many other advantages that user level device drivers offer. However, in the past, systems based on user-level drivers have generally exhibited poor I/O performance. It is because of the extra context switches introduced by user-level drivers and relatively poor support from hardware and software, such as slow processors and slow operating system kernels. Consequently, user-level device drivers have never caught on to any significant degree. In general, they are used only for devices where performance is not critical or the number of context switches is small compared to the work the driver does (the Linux X server is an example). Recent advances in processor architectures and operating system kernels, allow the concept of user level device drivers to be considered for practical implementation. This thesis is an effort to implement a framework for user level device drivers, which allows device drivers to run in usermode, without significant performance degradation in comparison with kernel level device drivers. The user level device drivers written using this framework present exactly the same interface to the applications and kernel driver and thus existing applications that use the device can be run without any change. The feasibility of the framework is tested using the prototype user level drivers for floppy drive and IDE-disk drive against their kernel level counterparts. 111|
|Research Supervisor/ Guide:||Sarje, Anil K.|
|Appears in Collections:||MASTERS' DISSERTATIONS (E & C)|
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.