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

正文內(nèi)容

13-設(shè)備管理-閱讀頁

2024-08-23 08:20本頁面
  

【正文】 設(shè)備,在其接口中一般設(shè)置小容量的存儲器。 64 DMA直接內(nèi)存訪問 ——DMA三種工作方式 ? CPU周期挪用方式 ? DMA控制器與主存儲器之間傳送一個數(shù)據(jù),占用一個 CPU周期,即 CPU暫停工作一個周期,然后繼續(xù)執(zhí)行程序。這種方式不需要總線使用權(quán)的申請、建立和歸還過程,對于總線,可通過用C1, C2控制的多路轉(zhuǎn)換器,這種總線控制權(quán)的轉(zhuǎn)移幾乎不需要什么時間,所以對 DMA傳送來講效率是很高的。 70 DMA直接內(nèi)存訪問 ——DMA控制器的組成 ? DMA請求觸發(fā)器 ? 在批量數(shù)據(jù)傳輸過程中,每一個數(shù)據(jù)的交換都要向 CPU發(fā)一次 DMA請求,接口中設(shè)置 DMA觸發(fā)器,一次周期結(jié)束,在 CPU一側(cè), DMA控制器清除,在設(shè)備一側(cè),當(dāng)設(shè)備讀 /寫操作完成后,則以完成信號回答接口,且使置 1,表示下次 DMA請求開始。 72 內(nèi)存 CPU 中斷機(jī)構(gòu) 控制 /狀態(tài)邏輯 DMA請求 標(biāo)志 內(nèi)存地址計數(shù)器 字計數(shù)器 數(shù)據(jù)緩沖寄存器 設(shè)備選擇 設(shè)備 DMA直接內(nèi)存訪問 —— DMA控制器的組成 73 DMA直接內(nèi)存訪問 ——DMA操作過程 ? DMA操作過程 ? DMA傳送前的預(yù)處理 ? DMA數(shù)據(jù)傳送 ? DMA的結(jié)束處理 74 DMA請求 DMA響應(yīng) 發(fā)送內(nèi)存地址 傳送一個字?jǐn)?shù)據(jù) DMA結(jié)束 修改 地址指針和字計數(shù)器 檢測傳送 是否結(jié)束? DMA直接內(nèi)存訪問 —— DMA操作過程 75 DMA直接內(nèi)存訪問 ——DMA操作過程 ? DMA傳送前的預(yù)處理 ? 為了實現(xiàn)外圍設(shè)備和內(nèi)存之間數(shù)據(jù)直接成批的交換,必然把有關(guān)數(shù)據(jù)來源、去向和傳送數(shù)據(jù)的總數(shù)等信息事先實現(xiàn)通知 DMA接口。若可以調(diào)用該設(shè)備,則用幾條輸入輸出指令實現(xiàn)。 DMA接口被啟動后,便代替 CPU管理 I/O設(shè)備進(jìn)行數(shù)據(jù)傳送。此時設(shè)備控制器以 “ 完成 ” 信號置 1,表明設(shè)備已完成一個數(shù)據(jù)傳送工作,并向 CPU發(fā)出 DMA請求,申請存儲周期。 ? 清除信號在 DMA接口中執(zhí)行三個操作 ? 高速設(shè)備只需啟動一次,以后連續(xù)不斷讀出即循環(huán)上面幾步,完成所要傳送的全部字符。 77 DMA直接內(nèi)存訪問 ——DMA操作過程 ? DMA的結(jié)束處理 ? CPU響應(yīng)中斷后,則停止原程序執(zhí)行,轉(zhuǎn)去執(zhí)行中斷服務(wù)程序,做一些 DMA結(jié)束處理工作。 ? 從內(nèi)存選取屬于該通道程序的通道指令,經(jīng)譯碼后向設(shè)備控制器和設(shè)備各發(fā)送各種命令。 ? 從外圍設(shè)備得到設(shè)備的狀態(tài)信息,形成并保存通道本身的狀態(tài)信息,根據(jù)要求將這些狀態(tài)信息送到內(nèi)存的指定單元,供 CPU使用。 通道方式 82 通道方式 ? CPU對通道的管理 ? CPU是通過執(zhí)行 I/O指令以及處理來自通道的中斷,實現(xiàn)對通道的管理。 ? 通道控制器的任務(wù): ? 從通道接受通道指令,控制外圍設(shè)備完成所要求的操作。 84 通道方式 ? 通道的類型: ? 選擇通道 ? 數(shù)組多路通道 ? 字節(jié)多路通道 85 I/O通道 (處理機(jī) ) 設(shè)備與存儲器之間的數(shù)據(jù)傳送直接由I/O處理機(jī)控制; I/O處理機(jī) “ 竊取 ” 存儲周期。 IOP可以和CPU并行工作,提供高速的 DMA處理能力,實現(xiàn)數(shù)據(jù)的高速傳送。有些 IOP例如 Intel 8089 IOP,還提供數(shù)據(jù)的變換、搜索以及字裝配 /拆卸能力。有的外圍處理機(jī)干脆就選用已有的通用機(jī)。 89 緩沖技術(shù) ? 目的: ? 解決高速的處理機(jī) CPU 與低速 I/O 設(shè)備之間速度的不匹配問題。 ? 分類:緩沖技術(shù)可分為單緩沖、多緩沖及緩沖池。它是臨界資源。 ? 緩沖池則是把多個緩沖區(qū)連接起來統(tǒng)一管理,即可用于輸入又可用于輸出的緩沖結(jié)構(gòu)。 ? I/O設(shè)備 ←→ 設(shè)備控制器 ←→ 緩沖區(qū) ? 緩沖技術(shù)實質(zhì)上是在內(nèi)存中開辟一個具有 n個單元的區(qū)域作為緩沖區(qū)。 ? 其結(jié)構(gòu)形式可以有多種形式,有循環(huán)隊列形式、單緩沖區(qū)及多緩沖區(qū)形式、緩沖池結(jié)構(gòu)等。處理速度極慢的外設(shè)頻繁地中斷 CPU的運(yùn)行,將會大大降低 CPU的使用效率,影響整個計算機(jī)系統(tǒng)的性能,為此引入了緩沖技術(shù)。 ? 緩沖器的作用: ? 解決數(shù)據(jù)接收與發(fā)送速率不匹配的矛盾 ? 起到中轉(zhuǎn)站的作用 ? 使一次輸入的信息能多次使用,減少輸入工作量。 92 緩沖區(qū)管理技術(shù) ? 單緩沖區(qū) ? 多緩沖區(qū) ? 緩沖池 設(shè)備號 數(shù)據(jù)塊號 緩沖區(qū)號 互斥標(biāo)示位 鏈指針 : : … … … 空緩沖區(qū) in out 緩沖區(qū)操作函數(shù): getbuf、 putbuf等等 93 緩沖區(qū)在 I/O控制中的作用 中斷原因分析 喚醒中斷 處理程序 I/O請求設(shè)備 設(shè)備分配程序 緩沖區(qū)管理 中斷響應(yīng) 啟動 I/O指令、設(shè)備驅(qū)動 程序或通道程序 I/O控制 94 虛擬設(shè)備 假脫機(jī)系統(tǒng) ? 虛擬設(shè)備技術(shù) 假脫機(jī)系統(tǒng) (Spooling技術(shù) ): ? 利用高速的直接存儲設(shè)備(一般使用硬盤)來模擬低速的獨(dú)占設(shè)備,使獨(dú)占設(shè)備轉(zhuǎn)化成共享設(shè)備。 ? Spooling系統(tǒng) 處理獨(dú)占設(shè)備的一種方法。 創(chuàng)建一個特殊的守護(hù)進(jìn)程 (daemon)以及一個特殊的目錄,稱為 Spooling目錄。當(dāng)進(jìn)程把該文件放到 Spooling系統(tǒng)中之后就可以認(rèn)為打印過程已經(jīng)完成,雖然打印機(jī)還沒有進(jìn)行該文件的打印,因此也稱為打印的 “ 假脫機(jī) ” 過程。通過禁止用戶直接使用打印機(jī)設(shè)備文件就解決了打印機(jī)的獨(dú)占問題。 ? 設(shè)備分配分為靜態(tài)分配和動態(tài)分配。 ? 動態(tài)分配根據(jù)進(jìn)程在執(zhí)行過程中的需要進(jìn)行。 98 設(shè)備管理程序 ? 設(shè)備的無關(guān)性:用戶可不必指定特定的設(shè)備,而代之指定邏輯設(shè)備。 ? 邏輯設(shè)備:為了方便用戶使用設(shè)備,通常用符號名代替設(shè)備的類型名。 ? 為了實現(xiàn)與設(shè)備的無關(guān)性,系統(tǒng)中必須有一張聯(lián)系邏輯設(shè)備和物理設(shè)備名稱的映象表。設(shè)備分配時的算法有先請求先服務(wù)、優(yōu)先數(shù)法等。主要完成下述功能: ? 使 CPU通過發(fā) I/O指令,去啟動指定的 I/O設(shè)備,進(jìn)行 I/O操作 ? 當(dāng) I/O操作完成或發(fā)生其他事件時, I/O設(shè)備向CPU發(fā)出中斷請求,要求處理機(jī)進(jìn)行響應(yīng)處理 100 Linux 的設(shè)備管理 ? Linux 系統(tǒng)的 I/O 地址空間可查看 proc/ioports。 ? Linux 系統(tǒng)用主設(shè)備號和從設(shè)備號來標(biāo)識設(shè)備。從設(shè)備號( minor number)用來區(qū)分同一個驅(qū)動程序控制的不同設(shè)備。 ? 設(shè)備驅(qū)動程序接口 ? Linux 設(shè)備管理向其他子系統(tǒng)提供了一個統(tǒng)一的接口,即通過結(jié)構(gòu)file_operations 來完成。 睡眠與喚醒 驅(qū)動程序啟動設(shè)備后,進(jìn)入睡眠; 設(shè)備完成 I/O后,向 CPU 發(fā)中斷請求; CPU根據(jù)中斷請求找到睡眠的驅(qū)動程序,并喚醒繼續(xù)處理。因此,共享項上有中斷請求隊列。 102 Linux 的設(shè)備驅(qū)動程序 ? 設(shè)備驅(qū)動程序與外界的接口分為三部分 ? 驅(qū)動程序與操作系統(tǒng)內(nèi)核的接口 ? 驅(qū)動程序與系統(tǒng)引導(dǎo)的接口 ? 驅(qū)動程序與設(shè)備的接口 ? 設(shè)備驅(qū)動程序的程序結(jié)構(gòu)分為如下幾部分 ? 驅(qū)動程序的注冊與注銷; ? 設(shè)備的打開與釋放; ? 設(shè)備的讀寫操作; ? 設(shè)備的控制操作; ? 設(shè)備的中斷和輪詢處理。 PC機(jī)常見總線有 ISA,PCI等等。 察看文件 :/proc/ioports ?I/O數(shù)據(jù)傳輸: 忙等待、中斷方式、 DMA方式 ?設(shè)備分類: 字符設(shè)備、塊設(shè)備 ?設(shè)備名: 主設(shè)備號、次設(shè)備號 ?設(shè)備文件: 在 /dev目錄下,在內(nèi)核中由 file結(jié)構(gòu)表示。 105 設(shè)備驅(qū)動程序框架 一個完整的設(shè)備驅(qū)動程序包括五個部分: 設(shè)備驅(qū)動程序的注冊與注銷(與系統(tǒng)引導(dǎo)的接口) 注冊:在系統(tǒng)初始化 /驅(qū)動程序模塊加載時完成,建立了與文件系統(tǒng)的接口,文件系統(tǒng)可根據(jù)注冊資料建立文件操作與具體設(shè)備驅(qū)動程序的映射關(guān)系。 ? 設(shè)備的中斷和忙等待查詢 當(dāng)設(shè)備不支持中斷時讀寫采用忙等待查詢設(shè)備狀態(tài)。 struct request *current_request。 struct tq_strut plug_tq。最終調(diào)用塊設(shè)備注冊函數(shù) register_blkdev()來完成向內(nèi)核得主冊。 ? 處理讀寫請求 ? IDE 硬盤驅(qū)動程序通過 request 結(jié)構(gòu)向硬盤發(fā)送讀寫
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1