操作系統原理之I/O設備管理(第六章下半部分)

五、I/O軟件原理

輸入輸出軟件的總體目標是將軟件組織成一種層次結構

  • 低層軟件用來屏蔽硬件的具體細節
  • 高層軟件則主要是為用戶提供一個簡潔、規范的界面

設備管理的4個層次:

  • 用戶層軟件 -》向系統發出I/O請求,顯示I/O操作的結果,提供?戶與設備的接?
  • 與設備無關的軟件層-》完成設備命名、設備分配、設備獨?性和緩沖管理等功能
  • 設備驅動程序-》與硬件關系最密切,包括設備服務程序和中斷處理程序
  • 中斷處理程序(底層)-》

?

設備管理軟件的功能:

(1)實現I/O設備的獨?性
(2)錯誤處理
(3)異步傳輸
(4)緩沖管理
(5)設備的分配和釋放
(6)實現I/O控制?式

中斷處理程序

  中斷處理程序的作?:I/O中斷處理程序的作?是將發出I/O請求?被阻塞的進程喚醒

設備驅動程序:

?

?

?與硬件?關的I/O軟件:

與設備?關的I/O軟件的功能如下:

(1)設備命名

(2)設備保護

(3)提供獨?于設備的塊??

(4)為塊設備和字符設備提供必要的緩沖技術

(5)塊設備的存儲分配

(6)分配和釋放獨?設備

(7)錯誤處理

六、 磁盤管理

  • 磁盤存儲器容量?,存取速度快,?且可以實現隨機存取,是存放?量程序和數據的理想設備;
  • 磁盤管理的重要?標是提?磁盤空間利?率和磁盤訪問速度

磁盤結構:

  ?個物理記錄存儲在?個扇區上,磁盤存儲的物理記錄數?是由扇區數、磁道數及 磁盤?數決定的。

?

?

?

?

?磁盤類型:

  • 固定頭磁盤 在每條磁道上都有讀/寫磁頭? ? ? ? ? ? ? ? ? ? ? ?
  • 活動頭磁盤 (移動頭):每?個盤?僅配有?個磁頭

?磁盤訪問時間:

?

?

?磁盤調度

  磁盤調度的一個重要目標是使磁盤的平均尋道時間最少

?磁盤調度算法

  • 先來先服務 (First Come First Served, FCFS)
    • 最簡單的磁盤調度算法 根據進程請求訪問磁盤的先后順序進?調度
    • 優點:公平、簡單,且每個進程的請求都能依次得到處理,不會出現某? 進程的請求?期得不到滿?的情況
    • 缺點:平均尋道時間較?
    • ?
  • 最短尋道時間優先 (Shortest Seek Time First, SSTF)
    • 該算法選擇的進程:其要求訪問的磁道與當前磁頭所在的磁道距離最近, 以使每次的尋道時間最短。
    • 優點:每次的尋道時間最短,較之FCFS有更好的尋道性能
    • 缺點:可能導致某個進程發?“饑餓”現象
    • ?
  • 掃描算法 (SCAN)

    不僅考慮到要訪問的磁道與當前磁道的距離,更優先考慮磁頭當前的移動?向。

    優點:有較好的尋道性能,防?“饑餓”現象
    缺點:有時候進程請求被??推遲

  • 循環掃描算法 (CSCAN)

    在掃描算法的基礎上,規定磁頭是單向移動的。將最?磁道號緊接著最?磁道號構成循環,進?循環掃描。

  • NStepSCAN和FSCAN調度算法

    

?

?

    這兩種算法可以避免磁臂粘著

  

?

?

?

計算題

假設磁盤有1000個磁道,若磁盤請求是一些隨機請求,它們按照到達的次序分別處于 811、 348、153、968、407、580、233、679、801、121磁道。當前磁頭在656號 磁道上,并且讀寫磁頭正在向磁道號增加的方向移動。

要求: 1.給出用FCFS算法進行磁盤調度時滿足請求的次序,并計算出它們的平均尋道長度。

?

?2.給出用SSTF算法進行磁盤調度時滿足請求的次序,并計算出它們的平均尋道長度。

?

?

假設磁盤有1000個磁道,若磁盤請求是一些隨機請求,它們按照到達的次序分別處于150、 160、 184、90、58、55、39、38、18磁道。當前磁頭100號磁道上,并且讀寫磁頭正在向磁道號增 加的方向移動。

要求: 1.給出用SCAN算法進行磁盤調度時滿足請求的次序,并計算出它們的平均尋道長度。

?

?2.給出用CSCAN算法進行磁盤調度時滿足請求的次序,并計算出它們的平均尋道長度。

?

?

提?磁盤I/O速度的?法

?

?為了提高磁盤I/O速度,用來暫存從磁盤中讀出的一系列盤塊中的信息的方 法是磁盤高速緩存

?

轉載于:https://www.cnblogs.com/jalja/p/11537890.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248121.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248121.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248121.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jQuery第二天

課程回顧: ? jQuery:JavaScript庫 ? 入口函數:$(function () {}); ? jQuery:jQuery對象,DOM對象 ? jQuery轉成DOM:$(‘元素’)[索引值] ? DOM轉成jQuery:$(DOM對象); ? 篩選方法&am…

切換Debug/Release編譯模式和Archive的作用

在學這個之前,以為很難,也起不到什么作用,但是等真正運用到工程里面,才發現,這個能幫你省下很多工作量。 1,Debug和Release版本區別? 進行iOS開發,在Xcode調試程序時&am…

Linux 防火墻:Netfilter iptables

一、Netfilter 簡介 (1) Netfilter 是 Linux 內置的一種防火墻機制,我們一般也稱之為數據包過濾機制,而 iptables 只是操作 netfilter 的一個命令行工具(2) Netfilter 是 Linux CentOS 6 內置的防火墻機制,Firewall 是 Linux CentOS 7 內置的…

無法加載 DLL“SQLite.Interop.DLL”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。...

無法加載 DLL“SQLite.Interop.DLL”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。 在項目里添加 現有項 把SQLite.Interop.DLL文件添加進來,然后點擊屬性 修改一個屬性 把 屬性 復制到輸出目錄 改為 始終復制 然后打開你的項目屬性 進入生成的 頁面&a…

jQuery第三天

課程回顧: ? 動畫效果:基本動畫,滑動動畫,淡入淡出,自定義動畫效果(animate) ? 事件切換:hover(over,out); ? 停止動畫:stop ? 操作屬性:prop(固有屬…

C語言程序設計II—第八周教學

第八周教學總結(15/4-21/4) 教學內容 本周的教學內容為:   8.4 電碼加密 知識點:指針與字符串,重難點:字符指針與字符串的關聯和區別;   8.5 任意個整數求和 知識點:動態內存分配…

AFNetworking 對數據進行https ssl加密

參考來源:http://www.cnblogs.com/jys509/p/5001566.html 現在在工作中的工作需求:https請求驗證證書一般來講如果app用了web service , 我們需要防止數據嗅探來保證數據安全.通常的做法是用ssl來連接以防止數據抓包和嗅探其實這么做的話還是不夠的 。…

數據庫系統原理(第一章概述)

一、數據庫基本概念 什么是數據:數據(Data)是描述事物的符號記錄,是指利用物理符號記錄下來的、 可以鑒別的信息。 數據是信息存在的一種形式,只有通過解釋或處理的數據才能成為有用的信息。 什么是數據庫:…

jQuery第四天

課程回顧: ? 元素操作: ? 遍歷元素: ? $(‘元素’).each(function (index, elm) {}); ? $.each(對象,function (index, elm) {}); ? 創建元素:$(‘ 新的元素?’);? 添加元素: ? 內部添加&…

navigationController的NavigationBar和ToolBar的POP或PUSH消失問題

今天在工作中發現一個坑, 其他頁面都是隱藏。YSViewController 使用的時候必須是需要 navigationBar 和 toorbar,但是 pop出這個viewcontroller后,需要隱藏navigationBar 和 toorbar,但是直接設置為hiddenYES會出現其他頁面壓棧出…

實驗二:Linux下Xen環境的安裝

實驗名稱: Linux下Xen環境的安裝(centOS7) 實驗環境: 本次實驗基本是在centOS7的環境下完成,系統內核和系統版本如下: 實驗要求: 為centOS7的環境下安裝Xen的平臺,能夠正常使用Xen下…

IDEA寫vue項目出現紅色波浪線警告如何解決??

1.看圖 2.希望對大家有幫助,只要修改了這個就可以,如有任何問題都可以留言,謝謝大家 2019-09-1923:54:11 作者:何秀好 轉載于:https://www.cnblogs.com/itboxue/p/11553395.html

數據可視化(BI報表的開發)第一天

課程回顧: ? jQuery事件注冊: ? $(元素).click(function () {}); ? $(元素).on(‘click’, [后代元素], function () {}); ? $(元素).one(‘click’, function () {}); ? 解綁事件:off ? 自動觸發: ? $(元素).click…

在Block中使用weakSelf與strongSelf的意義

在Block中使用weakSelf與strongSelf的意義 我們都會聲明一個弱引用在block中使用, 目的就是防止循環引用, 那么weakSelf與strongSelf一起使用目的是什么呢? 首先先定義2個宏: #define YXWeakSelf(type) __weak typeof(type) weak##type type; #define StrongSelf(type) __…

操作系統原理之操作系統簡介(第一章)

一、 什么是操作系統 操作系統:是一種復雜的系統軟件,是不同程序代碼、數據結構、數據初始化文件的集合,可執行。 操作系統是用戶與硬件之間的接口:操作系統與硬件部分相互作用,并且為運行在計算機上的應用程序提供執行…

數據可視化(BI報表的開發)第二天

9、公用面板樣式 所有的面板的基礎樣式是一致的,提前布局好。 面板 .panel :box-sizing,邊框圖,大小,定位【51 38 20 132】容器 .inner:padding:24,36,定位外部拉寬標…

關于Xcode 7.3 7.3.1 斷點 卡死 無限菊花

關于Xcode 7.3 7.3.1 斷點 卡死 無限菊花 只要一打斷點,就無限卡死,變量區一直菊花在轉,只有強制退出Xcode才能重新編譯,找了Google和Stack OvewFlowe依然沒有解決辦法. 刪除項目,重新安裝Xcode,重新運行程序一切辦法都解決不到,百度上說的"build setting中將Enable Clang…

html5+hbuilder+夜神模擬器+webview

HTML5 Plus應用概述 首先新建一個移動App項目,文件-->新建-->移動APP HTML5 Plus移動App,簡稱5App,是一種基于HTML、JS、CSS編寫的運行于手機端的App,這種App可以通過擴展的JS API任意調用手機的原生能力,實現與…

第十九節:Asp.Net Core WebApi知識總結(一)

111 轉載于:https://www.cnblogs.com/yaopengfei/p/11558525.html

iOS設計模式 ——單例模式詳解以及嚴格單例模式注意點

一、我們常用的單例有哪些&#xff1f; [[UIApplication sharedApplication] statusBarStyle];//系統中的單例模式&#xff0c;通過它獲取到狀態欄的style [NSNotificationCenter defaultCenter] addObserver:<#(nonnull id)#> selector:<#(nonnull SEL)#> name:&…