操作系統(tǒng)課程設(shè)計_第1頁
操作系統(tǒng)課程設(shè)計_第2頁
操作系統(tǒng)課程設(shè)計_第3頁
操作系統(tǒng)課程設(shè)計_第4頁
操作系統(tǒng)課程設(shè)計_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

文華學(xué)院信息學(xué)部李勝利操作系統(tǒng)課程設(shè)計1操作系統(tǒng)課程設(shè)計

2012級2內(nèi)容簡介設(shè)計目的設(shè)計內(nèi)容實施方法及要求時間安排輔導(dǎo)3設(shè)計目的掌握Linux操作系統(tǒng)的使用方法了解Linux系統(tǒng)內(nèi)核代碼結(jié)構(gòu)掌握實例操作系統(tǒng)的實現(xiàn)方法4內(nèi)容簡介設(shè)計目的設(shè)計內(nèi)容實施方法及要求時間安排輔導(dǎo)5設(shè)計內(nèi)容(1)要求熟悉和理解Linux編程環(huán)境內(nèi)容編寫一個C程序,使用Linux下的圖形庫,分窗口顯示三個并發(fā)進(jìn)程的運行。6設(shè)計內(nèi)容(2)要求熟煉使用Linux的系統(tǒng)調(diào)用內(nèi)容編寫一個C程序,使用文件系統(tǒng)的系統(tǒng)調(diào)用實現(xiàn)顯示文本文件的功能。7設(shè)計內(nèi)容(3)要求掌握添加系統(tǒng)調(diào)用的方法內(nèi)容添加一個新的系統(tǒng)調(diào)用編寫一個使用新增系統(tǒng)調(diào)用功能的應(yīng)用程序。8設(shè)計內(nèi)容(4)要求理解和分析/proc文件內(nèi)容了解/proc文件的特點和使用方法監(jiān)控系統(tǒng)狀態(tài),顯示系統(tǒng)中若干部件的使用情況用圖形界面顯示系統(tǒng)監(jiān)控狀態(tài)9設(shè)江計虛內(nèi)燥容(梳5)要求理解度和掌評握文肌件系稅統(tǒng)的鑼設(shè)計第方法(選廁做)內(nèi)容設(shè)計鈴、實覽現(xiàn)一脊個模正擬的挎文件令系統(tǒng)例如窄:最簡茅單的駝方法刃:用愚一個哪文件洞實現(xiàn)械所有親的功源能。復(fù)雜賠一點繩的方做法:敵采用許庫文園件的顫形式適實現(xiàn)野。10設(shè)頸計危內(nèi)躲容(彈6)自選濟(jì)項目11內(nèi)容怒1-貌4內(nèi)容染5內(nèi)容才5選做撒其中只1項闖;12內(nèi)容略簡介設(shè)計互目的設(shè)計耽內(nèi)容實施甚方法子及要市求時間蛇安排輔導(dǎo)13實施磨方法挪及要悄求每位露同學(xué)俱都必曾須獨立完成案課程金設(shè)計它內(nèi)容度。上機(jī)火考核演示行所完威成系森統(tǒng),稼并回逗答老求師的顆問題厚。提交文本剪的課勉程設(shè)抓計報能告,倆內(nèi)容頂包括袍調(diào)試宅記錄澤和程義序清隆單(附注番釋)。提交兼時間賞:20腫15諸.3斑.2泥0交B5在19室14實施外方法權(quán)及要憲求(認(rèn)續(xù))支持飾借鑒股和學(xué)價習(xí)已翁有的候優(yōu)秀住知識懇!反對輩全盤肝拷貝苗,不賤求甚帝解!吸收四和消參化他撕人經(jīng)離驗,違做自爛己的墓課程顧設(shè)計屠!15內(nèi)容年簡介設(shè)計幟目的設(shè)計尺內(nèi)容實施隙方法惠及要聽求時間鴿安排輔導(dǎo)16課程亞設(shè)計天時間岔:課李程安搭排的掀上機(jī)殖時間考核現(xiàn)場喜考查時間禍:2池周周馳日時間萄安排17聯(lián)絡(luò)臺方式辦公搖室電椅話:18內(nèi)容為簡介設(shè)計塑目的設(shè)計極內(nèi)容實施多方法述及要秒求時間院安排輔導(dǎo)19課程子設(shè)計圓輔導(dǎo)Li潤nu數(shù)x系艇統(tǒng)的樸相關(guān)屬知識以R擴(kuò)ed功ha過t霉Li妙nu涌x條9.秀0為典例進(jìn)程西并發(fā)添加虎1個才系統(tǒng)欺調(diào)用添加莖設(shè)備龜驅(qū)動讓程序/p塌ro傍c文億件分批析20Li壩nu組x系統(tǒng)存的相扒關(guān)知雄識Li小nu禮x版本Li勤nu唐x通過賠簡單罩的編新號來齊區(qū)別浩內(nèi)核予的穩(wěn)岸定版詠和開罷發(fā)版系。每堤個版敬本用姨三個膜數(shù)字目描述蒙,由悅圓點厚分隔踢。前抄兩個握數(shù)表須示版膚本號賊,第藝三個雀數(shù)表夠示發(fā)版布號箏,如。如果獨第二挎?zhèn)€數(shù)膊為偶圈數(shù),郊則表貓示穩(wěn)約定的烈內(nèi)核盲;否馬則,筍表示缸開發(fā)黨中的屑內(nèi)核趣。穩(wěn)定款版的嘆發(fā)布給主要院用來紐奉糾正侄用戶計所報避告的辱錯誤六,但橋?qū)崿F(xiàn)魚內(nèi)核幫的主嶺要算只法和燦數(shù)據(jù)脈結(jié)構(gòu)帳基本高不變迅。然輸而,畫開發(fā)蛙版本蹈間可逮能存寒在很道大的穗差異振。21Li質(zhì)nu銀x系統(tǒng)潑的常起用目禽錄文件權(quán)目錄斗結(jié)構(gòu)蓄——糧樹型杏結(jié)構(gòu)常用協(xié)目錄順有:/d茄evLi監(jiān)nu狹x的所煉有設(shè)恒備文刮件,詠如/d遺ev熊/h亂da代表鄉(xiāng)豐第一揉個物俯理ID裂E硬盤炎。/e磨tc系統(tǒng)芬管理織所需樓要的鋤配置窩文件無和子貢目錄窩。/l掏ib系統(tǒng)墳最基爸本的咳動態(tài)媽鏈接菠共享致庫,今幾乎寄所有篩的應(yīng)尼用程迫序都需撒要用滅到這蛇些共郊享庫扮。22Li黃nu伸x系統(tǒng)雜的常組用目彈錄(匪續(xù))/u扛sr應(yīng)用隔程序野和文蹤蝶件幾停乎都處存放死在這畏個目捎錄下蘇。其惠中包飽含以旅下子戀目錄符:/us廁r/i語nc沸l(wèi)u港de開發(fā)款和編包譯應(yīng)筐用程廉序所夠需的噴頭文燒件/us秘r/l漁ib常用名的動慚態(tài)鏈漠接共念享庫秧和靜哭態(tài)檔脫案庫/us濟(jì)r/l健oc登al一般撒用戶獨的目蒙錄,豎在這抽里安耕裝軟濃件最句適合/us仇r/m良an幫助謠文檔寸的存界放目登錄/us求r/旅sr既cLi標(biāo)nu史x的源班代碼齊目錄23Li而nu第x系統(tǒng)串的核篇心源去碼Li技nu蘋x核心下源代下碼位蘋于/u渴sr聲/s獵rc舍/l酬in宋ux下:ar廈chCP軌U類型挨相關(guān)兔的核禽心代萌碼。攤每一鳴個子衡目錄竄代表查一種CP杯U類型債,例涂如i3瓜86就是演關(guān)于盼Int撓el辱C矩PU及與剃之相供兼容穴的體藍(lán)系結(jié)健構(gòu)的法子目堪錄;dr株iv默er您s所有騰的設(shè)振備驅(qū)牧動程填序;鈴每種堆驅(qū)動淡程序勉又各虧占用搜一個匠子目默錄,鍵如/b預(yù)lo城ck下為明塊設(shè)鴉備驅(qū)陽動程自序in屢cl額ud晚e編譯集核心元所需庸要的足大部棕分頭孩文件除。與到平臺成無關(guān)刪的頭丙文件矮在in瘋cl手ud翻e/面li躬nu叫x子目部錄下茂,與收Int斯el奴C踢PU相關(guān)塵的頭號文件攤在in勿cl忙ud曬e/叢as燥m-方i3盈86子目途錄下票;24Li傘nu鐵x系統(tǒng)活的核配心源沖碼(倚續(xù))Li階nu幻玉x核心匪源代盯碼還趟包括步:In捧it包含抖核心斜的初比始化前代碼掀,包困含兩氣個文肚件ma植in仔.c和ve各rs役io踏n.苗c,這番是研悟究核奮心如猛何工旨作的辭一個霜非常持好的餓起點壁;25Li閘nu戀x系統(tǒng)忘的核見心源刷碼(屑續(xù))mm:所有捎獨立墓于CP哄U體系舅結(jié)構(gòu)丟的內(nèi)騰存管匙理代虹碼,抽如頁劑式存蹲儲管否理中鬧內(nèi)存廉的分蒙配和說釋放罵等,密與體饅系結(jié)波構(gòu)相盡關(guān)的言內(nèi)存并管理躲代碼是則位渡于ar枯ch剛/*豬/m銀m/房誠下;ke樸rn襲el:主要崗的核如心代食碼,母此目坡錄下冰的文終件實丙現(xiàn)了逃大多晃數(shù)Lin系ux系統(tǒng)雙的內(nèi)籍核函絡(luò)數(shù),仆其中恥最重真要的土文件粥當(dāng)屬沒進(jìn)程尺調(diào)度sc鉆he溜d.勾c,同驗樣,垮和體須系結(jié)摸構(gòu)相芒關(guān)的序代碼盤在ar午ch會/*不/k旨er劈燕ne理l中。26課程丑設(shè)計丑輔導(dǎo)Li淚nu罷x系妖統(tǒng)的辛相關(guān)彎知識以R沸ed剃ha巴t判Li牌nu燭x害9.俱0為砌例進(jìn)程蒼并發(fā)添加鑰系統(tǒng)腦調(diào)用添加跳設(shè)備田驅(qū)動醬程序/p體ro撐c文混件分?jǐn)y析27進(jìn)程攀并發(fā)pi烘d=開fo勉rk雜():創(chuàng)籃建子津進(jìn)程舉。返回佳值:深0攀從捐子進(jìn)竟程返奏回,>修0稍從襪父進(jìn)擁程返殼回ex有it垃進(jìn)程劃自我體終止握,進(jìn)涌入僵馳死狀櫻態(tài),識仍然很保留慨a(chǎn)s鈔k_李st雖ru幫ct睬結(jié)構(gòu)端。wa佩it笨(熊)殊等待沈進(jìn)程勻終止芬(由雹父進(jìn)乓程調(diào)引用)ex封ec索(俗)惜執(zhí)行屯一個靠可執(zhí)西行程槍序(駱文件少)28課程悠設(shè)計削輔導(dǎo)Li味nu沒x系很統(tǒng)的頓相關(guān)閑知識以R征ed存ha療t庫Li獸nu感x母9.劇0為慎例進(jìn)程勵并發(fā)添加客系統(tǒng)礙調(diào)用添加召設(shè)備某驅(qū)動悉程序/p殊ro貧c文駝件分謎析29添加寨系統(tǒng)露調(diào)用Li弱nu丸x系旱統(tǒng)調(diào)尤用機(jī)旨制Li吉nu里x內(nèi)核沃中設(shè)墻置了貝一組乳用于暢實現(xiàn)豈各種壁系統(tǒng)誘功能事的子容程序側(cè),稱扇為系統(tǒng)所調(diào)用。用戶識可以因通過也系統(tǒng)轎調(diào)用祥命令監(jiān)在自劍己的戶應(yīng)用姨程序范中調(diào)匹用它直們。系統(tǒng)少調(diào)用給與普玩通函寶數(shù)調(diào)準(zhǔn)用的撇區(qū)別系統(tǒng)悼調(diào)用遞核心榜態(tài)脂操僚作系汁統(tǒng)核校心提謀供普通筒的函抱數(shù)調(diào)憂用丑用室戶態(tài)耐函數(shù)楚庫或植用戶詢自己悶提供30添加邊系統(tǒng)董調(diào)用診(續(xù)桶)Li碰nu土x系夕統(tǒng)調(diào)估用機(jī)恒制in刊t0x飲80使用鬼寄存角器中窗適當(dāng)借的值痰跳轉(zhuǎn)棋到內(nèi)筑核中抓事先叮定義浪好的院代碼澇中執(zhí)撤行:涼跳轉(zhuǎn)憐到系茅統(tǒng)調(diào)闊用的不總?cè)胧罂趕y干st刊em集_c尖al丟l,檢查翠系統(tǒng)閉調(diào)用垂號,轟再查捉找系首統(tǒng)調(diào)絡(luò)用表sy搞s_傍ca觀ll惕_t縮慧ab款le,調(diào)用精內(nèi)核許函數(shù)鴿,最癥后返重回。系統(tǒng)雞調(diào)用禍?zhǔn)强靠嘁恍╇u宏,窄一張價系統(tǒng)舍調(diào)用揪表,亭一個沾系統(tǒng)姐調(diào)用繡入口秋來完仿成的私。31添加訊系統(tǒng)傍調(diào)用達(dá)(續(xù)騰)步驟消_1添加遍源代波碼編寫貸添加從到內(nèi)糠核中包的源擦程序華,函株數(shù)名稻以s姐ys東_開榨頭。如:my洋ca索ll止(i鞭nt買n轉(zhuǎn)um房誠),在/u跪sr駝/s皺rc窄/l愚in蛋ux龜/k脫er細(xì)ne填l/如sy已s.圖c文件總中添乎加如拜下代孕碼:as斧ml鬼in暴ka做ge膨i豎nt居s屢ys多_m出yc瓜al哭l(馬in剝t顆nu照mb登er書){re敗tu尚rn嫂n重um財be制r;猶/蘿/該途系統(tǒng)媽調(diào)用戒僅返偷回一栗個整無型值}32添加紗系統(tǒng)賺調(diào)用顛(續(xù)周)步驟周_2連接謹(jǐn)新的雷系統(tǒng)斧調(diào)用使內(nèi)絮核的峰其余印部分酒知道兩該系美統(tǒng)調(diào)削用的覆存在怕。為仆此,襪需編沃輯兩蠢個文號件:/u搶sr吃/s盟rc羞/l錯in哲ux令/i聲nc怕lu塞de虛/a咳sm遠(yuǎn)-i秒38理6/泛un五is佛td伸.h供——系統(tǒng)相調(diào)用秤清單(為每略個系居統(tǒng)調(diào)章用分道配唯柄一號播碼)#de顧fi沫ne喚_博NR杏_n凈am薦enn什n這里族,na術(shù)me:系統(tǒng)色調(diào)用糊名;nn計n:系統(tǒng)罪調(diào)用湊對應(yīng)克的號治碼,費不能環(huán)與內(nèi)巴核自什身的杏系統(tǒng)爬調(diào)用厘號相瓜同。/u括sr評/s醫(yī)rc楊/l袋in紫ux類/a蔥rc岔h/恐i3難86甚/k寄er崇ne懼l/斬en亡tr鉆y.在S—王—對sy糧s_茅ca賊ll獲_t蛇ab制le先[瘡]進(jìn)行懂初始隊化(增加囑新的水內(nèi)核忘函數(shù)沖的指蠢針).l冶on親gSY灘MB披OL干_N妖AM萍E(到sy反s_勵my絡(luò)ca饞ll)33添加胸系統(tǒng)析調(diào)用汽(續(xù)知)步驟站_3重建使Li越nu表x內(nèi)辮核以ro旁ot身份配進(jìn)入/us沉r/督sr昌c/附li款nu涉x目錄員,重史建內(nèi)糊核#m沈ak貌eco黨nf藏ig//基于可文本梨的傳肯統(tǒng)配寬置界粱面#m救ak你ede桿p//檢驗?zāi)畠?nèi)核技源代惕碼文戰(zhàn)件的漁依賴均性和位完整部性#m擁ak蔥e汪cl歡ea盲n//清除改以前棕編譯申的目磨標(biāo)文畝件#m織ak幕ebz慢Im清ag江e//編譯妄內(nèi)核,也愈可采辯用ma咱kezI崗ma屠ge編譯夜生成奪的內(nèi)趟核文峰件為/u勺sr速/s時rc跟/l骨in捆ux襪/a幕rc文h/珍i3濱86晨/b恥oo蘆t/頃bz茫Im室ag掏e34添加拍系統(tǒng)騾調(diào)用才(續(xù)桐)步驟筑_4重啟形內(nèi)核將/u嚼sr炸/s盟rc敘/l濤in凝ux撒/a嫩rc育h/想i3公86窮/b宰o(hù)o圖t/燒bz碎Im女a(chǎn)g舌e拷貝服到/b船oo瘦t/bz縱Im宅ag貍e配置聚啟動慢文件若采葉用li外lo,修改/e廉tc子/li蜻lo苗.c符on無f,添加姓新的辛引導(dǎo)帝內(nèi)核im挪ag再e=億/b克oo息t/bz族Im特ag皇e//上面饒編譯轟生成屬的內(nèi)陪核映經(jīng)象la肆be扎l=Li錄nu標(biāo)xt扯es記t//給該懇系統(tǒng)旺取個參名字ro勁ot友=/聲de全v/動hd僅a5充/幼/根目畝錄所爺在的萬分區(qū)星,可天用命宅令df查看re業(yè)ad測-o區(qū)nl巨y若采胞用gr抽ub,修改/e告tc仍/g產(chǎn)ru橡b.垃co礙nf,添加速新的撫引導(dǎo)碰內(nèi)核ti禁tl瓣eLi伍nu孟xt回es嬌tro詠ot續(xù)(h斗d0夢,4宋)ke席rn樓el民/槳bo衛(wèi)ot紅/bz額Im醫(yī)ag礙eroro機(jī)ot毛=/香de偵v/猾hd楚a5in佳it瘋rd重啟幟后,裹出現(xiàn)Li御nu乒xt暖es日t選項瘋,選出擇它航進(jìn)入嚼新的逢內(nèi)核35添加失系統(tǒng)初調(diào)用共(續(xù)唉)步驟糖_5使用么新的圖系統(tǒng)演調(diào)用應(yīng)用蛾程序ap值p.桃c中調(diào)讀用新進(jìn)添加刻的系套統(tǒng)調(diào)面用my溪ca澡ll:宏指昂令說斑明:_sy訊sc皮al余l(xiāng)n富(p技ar織am新et辰er練s):n表示蝦系統(tǒng)竹調(diào)用根所需老參數(shù)析,pa扇ra填me感te棍rs為參寇數(shù)。權(quán)如上梨面的則宏中繳,第毛一個桂參數(shù)in魚t表示吩返回甚值類止型,稼第二梳個參沈數(shù)my懸ca鎮(zhèn)ll為函姜數(shù)名繞。第孤三個牙和第迷四個廈分別防用來蒙指定硬參數(shù)夸的類格型和陷名稱荒。編譯gcc–o害a泄pp仇a預(yù)pp霜.cintmain(intargv,char*argc[]){inta=mycall(100);printf(“%d\n”,a);return0;}#include<stdio.h>#include</usr/src/linux-2.4/include/asm/unistd.h>#include<errno.h>_syscall1(int,mycall,int,ret)36課程記設(shè)計述輔導(dǎo)Li偵nu架x系誼統(tǒng)的姐相關(guān)殘知識以R伐ed碎ha督t霸Li贏nu階x圈9.援0為嶄例進(jìn)程免并發(fā)添加溜系統(tǒng)好調(diào)用添加讓設(shè)備寨驅(qū)動戴程序/p誼ro扮c文淘件分笑析37添加湯設(shè)備傘驅(qū)動負(fù)程序內(nèi)核純模塊LK餅MLo先ad屯ab恐le拾K順er無ne框l粥Mo窩du泊le掛sLi援nu潛x核妻心是聚一種紋mo柔no樓li棕th夸ic側(cè)類型物的內(nèi)雄核,渠即單今一的頃大核配心。li恒nu淹x內(nèi)壟核是需一個甩整體宋結(jié)構(gòu)剖,因臥此向介內(nèi)核蒸添加飛或者但刪除巖某些網(wǎng)功能普,都劫十分努困難益。為表了解課決這議個問裳題,功引入謝了模有塊機(jī)爺制,休從而命可以冰動態(tài)謠的在法內(nèi)核雷中添蹲加或補者刪西除模陰塊。38添加飛設(shè)備妙驅(qū)動游程序彎(續(xù)疤)模塊別的實撈現(xiàn)機(jī)里制模塊厭初始墨化in慰tin噴it攪_m貝od可ul工e(虛){縫};模塊價卸載in旋tcl榮ea栽nu婦p_粗mo潛du爆le染(段){膊};操作un塌si撤gn臂ed格l榨on覺g立sy步s_迷cr洪ea根te淋_m舊od懶ul金e述(c喇ha桂r抱*n亭am禾e,穴u貧ns碌ig伶ne構(gòu)d險lo宏ng盾s怪iz株e)鍛;伏/頓/重新蹦分配裁內(nèi)存in輝tsy潑s_廁de豪le稅te丘_m賽od懷ul叨e頭(c購ha溪r愚*n池am胡e)師;黑/殲/卸載in涉tsy真s_孝qu湊er白y_籮mo濟(jì)du隸le旦(趙co播ns件t蓬ch議ar迎*適na艘me急,in習(xí)twh悔ic稅h,華v短oi本d貝*bu巖f,攤si路ze邁_tbu勝fs憶iz屈e,機(jī)si國ze喉_t丈*蓮re粥t)影;后/日/查詢頭文拋件:/us供r/橡sc是r/lin順ux捷/i寫nc哲lu東de潤/lin編ux據(jù)/m畢od扣ul籠e.h39添加拍設(shè)備隨驅(qū)動酒程序馳(續(xù)熟)模塊寒的實來現(xiàn)機(jī)漁制模塊嫁加入竄:in斯sm業(yè)od稼m綿od姐ul棟en錢am陵e.蔥o完成懼:加男載目飛標(biāo)文軟件調(diào)用cr寇ea嘉te令_m仁od擱ul霞e重新辛分配陜內(nèi)存內(nèi)核芽符號尾用ge杏t_甜ke奮rn胞el玩_s薄ym寶s解析爛未解掛析的溝引用調(diào)用in冤it檢_m姥od青ul液e初始匹化L騾KM托->執(zhí)行in港it鋸_m融od粥ul爽e(糖vo愈id嶄)函數(shù)40添加巧設(shè)備鄙驅(qū)動陰程序級(續(xù)干)查看侵模塊定:ls囑mo闖d結(jié)果杰:Mo辦du搜le膠P場ag賞e息Us蠢ed嶺b零ymo騎du剛le職na痛me臟1(內(nèi)存逆信息)地0(使用臣次數(shù))刪除贏模塊除:rm便mo扣d征mo肯du抄le陽na清me41添加薪設(shè)備霜驅(qū)動翻程序穗(續(xù)湯)模塊放編程商實例he倡ll磁o.我c源碼編譯gccprintk("helloworld!\n');printk("Ihaveruninginakernelmod!\n");return0;}voidcleanup_module()/*模塊卸載*/{printk("Iwillshutdownmyselfinkernelmod!\n)";}

#include"linux/kernerl.h"#include"linux/module.h"/*處理版本問題CONFIG_MODVERSIONS*/#ifCONFIG_MODVERSIONS==1#defineMODVERSIONS#include"linux/version.h"#endifintinit_module()/*模塊初始化*/{42添加旗設(shè)備捷驅(qū)動滲程序赴(續(xù)灣)Li吹nu降x支獅持的稀設(shè)備庫類型字符載設(shè)備——畜c存取貌時沒撈有緩行存;膀?qū)ψ衷O(shè)符設(shè)升備發(fā)研出讀銷寫請狐求時掩,實昏際的I/混O就發(fā)遠(yuǎn)生了咸。如頌:鼠板標(biāo)、染鍵盤遵等。塊設(shè)眼備——與b利用底一塊絕系統(tǒng)社內(nèi)存抖區(qū)域域作緩樸沖區(qū)笛,當(dāng)甩用戶備進(jìn)程泥對設(shè)戰(zhàn)備請毒求能纏滿足孟用戶間要求棉時,吼返回扭請求搏數(shù)據(jù)怎,否系則,求調(diào)用意請求項函數(shù)諸進(jìn)行族實際扎的I/譜O操作狀。如眼:硬押盤、搶軟盤遼、CD邁-R膽OM等。網(wǎng)絡(luò)責(zé)設(shè)備43添加懲設(shè)備都驅(qū)動歡程序脖(續(xù)貨)設(shè)備考驅(qū)動結(jié)程序一組廢常駐室內(nèi)存妖的具蓋有特貝權(quán)的擠共享諷庫,太是低渠級硬扇件處閑理例牧程。每個絞設(shè)備氣文件信有個捉設(shè)備宇號主設(shè)醫(yī)備號旨從設(shè)音備號44添加錢設(shè)備傳驅(qū)動門程序賣(續(xù)頁)設(shè)備刪驅(qū)動提程序蒜的功紙能對設(shè)任備初產(chǎn)始化謀和釋振放;把數(shù)才據(jù)從輝內(nèi)核洋傳送什到硬柏件和底從硬繞件讀惹取數(shù)源據(jù);讀取衫應(yīng)用姿程序掌傳輸污給設(shè)貸備文暢件的液數(shù)據(jù)林和回儉送應(yīng)嫩用程免序請渣求的晝數(shù)據(jù)揭;檢測陰和處攤理設(shè)派備出堂現(xiàn)的鄰錯誤社。45添加鍵設(shè)備態(tài)驅(qū)動準(zhǔn)程序兄(續(xù)訴)Li罵nu猶x系泊統(tǒng)采緩用一幫組固申定的犧入口料點來跳實現(xiàn)射驅(qū)動預(yù)設(shè)備層的功獅能。op肌en入口揪點:打開執(zhí)設(shè)備勇。op班en子程竭序必盾須對惑將要責(zé)進(jìn)行拌的I/肢O操作毯做好攝必要啄的準(zhǔn)百備工養(yǎng)作,麥如清掏除緩坡沖區(qū)截等。cl檔os寫e入口鉗點:關(guān)閉濱一個排設(shè)備及。re絮ad入口藝點:從設(shè)捧備上弦讀數(shù)為據(jù)。wr鞏it臣e入口膀點:往設(shè)暑備上號寫數(shù)以據(jù)。io勒ct驕l入口艙點:執(zhí)行集讀、投寫之虛外的尖操作懼。se煩le序ct入口容點:檢查不設(shè)備誼,看釋數(shù)據(jù)創(chuàng)是否賢可讀瓦或設(shè)曉備是咳否可告用于匯寫數(shù)某據(jù)。46添加團(tuán)設(shè)備怎驅(qū)動撥程序差(續(xù)過)入口湯點采歡用如酷下數(shù)怠據(jù)結(jié)激構(gòu)實蜜現(xiàn):int(*flush)(structfile*);int(*release)(structinode*,structfile*);int(*fsync)(structfile*,structdentry*,intdatasync);int(*fasync)(int,structfile*,int);int(*lock)(structfile*,int,structfile_lock*);ssize_t(*readv)(structfile*,conststructiovec*,unsignedlong,loff_t*);ssize_t(*writev)(structfile*,conststructiovec*,unsignedlong,loff_t*);ssize_t(*sendpage)(structfile*,structpage*,int,size_t,loff_t*,int);unsignedlong(*get_unmapped_area)(structfile*,unsignedlong,unsignedlong,unsignedlong,unsignedlong);

}#include</usr/src/linux/include/linux/fs.h>structfile_operations{

structmodule*owner;loff_t(*llseek)(structfile*,loff_t,int);ssize_t(*read)(structfile*,char*,size_t,loff_t*);

ssize_t(*write)(structfile*,constchar*,size_t,loff_t*);int(*readdir)(structfile*,void*,filldir_t);unsignedint(*poll)(structfile*,structpoll_table_struct*);

int(*ioctl)(structinode*,structfile*,unsignedint,unsignedlong);int(*mmap)(structfile*,structvm_area_struct*);int(*open)(structinode*,structfile*);47添加肺設(shè)備姥驅(qū)動舟程序過(續(xù)卵)注冊緊設(shè)備派:向燭系統(tǒng)傍登記揀設(shè)備鏟及驅(qū)陵動程作序的涌入口叫點in濕tre鴨gi勞st武er工_c書hr發(fā)de社v(u憤ns挨ig抵ne聯(lián)din忘tma座jo燈r,錢c艙on欄st完c拌ha漲r意*n樣am隔e,st才ru展ctfi薯le桶_o押pe洗ra剛ti夏on翅s皺*f虧op禮s)刑;//向系什統(tǒng)的拾字符捧設(shè)備尊表登央記一兼?zhèn)€字餡符設(shè)患備//ma潮jo諸r:希望毯獲得御的設(shè)鹽備號龍,為0時系話統(tǒng)選拒擇一標(biāo)個沒錫有被跑占用喬的設(shè)籌備號權(quán)返回勵。//na味me:設(shè)備鎖名//fo艷ps:登記擊驅(qū)動臉程序旨實際承執(zhí)行予操作擔(dān)的函死數(shù)的協(xié)指針//登記毀成功孝,返廊回設(shè)辱備的炕主設(shè)具備號刊,否擾則,湖返回掙一個鞏負(fù)值in弟tre外gi眨st桃er主_b鑼lk嫁de絲式v(u表ns厭ig設(shè)ne米din粒tma拖jo臟r,童c剩on衣st配c悄ha軋r線*n屢am凍e,st松ru英ctfi際le斧_o萬pe聽ra虹ti監(jiān)on振s旨*f籃op吹s)斑;//向系棗統(tǒng)的算塊設(shè)天備表吼登記蹈一個鳴塊設(shè)逝備48添加巴設(shè)備鐵驅(qū)動越程序高(續(xù)溜)設(shè)備膏卸載in即tun屋re賓gi個st畢er斬_c淚hr攪de麻v(u術(shù)ns跟ig繩ne痰din套tma惜jo譽r,冒c員on敵st禍c棵ha培r脾*n池am樓e)蜻;//卸載匪字符獻(xiàn)設(shè)備//ma辟jo現(xiàn)r:要卸俱載設(shè)淡備的狡主設(shè)爭備號//na足me:設(shè)備棚名in傷tun燭re柄gi繩st呈er稈_b兇lk晌de擴(kuò)v(u遮ns追ig負(fù)ne郵din腎tma支jo東r,恒c增on軍st僵c刑ha爐r坦*n櫻am討e)大;//卸載貿(mào)塊設(shè)勻備49添加控設(shè)備搖驅(qū)動糟程序牧(續(xù)漆)添加歐設(shè)備影驅(qū)動劫程序蔬的方弟法編寫創(chuàng)設(shè)備跪驅(qū)動摧程序my畝de欠v.瞇c在模旋塊的展初始皮化in隸it涂_m鉗od廣ul感e(摩)中調(diào)臂用設(shè)圖備注漸冊函能數(shù);在模講塊的銹卸載cl合ea值nu吳p_膊mo蝦du籃le弱()中調(diào)排用設(shè)漠備的乎卸載攏函數(shù)澇。設(shè)備遣驅(qū)動挽模塊氧的編至譯gc林c-O賢2米-D湖MO弓DU火LE莖-館D_宜_K龍ER嬸NE亭L_兇_my稈de善v.伶c50添加躍設(shè)備打驅(qū)動津程序港(續(xù)由)加載瘋設(shè)備盤驅(qū)動賭模塊:in附sm證od–fmy店de訪v.綱o若加放載成斤功,撿在文動件/p拾ro鄙c/加de系vi濤ce健s中能足看到悅新增柄加的次設(shè)備璃,包葬括設(shè)愧備名my窄de傷v和主呈設(shè)備砌號。生成地設(shè)備縣文件mk璃no縮慧d/d己ev爆/t糧es魚t牛c柜25保4鴿0//其中役,te披st為設(shè)鮮備文榨件名定,25西4為主遠(yuǎn)設(shè)備獸號,0為從繭設(shè)備幅號,c表示離字符賄設(shè)備51編寫烏應(yīng)用堂程序球,測亭試驅(qū)劫動程忘序編譯gcc途h浩el地lo斧.c爺–包o頓he留ll厘o添加喝設(shè)備晴驅(qū)動驗程序糊(續(xù)筆)if(testdev==-1){printf("Cann'topenfile\n");exit(0);}read(testdev,buf,10);for(i=0;i<10;i++)printf("%d\n",buf[i]);close(testdev);}

#include<stdio.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>intmain(){inttestdev;inti;charbuf[10];testdev=open("/dev/test",O_RDWR);52課程貸設(shè)計逼輔導(dǎo)Li宏nu綿x系懸統(tǒng)的膝相關(guān)冒知識以R葵ed凱ha盼t蠻Li箏nu筋x辜9.賠0為膽例進(jìn)程上并發(fā)添加塵系統(tǒng)筐調(diào)用添加房誠設(shè)備返驅(qū)動殲程序/p忽ro捆c文主件分監(jiān)析53/p渴ro太c文擇件分暮析/p名ro設(shè)cPR撤OC衫文件低系統(tǒng)短是進(jìn)竟程文滅件系免統(tǒng)和棋內(nèi)核臭文件鼻系統(tǒng)玻的組就成的掌復(fù)合蔽體,足是將乎內(nèi)核閑數(shù)據(jù)以對象角化為懷文件耗形式低進(jìn)行某存取沖的一西種內(nèi)跡存文群件系匆統(tǒng),糕是專監(jiān)控藝內(nèi)核諷的一邀種用扁戶接蛾口.僚它鉤擁有及一些散特殊稻的文聰件(全純文眉本)佛,從語中可息以獲閣取系紀(jì)統(tǒng)狀藏態(tài)信窩息。系統(tǒng)咳信息與進(jìn)忠程無歡關(guān),演隨系斜統(tǒng)配跡置的泰不同止而不蛋同。命令抬pr累oc虛in希fo??梢悦娠@示戒這些接文件抵的大縱量信水息。進(jìn)程針信息系統(tǒng)娘中正負(fù)在運早行的獵每一蹦個用抄戶級蠻進(jìn)程偶的信善息。54/p韻ro艱c文渾件分洋析系統(tǒng)醋信息/p稅ro莊c/cm傾d/l我in逝e:內(nèi)核陽啟動賤的命稅令行/p歐ro錢c/cp廣ui賄nf杠o:尼CP極U信息/p仗ro艷c/您st皺at付:賢CP可U的使早用情程況、扔磁盤錢、頁幅面、擺交換透、所壩有的陡中斷搜、最訂后一段次的嘆啟動丈時間形等。/p葬ro啞c/me媽mi競nf歪o:內(nèi)存增狀態(tài)再的有志關(guān)信突息。進(jìn)程哀信息/p蛇ro葵c/預(yù)$pi牌d/s刑ta趨t/p溉ro戴c/搶$pi歡d/s挪ta川tu枯s/p因ro行c/港$pi葛d/征st丸at布m……影et鋪c55/p慘ro肢c文鄉(xiāng)豐件分組析監(jiān)控壤系統(tǒng)氏功能通過老讀取pr迷oc文件粘系統(tǒng)側(cè),獲汪取系并統(tǒng)各疾種信資息,翅并以漲比較微容易撤理解穩(wěn)的方太式顯晌示出初來。使用GT豬K+襪L吹in急ux下的c語言爸開發(fā)。具體治包括族:主機(jī)怨名、透系統(tǒng)太啟動晶時間包、系碰統(tǒng)運羽行時川間、妨版本慎號、賄所有疑進(jìn)程箏信息擦、CP先U類型稈、CP孩U的使愛用率紡、內(nèi)點存使寸用率……--甩--參照WI叛ND羽OW懂S的任找務(wù)管潛理器仆,實葉現(xiàn)其置中的厘部分爽功能殘。/p蠢ro評c文件丈系統(tǒng)嶄的詳忌細(xì)信攻息通抬過以釣下命瓶令獲裹?。簃a剃n驕pr蕩oc56課程童設(shè)計回輔導(dǎo)澇——

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論