— 新聞中心 —
NEWS CENTRES郵箱:www.jungshuodz@163.com
手機(jī):18268652722
電話:18268652722
地址:寧波市北侖區(qū)大碶廟前山路45號(hào)
人氣:
擴(kuò)展的定義相當(dāng)準(zhǔn)確,但仍然不完整,因?yàn)槟承?qū)動(dòng)程序根本不與任何硬件設(shè)備關(guān)聯(lián)。假設(shè)我們要實(shí)現(xiàn)一個(gè)核彈發(fā)射器的驅(qū)動(dòng)(這里不得不佩服jyy的想象力,程序中定義的密碼也可能是彩蛋2333)。幸運(yùn)的是,之前有人遇到過(guò)類似的問(wèn)題,安裝了上面的觸摸控制板驅(qū)動(dòng)程序就消失了。在用戶模式下運(yùn)行的組件稱為應(yīng)用程序,在內(nèi)核模式下運(yùn)行的組件稱為軟件驅(qū)動(dòng)程序。
應(yīng)用程序調(diào)用操作系統(tǒng)實(shí)現(xiàn)的函數(shù),操作系統(tǒng)調(diào)用驅(qū)動(dòng)程序?qū)崿F(xiàn)的函數(shù)。從最基本的意義上講,驅(qū)動(dòng)程序是一個(gè)軟件組件,允許操作系統(tǒng)和設(shè)備相互通信。驅(qū)動(dòng)程序(由設(shè)計(jì)和制造設(shè)備的同一家公司編寫)知道如何與設(shè)備硬件通信以獲取數(shù)據(jù)。當(dāng)驅(qū)動(dòng)程序從設(shè)備獲取數(shù)據(jù)時(shí),它會(huì)將數(shù)據(jù)返回給操作系統(tǒng),操作系統(tǒng)將數(shù)據(jù)返回給應(yīng)用程序。
在lx_init之前的code_init函數(shù)中,這個(gè)結(jié)構(gòu)體會(huì)作為參數(shù)傳入。這樣,通過(guò)系統(tǒng)調(diào)用讀寫這個(gè)設(shè)備時(shí),控制流程就會(huì)走到我們注冊(cè)的函數(shù)中(可以使用strace命令來(lái)驗(yàn)證)。 lx_read中有一些錯(cuò)誤檢查以確保驅(qū)動(dòng)程序安全。更多的函數(shù)會(huì)注冊(cè)在業(yè)界真實(shí)驅(qū)動(dòng)的file_operations結(jié)構(gòu)體中:
它相當(dāng)于一個(gè)硬件接口。操作系統(tǒng)只有通過(guò)這個(gè)接口才能控制硬件設(shè)備的工作。某個(gè)設(shè)備的驅(qū)動(dòng)程序如果安裝不正確,將無(wú)法正常工作。該段用于標(biāo)記該驅(qū)動(dòng)對(duì)應(yīng)的模塊在內(nèi)核中的起點(diǎn)和終點(diǎn)。這與最初包含在Linux內(nèi)核中的模塊庫(kù)有關(guān)。這個(gè)設(shè)備驅(qū)動(dòng)程序編譯完成后,會(huì)生成類似的東西。因此,驅(qū)動(dòng)程序被比喻為硬件的靈魂、硬件的主人、硬件與系統(tǒng)之間的橋梁等。
我們可以擴(kuò)展驅(qū)動(dòng)程序的定義,說(shuō)驅(qū)動(dòng)程序是觀察或參與操作系統(tǒng)和設(shè)備之間通信的任何軟件組件。 Linux中的一切都是文件,所以只需要下面的file_operations結(jié)構(gòu)來(lái)注冊(cè)一個(gè)設(shè)備驅(qū)動(dòng)程序。萬(wàn)能打印機(jī)驅(qū)動(dòng)-打印機(jī)掃描儀驅(qū)動(dòng)助手,自動(dòng)識(shí)別打印機(jī)品牌型號(hào),快速匹配對(duì)應(yīng)的打印機(jī)掃描儀驅(qū)動(dòng)。編寫軟件驅(qū)動(dòng)程序的主要原因是訪問(wèn)僅在內(nèi)核模式下可用的受保護(hù)數(shù)據(jù)。
烤面包機(jī)的功能驅(qū)動(dòng)程序通過(guò)向USB 主控制器的功能驅(qū)動(dòng)程序發(fā)送請(qǐng)求來(lái)與烤面包機(jī)間接通信。假設(shè)程序想要將1GB 的數(shù)據(jù)復(fù)制到磁盤上。與CPU相比,總線非常慢。如果我們想讓程序循環(huán)地通過(guò)總線將數(shù)據(jù)一點(diǎn)點(diǎn)復(fù)制到磁盤上,那么開銷會(huì)非常巨大。設(shè)備驅(qū)動(dòng)程序存在的目的是提取所有I/O設(shè)備共有的功能,使應(yīng)用程序可以使用相同的接口,屏蔽掉復(fù)雜的細(xì)節(jié),從而完成對(duì)I/O設(shè)備的抽象。
上一篇:防爆電機(jī)生產(chǎn)廠家排名,防爆電機(jī)生產(chǎn)廠家
下一篇:風(fēng)力發(fā)電機(jī)組多少錢一套大型,風(fēng)力發(fā)電機(jī)組主要由哪幾部分組成各部分的作用是什么
相關(guān)推薦