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

正文內(nèi)容

操作系統(tǒng)課件_設(shè)備管理(存儲版)

2025-02-11 02:06上一頁面

下一頁面
  

【正文】 備驅(qū)動程序與設(shè)備控制器交互的大致過程驅(qū)動程序?qū)⒖刂泼畎l(fā)到控制器的 命令 寄存器中,控制器啟動設(shè)備進行 I/O操作。磁盤分類216。設(shè)備占用等待時間通道占用等待時間 尋道時間 旋轉(zhuǎn)延遲時間 傳輸時間磁盤設(shè)備忙 Ta構(gòu)成一般我們認(rèn)為磁盤訪問時間由三部分組成216。 扇區(qū)定位時間(即旋轉(zhuǎn)延遲時間)磁盤旋轉(zhuǎn)到指定扇區(qū)的機械運動時間216。 文件由 256個隨機分布的扇區(qū)構(gòu)成,每個扇區(qū)數(shù)據(jù)傳送時間為。 FCFS、 SSTF、 SCAN、 CSCAN四種算法216。 * 64 Linux設(shè)備管理Linux設(shè)備管理的最突出的特點就是設(shè)備獨立性,即系統(tǒng)把設(shè)備統(tǒng)一當(dāng)作文件來看待,只要安裝它們的驅(qū)動程序,就可以像使用文件一樣使用這些設(shè)備。n Linux設(shè)備管理通常指的是 字符設(shè)備和塊設(shè)備 ,這里只介紹這兩類設(shè)備的管理技術(shù)。只要正確地實現(xiàn)了設(shè)備的驅(qū)動程序,就可以把設(shè)備納入文件系統(tǒng)的管理之下。n 由于引入了設(shè)備文件這一概念, Linux為文件和設(shè)備提供了一致的用戶接口,對用戶來說,設(shè)備文件與普通文件并無區(qū)別。10,adbmouselrwxrwxrwxrootOctroot2,root2, 例如,塊設(shè)備 (3,0)不同于字符設(shè)備 (3,0)設(shè)備文件通常可以表示252。* 733 Linux設(shè)備驅(qū)動程序Linux設(shè)備驅(qū)動程序是一組數(shù)據(jù)結(jié)構(gòu)和函數(shù),這些數(shù)據(jù)結(jié)構(gòu)和函數(shù)通過定義的接口控制一個或多個設(shè)備。252。* 76n lsmod命令: lsmod查看當(dāng)前加載到內(nèi)核中的所有驅(qū)動模塊,同時提供其它一些信息,比如其它模塊是否在使用另一個模塊。 寫驅(qū)動程序的任務(wù)之一就是完成file_operations中的函數(shù)指針。對于字符型,要求讀取的字節(jié)數(shù)和返回的實際讀取字節(jié)數(shù)都必須是 inodei_blksize的倍數(shù)。 *release: 即 close操作。 編寫驅(qū)動源碼216。linux/staticHello}staticprintk(KERN_ALERT216。 初始化:任何一個驅(qū)動都去需要提供一個初始化函數(shù),當(dāng)驅(qū)動加載到內(nèi)核中時,這個初始化函數(shù)就會被自動執(zhí)行,初始化的函數(shù)原型定義為: typedef int (*initcall_t)(void)。0。void Hello World例子中的版權(quán)信息是 GPL。C*.tmp_versionsCC2.drvhello]drvhello]Size21drvhello]catlsmodModule* 87使用 ls命令查看當(dāng)前目錄可以看到如下信息。LDCCmodules,*.ko=}module_exit(hello_exit)。216。World! n)。 include linux/:定義了內(nèi)核模塊相關(guān)的函數(shù)、變量及宏。編寫驅(qū)動源碼216。returnlinux/include它在驅(qū)動退出時被調(diào)用。 *ioctl: 進行讀、寫以外的其他控制操作。 *read: 讀,參數(shù) buf為存放讀取結(jié)果的緩沖區(qū), count為所要讀取的數(shù)據(jù)長度。* 77設(shè)備驅(qū)動程序與內(nèi)核的接口是 file_operations結(jié)構(gòu),它通過文件系統(tǒng)為用戶進程和內(nèi)核其他部分提供統(tǒng)一的接口,將對設(shè)備的操作通過文件系統(tǒng)映射到具體的設(shè)備驅(qū)動程序。n 在加載驅(qū)動程序要用到有關(guān)模塊的命令:lsmod、 modprob、 insmod、 rmmod、 modinfo。252。n 普通文件的 file_operations中是標(biāo)準(zhǔn)的文件操作,而設(shè)備文件是設(shè)備驅(qū)動提供的一組專門針對該類設(shè)備的操作。 主設(shè)備號與設(shè)備的驅(qū)動程序一一對應(yīng),而次設(shè)備號供驅(qū)動程序內(nèi)部使用。Jan1Jan1Janroot/dev/hdccrw8crw系統(tǒng)通過處理文件的接口 — 虛擬文件系統(tǒng) VFS來管理和控制各種設(shè)備。 文件系統(tǒng) 接受用戶對設(shè)備文件的請求并進行相應(yīng)的判別處理,然后將文件操作映射到設(shè)備驅(qū)動的 I/O操作上,由 設(shè)備驅(qū)動程序驅(qū)動控制器完成具體的 I/O操作。252。 這樣的設(shè)備沒有移動部件 ,因此,比傳統(tǒng)的盤更快更可靠。尋道時間的 衡量指標(biāo) :磁頭移動的磁道數(shù)來衡量216。若柱面定位時間為 20ms,旋轉(zhuǎn)延遲時間為 , 32扇區(qū)數(shù)據(jù)傳送時間為 。 n — 磁頭移過 n條磁道所花時間之和,因為磁頭移過每一條磁道的時間是相同的,所以可以用磁道數(shù)來模擬252。移動頭磁盤,簡稱溫盤。 設(shè)備驅(qū)動程序是直接管理和操縱設(shè)備控制器的軟件,每個設(shè)備控制器都由一個特定的設(shè)備驅(qū)動程序來控制。 填寫一張打印請求表,并將其掛在打印機的打印請求隊列上;完成以上工作后,對于進程而言,其打印任務(wù)已經(jīng)完成。n 當(dāng)用戶進程請求打印輸出時, SPOOLING系統(tǒng)立即同意為該進程執(zhí)行打印輸出,但并不是真正地把打印機分配給該用戶進程,而只是為該進程做兩項工作:252。輸入緩沖區(qū)用于暫存由輸入設(shè)備送來的數(shù)據(jù)。* 41216。 分配算法: 先來先服務(wù)和優(yōu)先級算法。252。* 35NOTE:執(zhí)行一個通道程序可以完成幾批 I/O操作 !!!一個由六條通道指令所構(gòu)成的簡單的通道程序。* 34n 通道的工作過程: CPU生成通道程序(由一系列的通道指令所構(gòu)成),啟動通道執(zhí)行,然后繼續(xù)執(zhí)行進程。 主存中要開辟專用 緩沖區(qū) ,及時供給和接收外設(shè)的數(shù)據(jù);216。216。 CPU要從磁盤讀入數(shù)據(jù)塊時,發(fā)送讀命令 》 DMA控制器216。Access, DMA) ,適用于大數(shù)據(jù)量傳輸。216。 當(dāng)設(shè)備完成 I/O操作后,采用 中斷方式 向 CPU報告。進程通過執(zhí)行 I/O測試指令可以檢測這個標(biāo)志位,獲得設(shè)備的當(dāng)前工作狀態(tài)。例如下面程序:void function(char *str) { char buffer[16]。進程需要時就申請,使用完畢后再釋放。 進程執(zhí)行讀操作 輸入數(shù)據(jù) 時,向系統(tǒng)申請一個緩沖區(qū),系統(tǒng)將一個物理記錄的內(nèi)容讀到緩沖區(qū),根據(jù)進程要求,把當(dāng)前需要的邏輯記錄從緩沖區(qū)中選出并傳送給進程。 CPU與內(nèi)存之間設(shè)置高速緩存( Cache Memory): CPU內(nèi)部的 L1但 I/O設(shè)備與 CPU的處理速度存在著巨大的差異,這導(dǎo)致進程在需要傳輸大量數(shù)據(jù)時不得不經(jīng)常等待。 252。并不是所有中斷請求都會得到及時的響應(yīng)。* 17n 中斷響應(yīng) 對中斷請求的整個處理過程是由硬件和軟件相結(jié)合的一整套中斷機構(gòu)實施的。  在計算機系統(tǒng)中有很多種類的中斷源。 設(shè)備獨立性: 設(shè)備無關(guān)性,應(yīng)用程序獨立于具體使用的物理設(shè)備 2 設(shè)備管理的任務(wù)* 153 中斷技術(shù) 在計算機運行期間,當(dāng)系統(tǒng)內(nèi)部或外部發(fā)生了某個異步事件 需要 CPU處理時, CPU將暫時中止當(dāng)前正在執(zhí)行的程序,而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來被中斷處,繼續(xù)執(zhí)行或者調(diào)度新的進程執(zhí)行,這個過程就稱為 “ 中斷 ” (interrupt)。* 13NOTE?。?!通道的瓶頸問題由于通道價格昂貴,致使機器中所設(shè)置的通道數(shù)量勢必較少,這往往使它成為 I/O的瓶頸,進而造成整個系統(tǒng)吞吐量的下降。 通道沒有自己的內(nèi)存,其通道程序是放在主存中的。* 11I/O系統(tǒng)的管理對象之 —— I/O 通道盡管在 CPU與設(shè)備之間增加了 設(shè)備控制器 ,實現(xiàn)了數(shù)據(jù)的傳送由設(shè)備控制器完成,已大大減少了 CPU對 I/O的干預(yù),實現(xiàn) CPU與 I/O的并行,但 CPU仍要對 I/O操作的組織、管理及結(jié)束后的處理工作,所以為了讓 CPU有更多的時間用于數(shù)據(jù)處理,而引入了 通道技術(shù) 。 通用接口 ,如串口、并口、 USB接口等;252。例如:顯卡是顯示控制器,顯示器是由顯卡控制的設(shè)備;聲卡是音頻控制器,音箱或耳機是音頻設(shè)備。 速度不匹配:216。 物理設(shè)備: 以某種物理方式 (機械、電磁、光電、壓電等 )運作,實際執(zhí)行數(shù)據(jù) I/O操作的物理裝置。216。設(shè)備管理程序便是用于對這類設(shè)備進行控制和管理的一組程序。I/O系統(tǒng)包括:216。* 6NOTE?。?!一個物理設(shè)備是無法直接與 CPU相連接的216。 信息形式不同: CPU表達信息的形式是數(shù)字的,設(shè)備則可能是模擬的。 緩沖區(qū): 在塊設(shè)備以及數(shù)據(jù)流量大的設(shè)備 (音頻、視頻等設(shè)備 )的控制器中252。而與設(shè)備直接相關(guān)的控制邏輯則由設(shè)備自行實現(xiàn)(即集成在設(shè)備上)。 通道控制器 (Channel Processor)有自己的專用存儲器,可以執(zhí)行由 通道指令 組成的 通道程序 ,因此可以進行較為復(fù)雜的 I/O控制,如網(wǎng)卡上信道訪問控制。216。* 14216。而后中斷技術(shù)擴大到設(shè)備之外的其他事件。252。通常 CPU在執(zhí)行完一條指令后,會檢查有無中斷請求。響應(yīng)中斷后, CPU轉(zhuǎn)去執(zhí)行相應(yīng)的中斷處理程序。若是完成中斷,則進行結(jié)束處理,需要的話再向控制器發(fā)送新的命令,啟動下一輪數(shù)據(jù)傳送。n 對于 I/O操作來說,緩沖的思想就是在高速存儲區(qū) (內(nèi)存或高速緩存 cache)
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1