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

正文內(nèi)容

第4章_io設(shè)備管理(留存版)

2025-03-20 08:10上一頁面

下一頁面
  

【正文】 位。塊設(shè)備驅(qū)動程序: 上層函數(shù) ,負(fù)責(zé)管理請求隊列; 底層函數(shù) ,負(fù)責(zé)與硬件打交道,完成真正的 I/O;170。一個例子 進(jìn) 程管理 55size_t foo_read(struct file *filp, char *buf, size_t count, loff_t *ppos){ foo_dev_t *foo_dev = filpprivate_data。當(dāng)用戶進(jìn)程需要輸入輸出服務(wù)時,會調(diào)用相應(yīng)的系統(tǒng)調(diào)用函數(shù) (sys_read);170。 進(jìn) 程管理 46wOpen( deviceNumber )252。 WaitCommEvent(hCom, dwEvtMask, NULL)。包括:一個內(nèi)存地址寄存器、一個字節(jié)計數(shù)器,以及一個或多個控制寄存器(指明了 I/O設(shè)備的端口地址、數(shù)據(jù)傳送方向、傳送單位,以及每一次傳送的字節(jié)數(shù))。 // p:內(nèi)核緩沖區(qū)enable_interrupts( )。 ... 進(jìn) 程管理 21一個例子已知 I/O地址采用內(nèi)存映像編址的方式,現(xiàn)需要在打印機上打印一個字符串 “ABCDEFGH”。 I/O獨立編址;216。操作系統(tǒng)Operating Systems諶衛(wèi)軍 清華大學(xué)軟件學(xué)院 1. I/O硬件2. I/O控制方式3. I/O軟件4. 磁盤第 四 章 I/O設(shè)備管理 進(jìn) 程管理 2 在現(xiàn)代計算機系統(tǒng)中,有大量的輸入輸出設(shè)備,其種類繁多,差異大。CPU外部設(shè)備控制邏輯電路控制寄存器 狀態(tài)寄存器 數(shù)據(jù)寄存器 如何讓 I/O設(shè)備工作? 進(jìn) 程管理 10問題:CPU如何與設(shè)備控制器進(jìn)行通信? 這不是普通的內(nèi)存訪問!方法有三種:216。w也稱為 繁忙等待 方式( busy waiting)或 輪詢 方式( polling)。中斷驅(qū)動方式 進(jìn) 程管理 28 系統(tǒng)調(diào)用函數(shù) printcopy_from_user(buffer, p, count)。wDMA控制器包含了一些寄存器,可被 CPU來讀或?qū)憽?/EV_RXCHAR: A character was received and placed in the input bufferSetCommMask(hCom, EV_RXCHAR)。w分層 :其他 OS軟件 /接口 /設(shè)備驅(qū)動程序。 進(jìn) 程管理 52170。foo_interrupt(),中斷處理函數(shù)。數(shù)據(jù)結(jié)構(gòu): 請求隊列 ( request queue);170。通過磁頭的讀寫裝置,磁盤上的信息可以被寫入、讀出和修改。 進(jìn) 程管理 70磁盤的訪問是以扇區(qū)作為最小的尋址和存取單位,在訪問一個磁盤扇區(qū)時,所需的時間主要有:254。相鄰的兩次訪問請求可能相距甚遠(yuǎn),從而使磁頭反復(fù)地移動較長的距離。在這 8次磁盤訪問中,磁頭總共移動的距離為 208,平均的移動距離為 26。磁盤調(diào)度的基本思路就是通過對這些 I/O請求的執(zhí)行順序進(jìn)行調(diào)整,來減少整個請求隊列所對應(yīng)的平均柱面定位時間。 磁盤格式化 進(jìn) 程管理 69w分區(qū) :用分區(qū)軟件把整個硬盤劃分為若干個邏輯分區(qū),每個分區(qū)可視為一個獨立的磁盤。用戶空間的 I/O軟件 進(jìn) 程管理 62w利用 假脫機技術(shù) ( SPOOLing, Simultaneous Peripheral Operation On Line, 也稱虛擬設(shè)備技術(shù))可把獨占設(shè)備轉(zhuǎn)變成具有共享特征的虛擬設(shè)備,從而提高設(shè)備利用率。}用戶進(jìn)程 A → 系統(tǒng)調(diào)用 → read → foo_read → 被阻塞 → 用戶進(jìn)程 B → 被中斷 → foo_interrupt → A 被喚醒 進(jìn) 程管理 57170。170。 進(jìn) 程管理 49 設(shè)備驅(qū)動程序 w設(shè)備驅(qū)動程序:與具體的設(shè)備類型相關(guān)的,用來控制設(shè)備運行的程序。 if( !bR ) { if(GetLastError()==ERROR_IO_PENDING) { r = WaitForSingleObject(,2023)。 設(shè)備獨立性。在中斷驅(qū)動方式下,數(shù)據(jù)的每次讀寫還是通過 CPU來完成,但是當(dāng) I/O設(shè)備在進(jìn)行數(shù)據(jù)處理時,CPU不必等待,可以繼續(xù)執(zhí)行其他的進(jìn)程。老師被打斷? 如果寶寶舉手,給他 /她添飯? 如果寶寶舉拳頭,給他 /她添湯? 如果寶寶吃完了,收拾碗和勺子? ......? 回到 剛才的狀態(tài) 進(jìn) 程管理 26在硬件一級,當(dāng)一個 I/O設(shè)備完成任務(wù)時,它的控制器會通過總線向中斷控制器發(fā)出一個信號,如果中斷控制器接受了該信號,就把標(biāo)明該設(shè)備的一個編號放在地址線上,并向 CPU發(fā)出一個中斷信號?,F(xiàn)在的問題是:根據(jù)已有的這些知識,現(xiàn)在 能否開始編程使用這些 I/O設(shè)備,完成相應(yīng)的輸入輸出功能呢? 進(jìn) 程管理 18 I/O控制方式程序循環(huán)檢測方式 (Programmed I/O)中斷驅(qū)動方式 (Interruptdriven I/O)直接內(nèi)存訪問方式 (DMA, Direct Memory Access) 進(jìn) 程管理 19 程序循環(huán)檢測方式 246。– 適配器的形式通常是印刷電路卡,可以插入到主板的擴(kuò)充槽中;控制器的形式是一組芯片;– 完成設(shè)備與主機間的連接和通訊。 進(jìn) 程管理 4170。例如: IN R0 [4] 表示讀入 I/O端口地址為 4的內(nèi)容;MOV R0 [4] 表示讀入內(nèi)存地址為 4的內(nèi)容; 進(jìn) 程管理 12mov al,0x11 ! initialization sequenceout 0x20,al ! send it to 8259A1mov al,0x20 ! start of hardware int39。 i++){ while(*printer_status_reg != READY)。?老師從食堂取來飯菜?若寶寶尚未準(zhǔn)備好吃飯,循環(huán)等待?將飯菜裝入每個寶寶的小碗?寶寶開始吃飯,老師去做別的事情?在吃飯時,寶寶通過各種信號打斷老師 進(jìn) 程管理 29 中斷處理程序if(count == 0){ unblock_user( )。 進(jìn) 程管理 36 I/O軟件 I/O軟件的接口 頭腦風(fēng)暴( Brain Storm)為了
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1