×

電腦系統與作業系統架構

消耗积分:0 | 格式:pdf | 大小:178KB | 2014-08-30

amiobsd

分享资料个

基本的慨念可以幫助理解問題

  一、 I/O 處理方式 (作業系統如何去實現 CPU 與 I/O 運作重疊 Overlay) (1)、Busy Waiting 忙碌等待 在老式的系統中,CPU 必須執行或監督 I/O 資料的傳送,即 CPU 必須不斷地去檢測 I/O 的狀態,且在等待(Waiting)每一個 I/O 運作完成時,CPU 則作自己的事(Busy)。理論上,對於 CPU 與 I/O 的重疊動作雖可行,但實際上卻不可能。 (2)、中斷式的 I/O 處理方式 (Interrupt I/O) (一) 每一個裝置均有一個 Device Controller (例如 : Disk Controller),而 Controller 中含有 : Local Buffer Register (資料) 與 Special Usage Register (指令);Controller 的目的是負責 Device 和 Local Buffer Register 之間的資料傳送。 (二) Interrupt I/O 的處理流程: (以 Disk Read 動作為例) 當要啟動一個 I/O 運作時 (I/O 請求) 1、CPU 將有關指令 (Read)載入到 Special Usage Register。 2、CPU 繼續正常的運作。 3、Disk Controller 會檢查 Register 的內容,以決定要執行什麼動作。(若是一個讀取動作,則 Disk Controller 便將 Data 從 Disk 轉送到 Local Buffer Register) 4、當運作結束時,Disk Controller 則利用一次中斷來通知 CPU。 5、CPU 被中斷,則 CPU 會停止正在進行的工作並立即將執行權移到一個固定的位置(中斷向量),去尋找中斷的服務子程式(Interrupt Service Routine)。 6、此 Routine 執行,即將 Data 從 Local Buffer Register 傳送到記憶體中。 7、一旦傳送完成,CPU 恢復被中斷前之工作。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !