洪逸他媽:「你大學讀計算機?」
───────────────────────────────────────
這部分在過去的OS課一定都學過了,不過因為滿有趣的而且也是平常常看到的名詞卻沒有去釐清而衍生了很多的問題,所以大致上來記錄一下。
首先談談Disk System(磁碟系統)的組成。
他是由多片的Disks(磁碟)所組成,通常每片Disk的雙面都可以儲存資料,而每一面由很多條的Tracks(磁軌)組成,而每條磁軌又可以劃分成多個Sectors(磁區)。
前面有提到這是由多片的Disks所組成,因此在左圖來看:不同面卻相同Track No所形成之組合則稱為Cylinder(磁柱)。
落落長的講了一堆,但總言之就是:
Disk System:Disk>Track>Sector
例:Disk System有10片Disks,每片的雙面皆可存(但最上與最下面不可存)
每片有2048條Tracks,
每條有521個Sectors,
每個Sectors可存16KB。
則:(10*2-2)*2048*512*16KB
=18*211*29*26*210Bytes=18*16GB=288GB
這288GB就是我們一般所知的硬碟大小。
再來就是跟大家使用硬碟時息息相關的Disk Access Time(磁碟存取時間)。
我們再使用磁碟的存取時間時,一般是由三個運作時間加總而得的:
1.Seek Time
簡單的說,就是花在找Track的時間。
將磁頭移動到欲存取的Track上方所花之時間。
2.Latency Time(或稱revolution time/rotation time)
簡單的說,就是下一步花在找Sector的時間。
當磁頭移動到目標Track時,此時Disk會自己轉動欲存取的Sector到磁頭下方。
3.Transfer Time
簡單的說,就是將Data傳到Memory之間的傳輸時間。
上述三者通常以Seek Time最花時間,因為其主要是以I/O的硬體運作為主,也因此在Latency Time的部分變成是以運轉Disk本身而非移動磁頭了。
那麼,相關的轉速的計算就是我們平常常常遇到卻不甚了解的部分。
例1:Disk轉速:7200rpm,求Avg. revolution time.(rpm=revolution per minute)
7200rpm = 1分鐘Disk可以轉7200圈
= 1秒鐘Disk可以轉120圈(相信大家現在大概可以感受磁碟讀取的聲音跟轉速的關係了吧XD)
所以Disk轉一圈需要花1/120秒。
那麼依據統計學的中央極限定理CLT可以估計平均值即是成常態分配於正中央位置,
因此平均revolution time = 0.5*1/120=1/240秒
例2:Disk轉速:6000rpm,
Disk每面有2048條Tracks
每條Track有256個Sectors
每個Sector可存4KB。 =>求Transfer Rate ?
6000rpm = 1秒鐘Disk可以轉100圈
(因為每一面Disk是由許多Tracks所組成的,當磁頭移動到目標Track的時候,就換成要讓Disk自轉目標Sector下,因此Disk每轉一圈救代表可以傳輸一條Track之容量。)
而每一條Track之容量=256*4KB=1MB
因此Transfer Rate = 100*1MB/sec = 100MB/sec
例3:承例2,若File大小為5MB,Disk之平均Seek Time為2秒,則read this file 需要花?秒
Disk Access Time =
Seek Time + Latency(Revolution) Time + Transfer Time
= 2秒 + 0.5*1/100秒 + 5MB/100MB (sec)
=(2+1/100+1/20)秒
以上三例完整詳述一般硬碟的傳輸方式與速率計算方法。
看了你的文章,真的覺得獲益很多
回覆刪除正在學計組 看不懂名詞 這篇很有用 QQ
回覆刪除Lucky Club: Live Casino Review 2021 - Lucky Club
回覆刪除Check out the Lucky Club casino review and get exclusive signup bonus luckyclub.live codes and free spins. Find the best deals on Lucky Club, play today, Rating: 8/10 · Review by Lucky Club