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

正文內(nèi)容

設備管理培訓教材(ppt157頁)-資料下載頁

2025-02-20 02:27本頁面
  

【正文】 產(chǎn)生中斷信號標志事件的發(fā)生。?中斷信號導致調(diào)用驅動程序的中斷服務子程序,它將所要的數(shù)據(jù)從硬設備復制到設備驅動程序的緩沖區(qū)中,并通知正在等待的 read() 函數(shù)或 request()函數(shù),現(xiàn)在數(shù)據(jù)可供使用。? 在數(shù)據(jù)可供使用時, read()或 request()函數(shù)現(xiàn)在可將數(shù)據(jù)提供給用戶進程。二、設備驅動程序的框架1. 驅動程序的注冊與注銷? 系統(tǒng)引導時 , 通過 sys_setup()進行系統(tǒng)初始化。 而 sys_setup()又調(diào)用 device_setup()進行設備初始化。? 設備初始化分為塊設備初始化 blk_dev_init() 與字符設備初始化 chr_dev_init()? 字符設備初始化通過 register_chrdev()函數(shù)向內(nèi)核注冊 extern int register_chrdev(unsigned int Major, const char *name,struct file_operation *fops) ? 若注冊成功 ,內(nèi)核就可向請求的進程提供操作的入口地址進而啟動驅動程序進行工作 ,完成進程的請求操作。?注銷函數(shù)unregister_chrdev(unsigned int major const char *name)2. 設備的打開與釋放?打開設備用 open()完成 。 如打印機用 lp_open()打開。?打開設備過程需要執(zhí)行如下操作:–檢查與設備相關的錯誤–如果是首次打開,則初始化設備–如果需要,分配且設置設備文件的私有數(shù)據(jù)–遞增設備使用的計數(shù)器?釋放設備是由 release()完成的–遞減設備使用的計數(shù)器–釋放文件中的私有數(shù)據(jù)所占的內(nèi)存空間–如果屬于最后一個釋放,則關閉設備3. 舉例:一個簡單的字符設備 mouse? 假設有一個進程打開 /dev/logibm文件 (主設備號為 10)? VFS調(diào)用主設備號為 10的通用 open( )函數(shù)。? 因為這類設備包括很多不同種類的設備 , 因此有一個名為 misc_open( )的函數(shù)。? 這個函數(shù)根據(jù)次設備號裝載一組更專用的文件操作。? 最終結果是 , 該文件的 f_op域指向 bus_mouse_fops表, 并調(diào)用 open_mouse( )函數(shù)?檢查總線鼠標是否被連接。?請求總線鼠標所使用的 IRQ線 , 也就是 IRQ5, 并注冊mouse_interrupt( )中斷服務例程。?初始化一個類型為 mouse_status的 mouse數(shù)據(jù)結構 ,該結構存放總線鼠標的有關狀態(tài)信息。這些狀態(tài)信息包括哪個鍵被按下 ,以及最后一次讀取設備文件之后鼠標指針的水平、垂直位移。?向 0x23e控制寄存器中寫入 0,從而啟用總線鼠標中斷 (總線鼠標使用從 0x23c到 0x23f的 I/O端口 )。open_mouse( )函數(shù) mouse數(shù)據(jù)結構的填充是異步進行的 : 每次用戶移動鼠標或者按下一個鼠標鍵時 , 鼠標控制器都會產(chǎn)生一個中斷 , 從而激活 mouse_interrupt( )函數(shù) 。 該函數(shù)執(zhí)行以下操作:? 通過向 0x23e控制寄存器寫入適當?shù)拿?, 并從0x23c 輸入寄存器中讀取相應的值來查詢鼠標設備的狀態(tài)。?更新 mouse數(shù)據(jù)結構。? 向 0x23e控制寄存器中寫入 0來重新啟用鼠標中斷 (鼠標中 斷每次發(fā)生時 ,鼠標設備都會自動將其禁用 )mouse_interrupt( )函數(shù) 進程要讀取 /dev/logibm 文件的內(nèi)容才能獲得鼠標的狀態(tài) 。每個 read( )系統(tǒng)調(diào)用最終都會調(diào)用 read_mouse( )函數(shù) , 也就是文件操作的 read函數(shù) 。 該函數(shù)執(zhí)行以下操作 :1. 查進程是否最少請求了 3個字節(jié) , 否則返回 EINVAL 2. 檢查對 /dev/logibm 的最后一次讀操作之后鼠標狀態(tài)是否有已發(fā)生變化 。 如果沒有 , 就返回 EAGAIN。3. 調(diào)用 disable_irq()來禁止 IRQ5的中斷處理 , 讀取 mouse數(shù)據(jù)結構中所存放的值 。 然后通過調(diào)用 enable_irq( )來重新啟用 IRQ5的中斷處理。4. 最后一次讀操作之后把代表鼠標狀態(tài) (鍵狀態(tài) , 水平位置 ,垂直位置 ) 的 3個字節(jié)寫入用戶態(tài)緩沖區(qū) 。 如果進程所請求的內(nèi)容超過 3個字節(jié) , 就用 0填充用戶態(tài)緩沖區(qū)。5. 返回所寫字節(jié)的數(shù)量。read_mouse( )函數(shù) 磁盤存取設備管理 磁盤性能簡述1. 磁盤的特點和結構 : 容量大 , 斷電后仍可保存信息 , 存取速度較塊 , 成本較低 ,可實現(xiàn)直接 (隨機 )存取 , 存取磁盤上任一物理塊的時間不依賴于該物理塊所處的位置。 盤設備由兩部分組成 : 驅動部分 +存儲介質 (磁盤 ) 磁盤以恒定轉速旋轉 , 磁臂沿徑向驅動磁頭移動到所要求的磁道上 , 并等待所要求的扇區(qū)開始位置旋轉到磁頭下 , 開始讀寫數(shù)據(jù) , 在磁頭和緩沖區(qū)間傳輸數(shù)據(jù)。柱面扇區(qū)磁臂磁頭磁道2. 磁盤數(shù)據(jù)組織和格式 信息記錄在磁道上 , 多個盤片 , 正反兩面都用來記錄信息 , 每面一個磁頭 , 所有盤面中處于同一磁道號上的所有磁道組成一個柱面。TrackSectorTop View of a SurfaceRotating StorageCylinderPlattersR/W HeadsNote: Parallel Read/Write DrivesActivate All Heads SimultaneouslySurface LayoutSpindleSurfaceTracksTrack kSectorsGapsAdapted from: Computer Systems: A Programmer’s PerspectivePlatter ViewSurface 0Surface 1Surface 2Surface 3Surface 4Surface 5Cylinder kSpindlePlatter 0Platter 1Platter 2Adapted from: Computer Systems: A Programmer’s PerspectiveDisk in ActionSpindle物理地址形式 : 磁頭號 (盤面號 )、磁道號 (柱面號 )、扇區(qū)號 磁盤格式化的一種形式: p172圖 522每個物理扇區(qū) 600個字節(jié)包含: 標識符字段 數(shù)據(jù)字段 Track: 磁道號 Gap: 為間隙 Head: 磁頭號 Synch: 為定界符 Sector: 扇區(qū)號 CRC: 用于校驗 Gap ID Field Gap Data Field Gap 17 7 41 515 20Synch Track Head Sector CRC 1 2 1 1 2Synch Data CRC 1 512 23. 磁盤類型: 磁盤分為硬盤和軟盤 , 單片盤和多片盤 , 固定頭磁盤和移動頭磁盤等。?固定頭磁盤 : 每個磁道設置一個磁頭 , 所有磁頭都被安裝在一個剛性磁臂中 , 各磁頭并行讀寫 , 磁頭不需要機械移動 , 速度快但成本高 , 用于大容量硬盤上。?移動頭磁盤 : 一個盤面只有一個磁頭 , 變換磁道時需要移動磁頭 , 速度慢但成本低 , 微機上配置的軟盤和硬盤 (溫盤 )都采用這種結構。?活動硬盤 : 增加靈活性和便攜性。4. 磁盤訪問時間( Ta)? 尋道時間 Ts: 把磁頭移動定位到指定磁道 所經(jīng)歷的時間 , 啟動時間 s與移動 n條磁道時間之和 Ts=m?n+s 一般為 5~30ms? 旋轉時間 Tr 等待指定 扇區(qū) 旋轉 移動到磁頭下面所經(jīng)歷的時間 5400r/min=90r/sec的硬盤 :平均 Tr=1/2r=? 傳輸時間 Tt 從磁盤到內(nèi)存讀寫數(shù)據(jù)實際經(jīng)歷的 時間 : Tt=b/rN 其中 b為 讀寫字節(jié)數(shù) N為一條磁道總字節(jié)數(shù) 訪問時間 :Ta= Ts+1/2r+b/rN 主要與 Ts有關 磁盤調(diào)度 當多個進程都需要訪問磁盤時 , 訪盤請求在等待 , 應采用一定的策略 , 對這些請求的服務順序調(diào)整安排 ,旨在降低平均磁盤服務時間 , 達到公平、高效。公平:一個 I/O請求在有限時間內(nèi)滿足。高效:減少設備機械運動所帶來的時間浪費。 磁盤調(diào)度考慮的問題 :一次訪盤時間 = 尋道時間 +旋轉延遲時間 +存取時間 (1) 減少尋道時間 (活動頭磁盤 ) (2) 減少延遲時間 (固定頭磁盤 ) 磁盤調(diào)度算法 :1. 先來先服務 FCFS(FirstCome First Served) 按訪問請求到達的先后次序服務優(yōu)點:簡單 , 公平;缺點:效率低 , 相臨兩次請求可能會造成最內(nèi)到最外的柱面尋道 , 使磁頭反復移動 , 增加了平均尋道時間設磁盤訪問序列 : 80, 55, 58, 39, 18, 90,160,150, 38,18418 38 39 55 58 80 90 150 160 184 2. 最短尋道時間優(yōu)先 SSTF(Shortest Seek Time First)優(yōu)先選擇距當前磁頭最近的訪問請求進行服務,主要考慮尋道優(yōu)先 優(yōu)點:磁盤的平均尋道時間最小 缺點:進程 饑餓 現(xiàn)象 , 有時會造成與當前磁道距離遠的訪問請求長期等待得不到服務 (不公平 ) 磁盤訪問序列 : 80, 55, 58, 39, 18, 90,160,150, 38,18418 38 39 55 58 80 90 150 160 184 3. 掃描算法 SCAN電梯調(diào)度算法 克服最短尋道優(yōu)先的缺點 ,既考慮距離 ,又考慮方向 具體做法 : 當設備無訪問請求時 , 磁頭不動 。當有訪問請求時 , 磁頭按一個方向移動 , 在移動過程中對遇到的訪問請求進行服務 , 然后 , 判斷該方向上是否還有訪問請求 ,如果有則繼續(xù)掃描 。 否則改變移動方向 ,并為經(jīng)過的訪問請求服務 , 如此反復。18 38 39 55 58 80 90 150 160 184 4. 循環(huán)掃描 (CSCAN)算法 SCAN算法 對兩端磁道請求不利 , 可改進為循環(huán)掃描算法 CSCAN。 本算法規(guī)定磁頭單向移動 (如向外 ), 移動到最外磁道后立即返回最里面要訪問的磁道 , 構成循環(huán)掃描。18 38 39 55 58 80 90 150 160 184 5. NStepSCAN 和 FSCAN算法 (1) 磁臂粘著現(xiàn)象 :進程對某一磁道反復訪問 , 從而壟斷了整個磁盤 , 引起磁臂粘著 (2) NStepSCAN 和 FSCAN算法 : 將磁盤請求隊列按請求順序分為多個 (或 2個 )長度為 N的子隊列 , 每個子隊列用 SCAN算法 。 當 N很大時接近于 SCAN算法 , 當 N=1時蛻化為 FCFS算法。 FSCAN算法是 2個子隊列的 NStepSCAN算法 , 一 個是由當前所有磁盤請求形成的隊列 , 按 SCAN算法進行處理 。 掃描期間新的磁盤請求放入另一個等待隊列 , 前一個隊列處理完后 , 再處理新隊列。如此反復 , 公平合理。 磁盤高速緩存 (Disk Cache)1. 磁盤高速緩存的形式 (1) 專用 : 在內(nèi)存中單獨開辟一塊固定的區(qū)域專用。 (2) 共享 : 所有空閑內(nèi)存為緩沖池與請求分頁系統(tǒng)共享2. 數(shù)據(jù)交付方式 (1) 數(shù)據(jù)交付 (2) 指針交付3. 置換算法 常用的算法有 :最近最久未使用算法 LRU, 最近未使用算法 NRU和最少使用算法 LFU。 許多系統(tǒng)除了考慮最近最久未使用這一原則外還要考慮:訪問頻率、可預見性、數(shù)據(jù)的一致性。4. 周期性地寫回磁盤 根據(jù) LRU算法 ,經(jīng)常訪問的盤塊可能長期不被回寫 ,可能導致丟失數(shù)據(jù) , 可采用周期性 (幾十秒 )地寫回磁盤。 提高磁盤 I/O速度的其他方法
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1