Please use this identifier to cite or link to this item: http://hdl.handle.net/11455/7381
DC FieldValueLanguage
dc.contributor鄭伯炤zh_TW
dc.contributor劉建興zh_TW
dc.contributor.advisor蔡智強zh_TW
dc.contributor.author王駿修zh_TW
dc.contributor.authorWang, Jun-Shiouen_US
dc.contributor.other中興大學zh_TW
dc.date2008zh_TW
dc.date.accessioned2014-06-06T06:39:59Z-
dc.date.available2014-06-06T06:39:59Z-
dc.identifierU0005-0607200708514800zh_TW
dc.identifier.citation[1] M. Gast, 譯者黃裕彰, 802.11 無線網路技術通論(802.11 Wireless Networks: The Definitive Guide, 2/e), O''Reilly, 2005. [2] J. Corbet, A. Rubini, G. Kroah-Hartman, 編譯:林長毅, Linux 驅動程式 第三版, O''Reilly, 2006. [3] D. P. Bovet, M. Cesati, 陳建勳譯, LINUX核心詳解, 歐萊禮, 2006. [4] 許玉霞, TFC: A Tool of Trace, Fault Injection and Crash Rescue for Linux Device Drivers, 國立中興大學, 2006. [5] 陳錦輝, 陳正凱, 黃昭維著, c/c++初學指引Linux程式設計, 金禾資訊, 2003. [6] 徐千洋著, Linux C函式庫參考手冊, 旗標, 2001. [7] Beck, 張耀仁譯, LINUX核心研究篇, 和碩科技文化, 2000. [8] M. Barr原著江俊彥, 林長毅編譯, 嵌入式系統使用C/C++,歐萊禮, 2000. [9] A. Chou, J. Yang, B. Chelf, S. Hallem, and D. Engler. An empirical study of operating system errors. In Proceedings of the 18th ACM Symposium on Operating Systems Principles, Oct. 2001. [10] 6-S. Best, Linux debugging and performance tuning :tips and techniques, Upper Saddle River, NJ :Prentice Hall Professional Technical Reference,c2006. [11] C. S. Rodriguez, G. Fischer, S. Smolski, “The Linux Kernel Primer: A Top-Down Approach for x86 and PowerPC Architectures”, 1st edition, Prentice Hall, Sep. 2005. [12] V. Orgovan, Systems Crash Analyst, Windows Core OS Group, Microsoft Corp.private communication, 2004. [13] S. Chandra and P. M. Chen. Whither generic recovery from application faults? Afault study using open-source software. In Proceedings of the 2000 IEEE International Conference on Dependable Systems and Networks, June 2000. [14] S. Best, Linux debugging and performance tuning :tips and techniques, Upper Saddle River, NJ :Prentice Hall Professional Technical Reference,c2006 . [15] MindShare Inc. ; Tom Shanley and Don Anderson., PCI system architecture, Reading, Mass. :Addison-Wesley, c1995. [16] W. R. Stevens, Advanced programming in the UNIX environment, Reading, Mass. :Addison-Wesley Pub. Co., c1993. [17] " Hijacking_Linux_Page_Fault_Handler", buffer. http://www.phrack.org, 2003-08-13. [18] Linux系統內核的調試, http://www.ibm.com/developerworks/cn/linux/l-kdb/, 2005-12-18. [19] KDB (Built-in Kernel Debugger) , http://oss.sgi.com/projects/kdb/, 2007. [20] 使用 Kprobes 調試內核, http://www.ibm.com/developerworks/cn/linux/l-kprobes.html, 2004-09-19. [21] Linux下PCI設備驅動程序開發, http://www.ibm.com/developerworks/cn/linux/l-pci/index.html, 2004-03-09. [22] 用systemtap研究核心, http://blog.csdn.net/zht_sir/archive/2007/03/21/1536156.aspx, 2007-03-21. [23] 用kprobes實現核心反射機制, http://blog.csdn.net/absurd/archive/2007/05/29/1630054.aspx, 2007-05-29. [24] SystemTap, http://sourceware.org/systemtap/, 2007. [25] SystemTap實例, http://sourceware.org/systemtap/wiki/WarStories, 2007. [26] Kernel korner: kprobes-a kernel debugger http://delivery.acm.org/10.1145/1070000/1064877/7905.html?key1=1064877&key2=1619382811&coll=GUIDE&dl=GUIDE&CFID=22335003&CFTOKEN=21576223, 2005-05.zh_TW
dc.identifier.urihttp://hdl.handle.net/11455/7381-
dc.description.abstract近五年來,整個世界逐漸走向行動化,如果非得透過有線網路才能夠連上網路,使用者的活動空間必會大大地縮小。相反地,無線網路就無此限制,使用者可以有較寬廣的活動空間。 目前802.11已經成為一種普遍公認的連線方式,祇要有一組基地台,就可以為訪客提供連線服務,不必再透過Ethernet開放公用連接埠。於是無線網路卡的使用普及率便隨著無線網路的方便性而大大的提高。 為使無線網路卡在發生錯誤時,仍能保持正常運作,本文使用 kprobes機制能動態地觀測無線網路卡驅動程式,經由實際測試 Linux 作業系統下的 PCI 網路介面卡驅動程式,證明本文偵錯程式的確能幫助系統在無線網路卡驅動程式出現錯誤時,繼續正常的工作。 同時,雖然目前已存有數種針對核心程式追蹤與除錯的工具,本文偵錯程式提供另一種最直觀的追蹤與除錯功能,能明白指出造成執行期錯誤的系統呼叫參數,並保持系統正常的運作,不受錯誤的影響。另外,本文偵錯程式也含有注入錯誤的功能,程式設計者不需更動無線網路卡驅動程式,便可觀察無線網路卡驅動程式在錯誤發生時的反應。 最後,本文偵錯程式能在系統執行期,動態地,完全地,被載入或被卸載。不需更動作業系統核心,或無線網路卡驅動程式本身任何的地方。zh_TW
dc.description.abstractOver the past five years, the world has become increasingly mobile. If users must be connected to a network by physical cables, their movement is dramatically reduced. Wireless connectivity, however, poses no such restriction and allows a great deal more free movement on the part of the network user. 802.11 has been a kind of generally ways that connect to Internet, as long as there is an access-point (AP), it will offer users to connect Internet and need to go through the Ethernet again. Wireless network with goodly convenient, so that the utility rate of wireless card will be raised. This paper uses the kprobes infrastructure to dynamically instrument the kernel applications (driver module) and it is confirmed from observed results (tests on the PCI network interface card driver for the Linux operation system) to be helpful to Trace, Fault injection, and Crash rescue for Linux device drivers. With this paper's debug program, the system can indeed survive the failure of the RT2500 Wireless LAN card driver. Several programming techniques can use to monitor kernel code and trace errors. The study of debug program is easier to understand for pinpointing runtime errors from system calls automatically and saving system from crash concurrently. In usual, the other debugging tools in the application or demo program isn't verbose enough to be useful for debugging, and being able to tell exactly which arguments to system calls triggered the error can be a great helping. Furthermore, the study also provides fault injection function for programmers to observe the RT2500 Wireless LAN card driver response. Finally, this paper's debug program clearly lies in its permitting users to dynamically load and unload into the running kernel. It can be introduced without any changes to the OS kernel and with no changes at all to existing device drivers.en_US
dc.description.tableofcontents摘要 i ABSTRACT ii 目錄 iii 圖目錄 vi 表目錄 viii 第一章 導論 1 1.1 研究動機與背景 1 1.2 研究目的 2 1.3 論文架構 2 第二章 核心偵錯相關工作 3 2.1 核心偵錯概述 3 2.1.1 Linux系統核心級軟件的偵錯技術 3 2.1.2 使用KGDB構建Linux 核心偵錯環境 3 2.1.3 使用SkyEye構建Linux 核心偵錯環境 4 2.2 KPROBES的介紹 4 2.2.1 啟動Kprobes 4 2.2.2 編寫Kprobes模組 5 2.2.3 獲得核心例程的地址 6 2.3 PCI驅動程序 6 2.3.1 註冊PCI驅動程序 7 2.3.2 舊式的PCI探測法 9 2.3.3 啟動PCI裝置 10 2.3.4 PCI中斷 10 2.4 PCMCIA CARD SERVICES 概觀 11 2.4.1 監控網卡 13 2.4.2 設定無線網路卡 13 第三章 驅動模組與偵錯程式設計 15 3.1 KERNEL 2.6模組 15 3.1.1 模組的編譯 16 3.1.2 模組的裝載 18 3.1.3 模組的前置宣告 18 3.1.4 模組的初始與清理函式 19 3.2 偵錯程式設計 21 3.3 偵錯程式流程 23 3.4 錯誤偵錯過程 25 3.5 監控驅動程式並攔截系統呼叫 27 3.5.1 系統呼叫前置和錯誤復原第一步 28 3.5.2 錯誤復原第二步 29 第四章 系統實作與結果 31 4.1 RT2500無線網卡安裝 31 4.2 偵錯程式測試與結果 32 4.2.1 正常載入驅動程式情況 32 4.2.2 載入錯誤驅動程式情況 36 4.2.3 系統呼叫回傳值 37 第五章 結論與未來工作 38 5.1 結論 38 5.2 未來工作 38 參考文獻 41zh_TW
dc.language.isoen_USzh_TW
dc.publisher電機工程學系所zh_TW
dc.relation.urihttp://www.airitilibrary.com/Publication/alDetailedMesh1?DocID=U0005-0607200708514800en_US
dc.subjectWireless LAN Carden_US
dc.subject無線網路卡zh_TW
dc.subjectDevice driveren_US
dc.subjectError traceen_US
dc.subjectFault Injectionen_US
dc.subjectCrash Rescueen_US
dc.subject驅動程式zh_TW
dc.subject錯誤追蹤zh_TW
dc.subject缺點植入zh_TW
dc.subject當機救援zh_TW
dc.titleRT2500無線網卡驅動程式之錯誤追蹤、缺點植入及當機救援機制zh_TW
dc.titleThe Error Trace, Fault Injection and Crash Rescue Mechanism for The RT2500 Wireless LAN Card Driveren_US
dc.typeThesis and Dissertationzh_TW
item.openairecristypehttp://purl.org/coar/resource_type/c_18cf-
item.openairetypeThesis and Dissertation-
item.cerifentitytypePublications-
item.fulltextno fulltext-
item.languageiso639-1en_US-
item.grantfulltextnone-
Appears in Collections:電機工程學系所
Show simple item record
 

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.