來源:公眾號漫話編程 ,
作者 漫話編程
周末,我在家裡面看電視,女朋友正在旁邊鼓搗她的電腦,但是好像並不是很順利,於是就有了以下對話。
計算機存儲
我們使用的計算機中,保存信息的介質有兩類:
內部存儲器,就是我們通常說的內存,內存的信息存取速度很快,但是通常容量較小,並且依賴電源,斷電後其中存儲的內容就會丟失。內部存儲器包括寄存器、高速緩衝存儲器(Cache)和主存儲器。
另外一種不依賴電源的外部存儲器相對內存來說,容量會大一些,但是存取速度會相對慢一點。常見的外存儲器包括磁碟、光碟、U盤等。
從馮.諾依曼的存儲程序工作原理及計算機的組成來說,計算機分為運算器、控制器、存儲器和輸入/輸出設備,這裡的存儲器就是指內部存儲器,而硬碟等外部存儲器屬於輸入/輸出設備。
CPU 運算所需要的程序代碼和數據來自於內存,內存中的東西則來自於磁碟,所以磁碟並不直接與 CPU 打交道。
磁碟
磁碟有軟磁碟和硬磁碟兩種,就是我們通常說的軟盤和硬碟。
根據登上歷史舞台的先後順序我們來見識一下軟盤和硬碟
軟盤
在計算機剛誕生的年代,還沒有硬碟,那時數據存儲主要靠軟盤。
軟盤(Floppy Disk)是個人計算機(PC)中最早使用的可移介質。軟盤的讀寫是通過軟盤驅動器完成的。
軟盤在早期計算機上必備的一個硬體,也是計算機上面最早使用的可移介質。它作為一種可移儲存硬體適用於一些需要被物理移動的小文件,軟盤的讀寫是用過軟碟機也就是軟盤驅動器來完成的。
軟盤驅動器(floppy disk driver)就是平常所說的「軟碟機」,它是讀取軟盤的設備。

軟盤存儲在 20 世紀 80 至 90 年代盛行,直至 2000 年以前,3.5 英寸軟盤仍是電腦普及設備之一。
所以在早期的 DOS 計算機上經常能夠看到如下信息:
·Please insert source disk into drive A:...
·Please insert destination disk into drive A:...
·Please insert source disk into drive A:...
軟盤想要被讀取到計算機中,就需要映射到計算機中的某一個標識,於是字母「A」就作為第一個盤符被軟盤驅動器所占用,而隨後更多的計算機開始配備第二個軟碟機,以滿足數據拷貝的需要,所以盤符 B 也被軟碟機給占據了。
所以軟盤驅動器按照順序占據了A和B盤符的位置:A 盤就是的 3.5 英寸軟盤驅動器、B 盤就是的 5.25 英寸軟盤驅動器。
而後來的 Windows 系統也沿用 DOS 下分區的設置。
A盤的真正含義是「第一軟盤驅動器」,並非單指 3.5英寸軟碟機或軟盤。實際上,最早的軟盤是 8英寸軟盤,因此,最早期的 A盤其實是 8英寸軟碟機。但是,8英寸軟盤由於攜帶不方便等原因,很快被 5.25英寸軟盤取代,後來出現了一台 PC 配 2 個軟碟機的情況,因此有了 A盤和 B盤的區分,但這兩者都是 5.25英寸軟碟機。後來 3.5英寸軟盤的推出,3.5英寸和 5.25英寸兩種軟盤開始共存,於是 PC 上的兩個軟碟機,一個是 3.5英寸軟碟機(通常是 A盤),另一個是 5.25英寸軟碟機(通常是 B盤,也有的正好相反)。
硬碟
3.5 英寸軟盤在 80 至 90 年代曾盛極一時,1996 年時全球有多達 50 億隻軟盤正在使用。直到 CD-ROM、USB 存儲設備出現後,軟盤銷量逐漸下滑。
1998 年蘋果推出第一代 iMac,是第一台捨棄軟式磁碟驅動器的電腦,戴爾2003 年推出的 Dimension 台式機也放棄了軟盤支持。之後,標配軟碟機的新電腦越來越少。
取而代之作為計算機中主要的外部存儲器的是硬碟。硬碟是電腦主要的存儲媒介之一,由一個或者多個鋁製或者玻璃制的碟片組成。碟片外覆蓋有鐵磁性材料。

隨著硬碟被研發出來,早期的計算機就開始考慮如何兼容硬碟,想要兼容硬碟,最先考慮的就是要給硬碟劃分醒的分區。而 A 和 B 兩個字母命名的分期已經被軟盤占用了,所以硬碟只能從 C 開始。
而隨著硬碟技術的發展,一方面軟盤逐漸退出歷史舞台,另外一方面硬碟開始支持多個分區,於是,就演變成今天我們看到的計算機中有多個分區,從 C 開始,分別是 C、D、E 等。

分區
硬碟分區實質上是對硬碟的一種格式化,然後才能使用硬碟保存各種信息。在硬碟中,一般先劃分出一個主分區(活動分區),一般來說,這個就是劃出的 C盤。然後建立擴展分區,在擴展分區內,再建立若干個邏輯分區,這些邏輯分區就是後面的 D、E 等盤。
所以,很多新買的 windows 計算機中,至少都會有一個 C盤。
因為只要電腦中安裝了硬碟,默認情況下都會有 C盤,所以軟體初始安裝位置設定為 C盤的話可以避免出現無此分區的情況。
其實,軟體安裝的時候,默認選擇的是系統盤的 Program Files 目錄下(環境變量:%programfiles%),只不過大多數情況下系統盤恰好是 C盤而已。
還有另外一個原因,那就是把軟體安裝在 C盤的話,會更加流暢一些。
對於機械硬碟的數據讀取,硬碟的主軸的工作方式都是 CAV(Constant Angular Velocity,恆定角速度,單位時間內放置的角度一致),所以在相同時間內,讀取位於硬碟外圈的數據,比讀取硬碟內圈的數據要多。
換句話說,讀取相同大小的數據,數據位於硬碟外圈的讀取時間比位於內圈的速度時間要短,也就是外圈讀取速度快。
而按照正常的分區方法,C盤一般位於硬碟外圈,C盤後的D、E、F逐漸向內。所以,C盤的讀取速度會相對快一些。
當然,以上只針對機械硬碟,目前已經非常普遍的固態硬碟就沒有這種情況了,所以,如果你用的是 SSD(固態硬碟),那麼就隨意吧。
C盤太滿系統會卡?
影響系統速度的原因有很多,硬體上就有兩個重要的部分:CPU(處理器)和內存。CPU 不用說,相當於大腦,處理所有運算;而內存就是運行程序的場所。
在以前,電腦的配置普遍不太高,CPU 計算效率低下,快速運行本就很難,尤其是內存空間還緊張。不過 windows 系統有個辦法,會根據內存情況調用虛擬內存來使用。而 C盤恰恰就是虛擬內存的所在地,如果 C盤滿了,也就沒有虛擬內存的空間。內存兄弟只能憑藉自己的小身板硬抗,當運行多個程序時,就容易導致電腦卡慢甚至崩潰。
實際上,上面說的情況僅僅是歷史遺留問題,現在的電腦在硬體配置上已經足夠強大,並且系統會有充足的空間合理分配虛擬內存,所以上述情況基本不存在了。