假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的
【詳細計算公式!】【詳細計算公式!】【詳細計算公式!】
做這道題的時候傷透了腦筋, 而網上只有答案沒有過程, 經過漫長的推算,參考網上和書上的解析,終于總結出了做這種題的萬能公式! 送給大家!
題目:假設磁盤塊與緩沖區大小相同,每個盤塊讀入緩沖區的時間為15μs,由緩沖區送至用戶區的時間是5μs,系統對每個磁盤塊數據的處理時間為2μs。若用戶需要將大小為10個磁盤塊的Docl文件逐塊從磁盤讀入緩沖區,并送至用戶區進行處理,那么采用單緩沖區需要花費的時間為( )μs;采用雙緩沖區需要花費的時間為( )μs。
解析:
幾組概念:
- 在塊設備輸入數據的過程中,首先把磁盤數據送到緩沖區,花費的時間為Ts
- 然后把操作系統緩沖區的數據送到用戶區,花費的時間為Tm
- 最后用戶進程對這批數據進行計算,花費的時間為Tc
單緩沖區公式:
由于為單緩沖區,因此Ts 與Tm無法并行,如圖:
- 當Ts >Tc
總時間:T總=n*(Ts+Tm )+Tc
- 當Ts <Tc
總時間:T總=n*(Tc+Tm )+Ts
雙緩沖區公式:
Ts過程與Tm可以并行,Tm過程與Tc過程不能并行,如圖:
- 當Ts >Tc
總時間:T總=n*Ts+Tm+Tc
- 當Ts <Tc
總時間:T總=n*(Tc+Tm )+Ts
綜上, 對于本題:
單緩沖區:(15+5)*10+1=201
雙緩沖區:15*10+5+1=156
最近在進行軟考系列精選真題解析, 歡迎點贊、關注、閱讀~
博主的碎碎念:
明天就要軟考了, 然鵝苦逼的我還有三種大題沒看, 今天又雙叒叕要熬夜了。 希望明天可以取得好成績, 加油!打工人! ヾ(?°?°?)ノ゙
總結
以上是生活随笔為你收集整理的假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 进行面向对象设计时,就一个类而言,应该仅
- 下一篇: HDU-4850 Wow! Such S