2008年9月6日 星期六

儲存裝置

儲存裝置

好了﹐到這裡相信我們都知道電腦是怎樣運作的了﹕它會吃會拉(輸入和輸出)﹐它還有腦子(CPU)才能工作﹐若是沒有記憶(Memory)就等於白痴~~~
但是,其中的 RAM 要沒電就什麼都打回原形。雖然我們可以在螢幕或是印表機(Hard Copy)上看到結果﹐不過﹐我們還希望把這些結果給儲存起來供以後需要再提取﹐又或者將程式和其他數據儲存起來﹐就不用每次輸入都要忙著敲鍵盤或動用其他的輸入設備了..... okay! 這裡要說的儲存設備就是這麼用的了。
定義
凡是能夠利用磁(無須靠電源維持)特性或其它能反映數據特徵之方法來儲存電腦資料的媒體﹐我們一律可以稱之為儲存設備。最常見的儲存設備是 Floppy 軟碟、ZIP/LS120 軟碟、磁帶、CD/DVD 等等媒體﹐然而,最經常用到的卻是藏在機器裡面的硬碟。我們一般看不到它﹐而且也最好別去碰它﹐因為硬碟可以說是最容易壞的電腦零件之一了(天啊﹗我們竟將資料放在上面﹖﹗﹗)﹐所以"為資料做備份"這意識﹐是作為一個資訊人的最基本要素。
如何設定﹖
一旦我們要動手升級自己的電腦的時候﹐硬碟恐怕是最經常被考慮到的物件。
從實物上看﹐硬碟只是一個醜醜的金屬塊。在其肚子下面有密密麻麻的一大堆電子元件(這些東西都不要碰哦)。再看看硬碟的側面(沒有螺絲孔的其中一面)﹐有一個接頭有四支大針的﹐那是給電源用的。那些從電源箱引出來的按“紅黑黑黃”排列的電源線就是接到這裡的﹐不用擔心您會接錯正負極﹐因為掉反了是插不進去的(哈,防呆設計!)。
然後在另外一端﹐有著密密麻麻的小針的接頭就是數據排線接口了。有些排線的接頭有個凸出的方塊﹐那樣的話要是掉反了方向是插不進去的(又是防呆!)﹐但有些不是那麼標準的怎麼知道是否插對了呢﹖如果硬碟上有標明那根針是第一﹐那就把排線的"紅色"線對著那根 1 號針﹐否則﹐通常是向著電源的那邊是第一﹔但也不一定哦~~~~ 不過﹐真要接錯了也沒什麼關係啦(不會壞的啦)﹐如果機器開不起來再調過來就是了(接反了肯定開不起來﹐很可能屏幕一點東西也沒有)。
好了﹐一般的硬碟在電源接口和數據線接口之間還會有一些跳針(Jumper)﹐它通常可以經過組合(請參考硬碟說明書)設定成以下幾個類型﹕
Master
Slave
Cable Select 那麼究竟我們需要怎麼樣去設定呢﹖廠家出廠的時候一般都會將硬碟設定為 Master 的(現在的 ATA 硬碟可能預是 Cable Select)﹐如果您的電腦只有一個硬碟﹐那麼這就無需更改了。那麼什麼時候設定 Slave 呢﹖
是這樣的﹕通常一台電腦都會有兩個 IDE(Integrated Drive Electronics) 接口﹐一般的 IDE 硬碟就是用排線是接到那裡去的了(現在的 ATA 排線都有顏色裱識,方便多了)。然後在這條排線上面﹐最多可以接兩個硬碟( SCSI 則不受這限制)﹐如果其中一個設定為 Master 的話﹐那麼另外一個就必須設定為 Slave 才可以工作。如果一個 IDE 上面只接一個硬碟﹐則沒所謂是 master 還是 slave (有些硬碟還有分 master only 和 master with slave 的 jumper 設定),不過,有些系統在開機程序上可能只可從 master 上啟動,所以,單顆硬碟時還是建議設為 master (雖然不是硬性規定如此)。除了 Cable Select ,在連接上﹐物理的排列順序倒沒什麼關係﹐但如果兩個都設為 Master 或 Slave 卻是不工作的。好了,當我們有兩個 IDE 的時候,就總共可以接四個硬碟(兩個 Maste r和兩個 Slave )了。
那麼 Cable Select 又如何﹖如果選擇這個設定﹐那麼兩個硬碟都必須同時設定為 Cable Select ﹐那麼﹐在前端(接近 IDE 接口)的硬碟就是 Master ﹐而末端的就是 Slave 了。
您可以從下圖中看到 master 和 slave 的組態範例﹕

注意﹐在安裝 ATAPI 光碟機(現在的光碟通常都是這種)的時候﹐也是按硬碟的方法來連接的。
如何計算容量﹖
一般我們買硬碟首先是注重它的容量﹐其次看它的轉數(轉數越高越好)﹐磁頭讀寫速度﹐cache 大小和流量等數據。那麼我們怎麼才知道容量呢﹖最簡單的是看 model 和廠商資料﹐但卻是通過非技術途徑得到。下面就教您如何去計算硬碟的容量﹐不過,在進行計算之前,首先還是了解一下硬碟的構造。
如果將硬碟打開(千萬別在您自己的硬碟上這樣做﹗因為硬碟是密封的﹐一經打開就差不多成為廢物了)﹐您會發現裡面有一堆同圓心軸的金屬碟﹐它們已經被磁化的了。所有的資料都是記錄在這些光滑的金屬碟表面之上。每個金屬磁片通常都有兩面﹐每一面都有其各自的讀寫磁頭(Head)一個。如圖﹕

然後將金屬磁碟旋轉﹐磁頭不移動的在表面相對所畫出來的一圈﹐可以說是一個磁軌(Track)。那麼從圓心向外以一定距離進行量度﹐將所有表面上的相同圓周的磁軌從上到下疊起來﹐抽象地看就是一個磁柱(Cylinder)了。
然後﹐也是由圓心開始﹐在同一表面上分別畫出無數條半徑﹐然後每兩條半徑所分割的磁軌﹐我們稱為磁區(Sector)。每一磁區"通常"會可攜帶 512byte(0.5KB)的資料。請看圖例﹕

好了﹐如果以上資料(Cylinder/Heads/Sector)都知道的話﹐要求出硬碟容量就易如反掌了。公式是﹕
磁頭數量(其實是可讀寫的表面) x 磁柱數量(其實是每個表面的磁軌) x 每條磁軌的磁區數量 x 每個磁區的容量 = 硬碟容量
舉例﹕假如您看到硬碟上面寫著﹕
Cylinder
Heads
Sector
1647
16
63那麼﹐1647x16x63x0.5KB=830088KB/1024 就是一個 811MB 的硬碟了。如果要系統能夠讀取這個硬碟﹐這些數據是必須寫進 BIOS 裡面的﹐不過現在的 BIOS 大多有自動偵測功能﹐只要在 BIOS 裡面選擇 AUTO 就可以了﹐實在方便多了﹐尤其是換新硬碟的時候 ^_^
現今的製造技術的不斷提高﹐硬碟的磁片越來越薄﹐磁頭也越來越小﹐那麼磁片就可以越裝越多(相對的是可讀寫表面越來越多)﹐而且表面的密度也不斷提高和讀寫精度越來越高(相對的是 Track 和 Sector 也越來越多)﹐所以硬碟容量也越來越大。
不過除了這種因素外﹐增加磁碟容量的方法還有一種叫做多區記錄(Multiple Zone Recording)技術。在沒有引進這技術之前﹐每條 track 上面的 sector 數目都是一樣的﹐這樣在外圍的 sector 所跨的扇面很明顯比靠裡面(圓心)的要寬﹐也浪費得多。那麼在引用了 MZR 之後﹐我們就可以對外圍的 track 劃分更多的 sector 了﹐這樣容量也會相對增加 。
格式化和分區
任何磁碟都要先經過格式化才可以使用﹐因為不同的檔案系統使用的格式也不同。但一個硬碟在剛生產出來的時候﹐磁片的表面可以說是空白一片﹐要進行低階格式(Low Level Format)畫上 track 和 sector 之後才可以使用(通常廠家在出廠的時候已經為我們做好了)。
平時我們常說的格式化﹐多指高階格式化(High Level Format) ﹐只是給已經畫好了 track 和 sector 的表面上再建構一些供檔案系統使用的 logical block(或稱 cluster ) ﹐同時還會建立檔案分配表 FAT (File Allocation Table)、開機磁區、以及每個邏輯磁碟的根目錄等等。不過值得一提的是﹐MS-DOS 的FORMAT.COM 在進行軟碟格式化的時候﹐是同時進行低格和高格的﹐除非您使用了/Q 的選項。
不過﹐在硬碟的低格和高格之間﹐我們還不能少了一個工序﹕分割磁碟(Partition)﹐建立磁碟分割表 (Disk Partition Table)。就是在一個完整的磁碟上﹐分割開數個羅輯區域。就算您只想將整個磁碟拿來做單一的分區﹐也必須要有一個單一的 partition 需要建立。不過以小弟愚見﹐最好還是分割數個磁碟﹐自有其好處﹕
方便管理﹐比如可以將磁碟分割為 boot, system, data 等區﹐這樣相同種類的檔案都可以集中在一起﹐整齊易理。
減少損失﹐要是因為系統故障(如升級失敗)等原因必須重新 format 的話﹐將 system 或 boot 區格式化就可以了﹐data 還不至於跟著消失。
可安裝多重作業系統(Multi OS)。利用 partition ﹐我們可以在同一硬碟上面安裝多個作業系統﹐比如 Windows9x、Windows NT、OS/2、Linux、Netware、等等﹐雖然有些系統可以安裝在同一個分區裡面﹐但畢竟是不可取的。而且不同的作業系統使用不同的檔案系統﹐也不可能都使用同一分區。
提供容錯﹐在一些 Soft RAIDS 系統裡面﹐如果使用 parity 功能﹐多 partion 就起到容錯能力了 然而大容量的硬碟也給分區帶來不便﹐比如有些朋友在安裝多系統的時候﹐由於將一些作業系統的開機目錄安裝在 1024 磁柱後面﹐就會碰到boot 不到那系統的情形了。不過,新的開機系統會已解決這個問題了。
當初 MS-DOS 在使用檔案分配表 FAT(16) 的時候﹐為了增加讀寫的速度﹐引入了一個叫族群(cluster) 的概念﹐一個 cluster 往往是有好幾個 sector 來組成的。因為一般的檔案大小都超過 0.5K (一個 sector 的容量)﹐如果以 cluster 作為最小分配單位的話﹐那麼在讀寫的時候就可以順著一次過讀寫多個連續的 sector ﹐比起逐個逐個的 sector 讀寫要快些。
在以前硬碟容量比較少的情況之下﹐這樣的方法的確比較見效﹐不過﹐在後來硬碟容量大幅度增加之後﹐FAT16 由於自身的設計已經不能一次性分配超過 2G 容量了。而且由於 cluster 空間也不是全部都利用盡﹐其浪費也很驚人﹐越是大容量越是厲害。在 Windows95 之後所推出的 FAT32 檔案系統﹐可以提供更多的分配單位﹐也就能管理更大的容量了﹐而且 FAT32 和其他的檔案系統如 NTFS(NT Files System) 和 HPFS(High Performance File System) 一樣﹐將 cluster 體積基本上降低到一定的 sector 單位﹐所利用的空間也就更有效。不過 FAT32 對比 FAT16 來說需要更多的管理動作﹐速度上相應會降低﹐但因為在硬體和其他系統技術的提高﹐整體而言﹐是不會看到影響的。
虛擬記憶體
儲存裝置﹐就好比是電腦的倉庫。不過除了用來保存資料之外﹐還可以當 RAM 用哦~~
或許您也聽過什麼"虛擬記憶體(Virtual Memory)"這詞了吧﹖究竟怎麼樣的東東呢﹖理論上電腦工作的地方都在記憶體上面﹐但有時候程式太大或同時開的程式太多﹐就很容易超過了記憶體的容量了﹐這樣系統就不能工作。
為解決這一問題﹐我們就在硬碟上面劃出一個地盤﹐用來儲存超出記憶體容量的部份﹐通常是那些暫時還不是處於工作狀態的資料。如果電腦需要處理那些資料的時候﹐然後再從硬盤上把資料抄到 RAM 裡面﹐同時也將另外一些暫時不處理的資料搬到硬碟上面﹐這個動作叫做 SWAP。如果 RAM 的體積小﹐電腦就整天都忙著這樣搬過來搬過去﹐效率就大打折扣了。這就是為什麼增加 RAM 會提高電腦的整體表現的原因了。
和 Virtual Memory 相反﹐RAM Disk則是利用 RAM 模擬出一個虛擬磁碟。不僅讀寫速度快多了﹐而且在還沒有劃分磁碟但又需要比較大的空間儲存程式的時候﹐就特別有用。如果您用 Win98 建立一開機磁片﹐其在啟動的時候就有虛擬磁碟功能了﹐您可以通過修改 a:\config.sys 裡面的 devicehigh=ramdrive.sys /E 8192 來調整 RAM Disk 的大小﹐(此例為8192KB=8MB)。開機後系統利用 extract.exe 將一些壓縮檔案解壓到 RAM Disk ﹐也可以從其它磁片複製其上﹐就可以運用這些程式工作了。
好了﹐關於硬碟﹐暫時說到這裡﹐下面要講的是一個非常重要的部件 --- 主機板。

沒有留言: