下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第頁Linux系統(tǒng)編程實踐一、課程說明課程編號:090268Z11課程名稱:Linux系統(tǒng)編程實踐/PracticeofLinuxSystemProgramming課程類別:專業(yè)教育課程(集中實踐環(huán)節(jié))學時/學分:32/1.5先修課程:操作系統(tǒng)原理(或操作系統(tǒng)及安全)、計算機程序設計基礎(C語言)適用專業(yè):信息安全、計算機科學與技術、物聯(lián)網(wǎng)工程教材、教學參考書:1.DanielP.Bovet.深入理解LINUX內(nèi)核(UnderstandingtheLinuxKernel).北京:中國電力出版社,2008年2.ScottMaxwell.Linux內(nèi)核源代碼分析.北京:機械工業(yè)出版社,2000年二、課程設置的目的意義Linux作為一個開源計算機操作系統(tǒng),廣泛應用于服務器、桌面及嵌入式應用領域。本課程主要培養(yǎng)學生在Linux操作系統(tǒng)下的內(nèi)核級、系統(tǒng)級編程能力,是一門理論與實驗的大型綜合實踐課程。主要包括在Linux操作系統(tǒng)下高級程序設計以及Linux內(nèi)核程序設計。三、課程的基本要求知識:學習x86體系結構及系統(tǒng)初始化過程,將操作系統(tǒng)基本原理與Linux系統(tǒng)內(nèi)核的進程管理、存儲器管理、設備管理及文件系統(tǒng)的具體實現(xiàn)相結合;了解Linux高級程序設計方法、設計流程、開發(fā)環(huán)境等;了解Linux字符設備和塊設備驅(qū)動程序設計方法;了解Linux高級程序設計尤其與系統(tǒng)安全相關API,學習Linux安全相關特性。能力:通過對Linux內(nèi)核的深入剖析,加深對操作系統(tǒng)原理的理解,并培養(yǎng)對Linux操作系統(tǒng)的系統(tǒng)級分析能力;初步掌握Linux內(nèi)核模塊編程、Linux簡單字符設備和塊設備編程能力;培養(yǎng)Linux系統(tǒng)安全相關系統(tǒng)設計及程序開發(fā)能力;培養(yǎng)能夠進行Linux系統(tǒng)級大型應用設計開發(fā)能力。素質(zhì):通過對Linux操作系統(tǒng)具體實現(xiàn)方法的整體分析,建立系統(tǒng)級應用開發(fā)概念,體會系統(tǒng)級程序設計及系統(tǒng)安全相關設計的復雜性、關聯(lián)性、整體性;提高基本理論與具體實現(xiàn)相結合的綜合素質(zhì)。四、教學內(nèi)容、重點難點及教學設計章節(jié)教學內(nèi)容總學時學時分配教學重點教學難點教學方案設計(含教學方法、教學手段)講課(含研討)實踐1Linux啟動初始化過程220CPU、內(nèi)存等體系結構相關知識、硬件設置體系結構如:PCI、Cache等配制教學思路:對x86體系、ppc體系、ARM體系進行對比分析,描述各種體系下Linux初始化過程。教學模式:現(xiàn)場試驗。2Linux內(nèi)核結構220內(nèi)核模塊教學思路:大內(nèi)核與微內(nèi)核特點。3Linux內(nèi)核機制220內(nèi)核任務、Bottomhalf隊列內(nèi)核任務的理解教學思路:結合操作系統(tǒng)原理,講解Linux內(nèi)核各組件的具體實現(xiàn)。教學模式:通過投影Linux操作系統(tǒng)源代碼,對關鍵源代碼進行逐句分析。4LinuxAPI220IPC教學思路:結合相關應用實例,講解Linux與內(nèi)核相關高級程序設計,加深對內(nèi)核的理解。教學模式:對關鍵代碼逐句分析。5實踐課題編程設計16016注:實踐包括實驗、上機等,授課8課時,實踐教學選作24課時。實踐內(nèi)容見第五節(jié)。實踐教學內(nèi)容和基本要求5.1基本要求在理論部分講授完成后,進入實踐環(huán)節(jié),實踐環(huán)節(jié)的題目根據(jù)學生基礎、興趣進行選擇。實踐采用1-2人一個開發(fā)題目的方式進行,但要求滿足實踐學時24學時的要求。事先由指導老師分配開發(fā)任務。實踐結束后,每個同學應遞交符合格式要求的報告一份。5.2可選實踐內(nèi)容序號題目實驗內(nèi)容課時基本要求1內(nèi)核模塊設計理解Linux內(nèi)核模塊,熟悉Linux內(nèi)核模塊編程環(huán)境、編譯環(huán)境、內(nèi)核模塊加載過程,掌握Linux內(nèi)核模塊調(diào)試過程與調(diào)試方法。12(1)編寫一個簡單的內(nèi)核模塊程序;(2)編譯內(nèi)核模塊;(3)加載并調(diào)試內(nèi)核模塊。2Linux字符設備驅(qū)動程序設計理解Linux字符設備驅(qū)動程序模塊,熟悉Linux驅(qū)動編程環(huán)境、編譯環(huán)境、內(nèi)核模塊加載過程,掌握Linux驅(qū)動程序調(diào)試過程與調(diào)試方法。16(1)編寫一個簡單字符設備驅(qū)動程序,理解Linux字符設備驅(qū)動程序注冊及工作過程;(2)理解內(nèi)核空間與用戶空間數(shù)據(jù)傳輸?shù)倪^程及方法;(3)編寫該驅(qū)動程序的測試應用程序,通過該測試程序測試驅(qū)動程序的有效性。3Linux塊設備驅(qū)動程序設計理解Linux塊設備驅(qū)動框架,熟悉Linux驅(qū)動程序編程環(huán)境、編譯環(huán)境、內(nèi)核模塊加載過程,掌握Linux設備驅(qū)動調(diào)試過程與調(diào)試方法。16(1)編寫一個塊設備驅(qū)動程序,理解Linux塊設備驅(qū)動程序注冊及工作過程;(2)理解內(nèi)核空間與用戶空間數(shù)據(jù)傳輸?shù)倪^程及方法;(3)編寫該驅(qū)動程序的測試應用程序,通過該測試程序測試驅(qū)動程序的有效性。4Linux網(wǎng)絡設備驅(qū)動程序設計理解Linux網(wǎng)絡設備驅(qū)動框架,熟悉Linux網(wǎng)絡驅(qū)動程序編程環(huán)境、編譯環(huán)境、內(nèi)核模塊加載過程,掌握Linux網(wǎng)絡設備驅(qū)動調(diào)試過程與調(diào)試方法。16(1)編寫一個Linux網(wǎng)絡設備驅(qū)動程序,理解Linux網(wǎng)絡設備驅(qū)動程序注冊及工作過程;(2)理解Linux中斷過程及網(wǎng)絡協(xié)議機制;(3)編寫該驅(qū)動程序的測試應用程序,通過該測試程序測試驅(qū)動程序的有效性。5Linux文件系統(tǒng)設計通過指導學生上機實踐,掌握Linux文件系統(tǒng)程序設計過程。26(1)自定義一個簡單文件系統(tǒng)(如類似DOS);(2)編寫該文件系統(tǒng)程序,并加載至Linux操作系統(tǒng);(3)編寫測試程序,并測試該文件系統(tǒng)的有效性。6Linux系統(tǒng)下iSCSI應用設計理解iSCSI工作過程。26(1)理解Linux系統(tǒng)下iSCSI,編寫iSCSI協(xié)議代碼(2)配置iSCSItarget;(3)測試iSCSI相關性能。7Linux系統(tǒng)下多進程程序設計-大矩陣運算理解Linux進程創(chuàng)建及進程管理過程,理解Linux系統(tǒng)下IPC機制;掌握Linux下系統(tǒng)編程環(huán)境;掌握Linux程序調(diào)試過程與調(diào)試方法。16(1)編寫一個多進程計算大矩陣運算程序,動態(tài)配置創(chuàng)建進程的數(shù)目;(2)在單核單線程CPU系統(tǒng)下,記錄在不同進程數(shù)目下完成運算所需要的時間;(3)在多核多CPU環(huán)境下,記錄在不同進程數(shù)目下完成運算所需要的時間;(4)分析該結果。8Linux系統(tǒng)下多進程程序設計-網(wǎng)絡下載理解Linux進程創(chuàng)建及進程管理過程,掌握Linux下SocketAPI編程方法,理解Linux系統(tǒng)下IPC機制;掌握Linux下系統(tǒng)編程環(huán)境;掌握Linux程序調(diào)試過程與調(diào)試方法。16(1)編寫一個多進程FTP網(wǎng)絡下載程序;(2)在單核單線程CPU系統(tǒng)下,記錄在不同進程數(shù)目下完成下載大文件所需要的時間;(3)在多核多CPU環(huán)境下,記錄在不同進程數(shù)目下完成下載大文件所需要的時間;(4)分析該結果。9Linux系統(tǒng)下多進程程序設計-網(wǎng)絡服務器理解Linux進程創(chuàng)建及進程管理過程,掌握Linux下SocketAPI編程方法,理解Linux系統(tǒng)下IPC機制;掌握Linux下系統(tǒng)編程環(huán)境;掌握Linux程序調(diào)試過程與調(diào)試方法。16(1)編寫一個簡單的多進程FTP網(wǎng)絡網(wǎng)絡服務器;(2)同時支持5000個以上的不阻塞網(wǎng)絡鏈接;10Linux系統(tǒng)下多進程程序設計-IPC理解Linux進程創(chuàng)建及進程管理過程,理解Linux系統(tǒng)下IPC機制;掌握Linux下系統(tǒng)編程環(huán)境;掌握Linux程序調(diào)試過程與調(diào)試方法。161)編寫一個多進程程序;(2)進程間分別采用匿名管道、命名管道、消息隊列、共享存儲器、filemap等機制實現(xiàn)數(shù)據(jù)傳送;(3)比較采用各種IPC機制的數(shù)據(jù)傳輸效率,并說明原因。11Linux系統(tǒng)下多線程程序設計-大矩陣運算理解Linux線程創(chuàng)建(采用pthread線程庫)及線程管理過程,掌握Linux下系統(tǒng)編程環(huán)境;掌握Linux程序調(diào)試過程與調(diào)試方法。16(1)編寫一個多線程計算大矩陣運算程序,動態(tài)配置創(chuàng)建線程的數(shù)目;(2)在單核單線程CPU系統(tǒng)下,記錄在不同線程數(shù)目下完成運算所需要的時間;(3)在多核多線程CPU環(huán)境下,記錄在不同線程數(shù)目下完成運算所需要的時間;(4)分析該結果。12Linux系統(tǒng)下多線程程序設計-網(wǎng)絡下載理解Linux線程創(chuàng)建(采用pthread線程庫)及線程管理過程,掌握Linux下SocketAPI編程方法,掌握Linux下系統(tǒng)編程環(huán)境;掌握Linux程序調(diào)試過程與調(diào)試方法。26(1)編寫一個多線程FTP網(wǎng)絡下載程序;(2)在單核單線程CPU系統(tǒng)下,記錄在不同線程數(shù)目下完成下載大文件所需要的時間;(3)在多核多CPU環(huán)境下,記錄在不同線程數(shù)目下完成下載大文件所需要的時間;(4)分析該結果。13Linux系統(tǒng)監(jiān)測程序-資源監(jiān)控及定額管理熟悉Linux系統(tǒng)管理,掌握Linux系統(tǒng)監(jiān)測相關方法,理解Linux定額機制。16(1)編寫一個Linux系統(tǒng)監(jiān)控程序;(2)監(jiān)控系統(tǒng)中進程所占用的CPU時間、內(nèi)存使用、磁盤使用、網(wǎng)絡使用情況等;14Linux系統(tǒng)監(jiān)測程序-API監(jiān)控理解LinuxAPI調(diào)用過程,掌握定制LinuxAPI相關方法,并從安全角度監(jiān)控LinuxAPI被進程調(diào)用情況。26(1)編寫一個Linux系統(tǒng)調(diào)用,或在通用Linux系統(tǒng)調(diào)用中增加相關監(jiān)測機制;(2)當進程調(diào)用該被監(jiān)測API時,系統(tǒng)對調(diào)用情況進行記錄(調(diào)用進程、調(diào)用時間等),并可進行報警處理。15Linux內(nèi)核deamon遠程監(jiān)控理解Linuxdaemon內(nèi)核線程,掌握LinuxDaemon程序設計相關方法,監(jiān)控Linux運行情況,遠端可通過該Daemon獲取系統(tǒng)運行情況。26(1)編寫一個LinuxDaemon,監(jiān)控Linux運行情況,遠端可通過該Daemon獲取系統(tǒng)運行情況;(2)系統(tǒng)運行異常,進行報警處理。16Linux下網(wǎng)絡包抓取及分析理解Linux網(wǎng)絡協(xié)議棧,掌握網(wǎng)絡數(shù)據(jù)包抓取及包分析方法,識別網(wǎng)絡入侵、網(wǎng)絡攻擊等不正常數(shù)據(jù)包,并分析攻擊類型,并提出相關處理、報警機制。26(1)編寫一個網(wǎng)絡數(shù)據(jù)包抓取及數(shù)據(jù)分析程序,識別網(wǎng)絡入侵、網(wǎng)絡攻擊等不正常數(shù)據(jù)包,并分析攻擊類型;(2)網(wǎng)絡數(shù)據(jù)異常,進行報警處理。17Linux系統(tǒng)在ARM體系下的移植了解新一代ARM相關體系結構如CortexA8/A9,理解Linux在ARM體系下的初始化及啟動過程(如uboot的移植)。并最終在開發(fā)板上運行uboot和linux操作系統(tǒng)。26(1)深入理解ARMCortexA8/A9體系結構;(2)移植uboot;移植Linux,并在開發(fā)板運行完整Linux操作系統(tǒng)。六、考核方式及成績評定考核通過實踐表現(xiàn)(10%)、設計機試檢查(60%)、實踐報告(30%)三個方面綜合評定學生成績
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年中國卵磷脂行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國便攜管子鉗數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國二硫化鉬極壓鋰基潤滑脂數(shù)據(jù)監(jiān)測研究報告
- 2024至2030年中國萬用表測試棒行業(yè)投資前景及策略咨詢研究報告
- 2024年中國陶瓷纖維不燃布市場調(diào)查研究報告
- 2024年中國自動包裝糖果紙市場調(diào)查研究報告
- 2024年中國玻璃纖維天線罩市場調(diào)查研究報告
- 高中語文第6單元文無定格貴在鮮活三游沙湖苦齋記課件新人教版選修中國古代詩歌散文欣賞
- 2024年中國尼龍鉚釘市場調(diào)查研究報告
- 2024年中國雙盤人形馬步市場調(diào)查研究報告
- 我會洗手(洗手知識科普)課件
- 【教學課件】第3單元《土和火的藝術》示范課件
- (新高考)高考英語基礎知識默寫本必修第二冊 Unit 1 Cultural Heritage
- 小學生新聞播報動態(tài)PPT
- 中藥藥理學(全套課件)
- 冀教版年級數(shù)學下冊期末考試試卷分析
- 魯科版五四制七年級上冊生物全冊單元測試卷
- 如何-我為什么選擇安惠
- 同意未成年人姓名變更的聲明
- 人教版二年級上冊數(shù)學期中測試卷含答案【奪分金卷】
- 四年級上冊數(shù)學課件-認識梯形-人教版-(3)(共25張PPT)
評論
0/150
提交評論