• 沒有找到結果。

在這篇論文我們提出一個使用者模式驅動程式架構,主要目的是要改善作業系 統中驅動程式的出錯,以改善其可信賴度。我們論文主要分為兩部份:第一部份是 我們希望能夠直接去重用原本的核心模式驅動程式,讓它能夠直接執行在使用者模 式,以減少開發驅動程式的成本。我們目前已完成三個驅動程式的搬移:一個Tulip Ethernet 網路卡驅動程式,一個 RAMDISK 區塊驅動程式,與一個 PS2 Mouse 字元 驅動程式;第二部份是我們希望當驅動程式出錯時,我們能夠掩飾驅動程式的錯誤,

去啟動另外一個驅動程式,讓核心與應用程式能夠繼續執行,而不影響其執行,以 達到作業系統可用度。由實驗結果顯示我們架構中的使用者模式驅動程式負擔並沒 有太大,並且在回復過程中具有可以接收的效能表現

參考文獻

[1] J. Appavoo, M. Auslander, D. DaSilva, D. Edelsohn, O. Krieger, M. Ostrowski, B.

Rosenburg, R. W. Wisniewski, and J. Xenidis, “Utilizing Linux Kernel Components in K42”, available at http://www.research.ibm.com/K42/, Aug. 2002.

[2] S. Arthur, ”Fault Resilient Drivers for Longhorn Server”, Technical Report WinHec 2004 Presentation DW04012, Microsoft Corporation, May 2004.

[3] T. C. Chiueh, G. Venkitachalam, and P. Pradhan, “Integrating Segmentation and Paging Protection for Safe, Efficient and Transparent Software Extensions”, Proceedings of the 17th ACM Symposium on Operating Systems Principles, pp. 140-153, Dec. 1999.

[4] A. Chou, J. Yang, B. Chelf, S. Hallem, and D. Engler, “An Empirical Study of Operating Systems Errors”, Proceedings of the 18th ACM Symposium on Operating Systems Principles, pp. 73-88, Oct. 2001.

[5] Coverity Inc, “Analysis of the Linux Kernel”, available at

http://linuxbugs.coverity.com/linuxbugs.htm, Jan. 2004.

[6] P. Chubb, “Get More Device Drivers out of the Kernel!”, Ottawa Linux Symposium, vol.1, pp. 149-161, Jul. 2004.

[7] C. L. Conway and S. A. Edwards, “NDL: A Domain-specific Language for Device Drivers”, Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, Compilers, and Tools for Embedded Systems, pp. 30-36, Jun. 2004.

[8] T. Li, C. S. Ellis, A. R. Lebeck, and D. J. Sorin, “Pulse: A Dynamic Deadlock Detection Mechanism Using Speculative Execution”, Proceedings of the 2005 USENIX Annual Technical Conference, pp. 31-44, Apr. 2005.

[9] W. Feng, “Making a Case for Efficient Supercomputing”, ACM Queue, vol. 1, no. 7, pp.

54-64, Oct. 2003.

[10] B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers, “The Flux OSKit: A Substrate for Kernel and Language Research”, Proceedings of the 16th ACM Symposium on Operating Systems Principles, pp. 38-51, Oct. 1997.

[11] A. Forin, D. Golub, and B. Bershad, “An I/O System for Mach 3.0”, Proceedings of the USENIX Mach Symposium, pp. 163-176, Apr. 1991.

[12] K. Fraser, S. Hand, R. Neugebauer, I. Pratt, A. Warfield, and M. Williamson, “Safe

Hardware Access with the Xen Virtual Machine Monitor”, Proceedings of the 1th Workshop on Operating System and Architectural Support for the On-Demand IT Infrastructure, Oct. 2004.

[13] S. Goel and D. Duchamp, “Linux Device Driver Emulation in Mach”, Proceedings of the 1996 USENIX Annual Technical Conference, pp. 65-73, Jan. 1996.

[14] J. Gray and D. P. Siewiorek, “High-availability Computer Systems”, Computer, vol. 24, Iss. 9, pp. 39-48, Sep. 1991.

[15] G. C. Hunt, “Creating User-Mode Device Drivers with a Proxy”, Proceedings of the 1st USENIX Windows NT Workshop, pp. 55-59, Aug. 1997.

[16] J. Katcher, “Postmark: A New File System Benchmark,” Technical Report TR3022, Network Appliance Inc., Oct. 1997.

[17] B. Leslie, P. Chubb, N. Fitzroy-Dale, S. Gotz, C. Gray, L. Macpherson, D. Potts, Y. Shen, K. Elphinstone, and G. Heiser, “User-Level Device Drivers: Achieved Performance”, Journal of Computer Science and Technology, vol. 20, pp. 654-664, Sep. 2005.

[18] J. LeVasseur, V. Uhlig, J. Stoess, and S. Gotz, ”Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines”, Proceedings of the 6th Symposium on Operating Systems Design and Implementation, pp. 17-30, Dec. 2004.

[19] J. Liedtke, U. Bartling, U. Beyer, D. Heinrichs, R. Ruland, and G. Szalay, “Two Years of Experience with a μ-Kernel Based OS”, Operating Systems Review, vol. 25, no. 2, pp.

51–62, Apr. 1991.

[20] K. V. Maren, “The Fluke Device Driver Framework”, Master’s Thesis, University of Utah, available at http://www.cs.utah.edu/flux/papers/vanmaren-thesis-base.html, Dec.

1999.

[21] F. Merillon, L. Reveillere, C. Consel, R. Marlet, and G. Muller, “Devil: An IDL for Hardware Programming”, Proceedings of the 4th Symposium on Operating Systems Design and Implementation, pp. 17-30, Oct. 2000.

[22] Microsoft Corporation, “Introduction to the WDF User-Mode Driver Framework”, available at http://www.microsoft.com/whdc/driver/wdf/UMDF_Intro.mspx, Apr. 2005.

[23] R. Jones, “Netperf: A Network Performance Benchmark, Version 2.4”, available at

http://www.netperf.org, 2005.

[24] D. Oppenheimer, A. Ganapathi, and D. A. Patterson, “Why Do Internet Services Fail, and What Can be Done about It?”, Proceedings of the 4th USENIX Symposium on

Internet Technologies and Systems, Mar. 2003.

[25] D. S. Ritchie and G. W. Neufeld, “User Level IPC and Device Management in the Raven Kernel”, Proceedings of USENIX Association Symposium on Micro Kernels and Other Kernel Architectures, pp. 111-125, Sep. 1993.

[26] A. Rubini and J. Corbet, “Linux Device Drivers, 3rd Edition”, O’reilly, 2005.

[27] R. Short, “Vice President of Windows Core Technology”, Microsoft Corp. Private Communication, 2003.

[28] M. M. Swift, B. N. Bershad, and H. M. Levy, “Improving the Reliability of Commodity Operating Systems”, Proceedings of the 19th ACM Symposium on Operating Systems Principles, pp. 207-222, Oct. 2003.

[29] M. M. Swift, M. Annamalai, B. N. Bershad, and H. M. Levy, “Recovering Device Drivers”, Proceedings of the 6th ACM/USENIX Symposium on Operating Systems Design and Implementation, pp. 1-16, Dec. 2004.

[30] M. M. Swift, S. Martin, H. M. Leyand, and S.J. Eggers, “Nooks: An Architecture for Reliable Device Drivers”, Proceedings of the 10th ACM SIGOPS European Workshop, pp. 101-107, Sep. 2002.

[31] A. Tridgell, “Dbench – Filesystem Benchmark, Version 3”, available at

http://samba.org/ftp/tridge/dbench/, 2001.

[32] H. Vemuri., D. Gupta, and R. Moona, “Userdev: A Framework for User Level Device Drivers in Linux”, Proceedings of the 5th NordU/USENIX Conference, Feb. 2003.

相關文件