freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)課程設(shè)計(jì)-閱讀頁(yè)

2025-08-03 03:00本頁(yè)面
  

【正文】 的設(shè)備類(lèi)型v字符設(shè)備 —— c 存取時(shí)沒(méi)有緩存;對(duì)字符設(shè)備發(fā)出讀寫(xiě)請(qǐng)求時(shí),實(shí)際的 I/O就發(fā)生了。 v塊設(shè)備 —— b 利用一塊系統(tǒng)內(nèi)存區(qū)域作緩沖區(qū),當(dāng)用戶(hù)進(jìn)程對(duì)設(shè)備請(qǐng)求能滿(mǎn)足用戶(hù)要求時(shí),返回請(qǐng)求數(shù)據(jù),否則,調(diào)用請(qǐng)求函數(shù)進(jìn)行實(shí)際的 I/O操作。v網(wǎng)絡(luò)設(shè)備 Date 38RealTime Systems Lab.添加設(shè)備驅(qū)動(dòng)程序(續(xù))161。v設(shè)備等同文件處理,每個(gè)設(shè)備文件有兩個(gè)設(shè)備號(hào) 主設(shè)備號(hào):標(biāo)識(shí)驅(qū)動(dòng)程序 從設(shè)備號(hào):表示使用同一個(gè)設(shè)備驅(qū)動(dòng)程序的不同硬件設(shè)備。 設(shè)備驅(qū)動(dòng)程序工作的基本原理 用戶(hù)進(jìn)程利用系統(tǒng)調(diào)用對(duì)設(shè)備進(jìn)行諸如 read/write操作,系統(tǒng)調(diào)用通過(guò)設(shè)備文件的主設(shè)備號(hào)找到相應(yīng)的設(shè)備驅(qū)動(dòng)程序,然后讀取這個(gè)數(shù)據(jù)結(jié)構(gòu)相應(yīng)的函數(shù)指針,接著把控制權(quán)交給該函數(shù)。 設(shè)備驅(qū)動(dòng)程序的功能v對(duì)設(shè)備初始化和釋放; v把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù); v讀取應(yīng)用程序傳輸給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請(qǐng)求的數(shù)據(jù); v檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。 Linux系統(tǒng)采用一組固定的入口點(diǎn)來(lái)實(shí)現(xiàn)驅(qū)動(dòng)設(shè)備的功能。 open子程序必須對(duì)將要進(jìn)行的 I/O操作做好必要的準(zhǔn)備工作,如清除緩沖區(qū)等。當(dāng)最后一次使用設(shè)備終結(jié)后,調(diào)用 close子程序。 v write入口點(diǎn) : 往設(shè)備上寫(xiě)數(shù)據(jù)。v select入口點(diǎn) : 檢查設(shè)備,看數(shù)據(jù)是否可讀或設(shè)備是否可用于寫(xiě)數(shù)據(jù)。對(duì)于不同的系統(tǒng),也還有一些其它的入口點(diǎn)。 入口點(diǎn)采用如下數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn):(*flush)file(*release)inodestruct*)。int(struct*,dentrydatasync)。int(int,fileint)。int(struct*,struct*)。ssize_t(struct*,struct*,long,*)。ssize_t(struct*,struct*,long,*)。ssize_t(struct*,pageint,size_t,*,longfileunsignedunsignedlong,long)。}# include/usr/src/linux/include/linux/struct{struct*owner。(*llseek)file,int)。(*read)file*,size_t,loff_tssize_t(struct*,charsize_t,loff_tint(struct*,*,unsigned(*poll)filestruct*)。int(struct*,fileint,long)。(*mmap)filestruct*)。(*open)inodestruct*)。 注冊(cè)設(shè)備:向系統(tǒng)登記設(shè)備及驅(qū)動(dòng)程序的入口點(diǎn)vint(unsignedmajor,charstruct*fops)。//name: 設(shè)備名//fops: 登記驅(qū)動(dòng)程序?qū)嶋H執(zhí)行操作的函數(shù)的指針//登記成功,返回設(shè)備的主設(shè)備號(hào),否則,返回一個(gè)負(fù)值vint(unsignedmajor,charstruct*fops)。 設(shè)備卸載vint(unsignedmajor,charunregister_blkdevintconst*name)。 //卸載塊設(shè)備 Date 44RealTime Systems Lab.典型驅(qū)動(dòng)程序的結(jié)構(gòu) // 在注銷(xiāo)模塊中卸載設(shè)備void{unregister_chrdev(test_major,// 驅(qū)動(dòng)子程序staticopen(struct*inode,struct*file……}staticrelease(struct*inode,struct*file…… //將系統(tǒng)調(diào)用和驅(qū)動(dòng)程序關(guān)聯(lián)起來(lái)struct*test_fops={.open。}。init_module(void)resultregister_chrdev(0,amp。Date 45RealTime Systems Lab.添加設(shè)備驅(qū)動(dòng)程序(續(xù))161。 o 設(shè)備驅(qū)動(dòng)模塊的編譯 gccDMODULEc–fo 生成設(shè)備文件 mknod /dev/test c 254 0 //其中, test為設(shè)備文件名, 254為主設(shè)備號(hào), 0為從設(shè)備號(hào), c表示字符設(shè)備 Date 46RealTime Systems Lab.161。 編譯gcc–o(==){printf(Cann39。open\n)。read(testdev,buf,10)。for=i++)}includesys/includemain(){intintchartestdevopen(/dev/test,O_RDWR)。 Linux系統(tǒng)的相關(guān)知識(shí)v以 Redhat Linux 161。 添加系統(tǒng)調(diào)用161。 /proc文件分析Date 48RealTime Systems Lab./proc文件分析161。v系統(tǒng)信息 與進(jìn)程無(wú)關(guān),隨系統(tǒng)配置的不同而不同。v進(jìn)程信息 系統(tǒng)中正在運(yùn)行的每一個(gè)用戶(hù)級(jí)進(jìn)程的信息。 系統(tǒng)信息v/proc/cmd/line:CPU信息v/proc/stat:v/proc/meminfo:161。 監(jiān)控系統(tǒng)功能v通過(guò)讀取 proc文件系統(tǒng),獲取系統(tǒng)各種信息,并以比較容易理解的方式顯示出來(lái)。v具體包括: 主機(jī)名、系統(tǒng)啟動(dòng)時(shí)間、系統(tǒng)運(yùn)行時(shí)間、版本號(hào)、所有進(jìn)程信息、 CPU類(lèi)型、 CPU的使用率、內(nèi)存使用率 …… 參照 WINDOWS的任務(wù)管理器,實(shí)現(xiàn)其中的部分功能。 /proc文件系統(tǒng)的詳細(xì)信息通過(guò)以下命令獲?。? man Linux的 “ man” 幫助161。 網(wǎng)站Date 52RealTime Systems Lab.
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1