為什麼SSD能夠使成熟的操作系統的體驗獲得如此多的提升?
很多人黑windows說各種問題 說os x好 我之前也是這麼覺得 但作為一個計算機專業的學生我自始至終認為固態起到了很大作用
自從我把我台式機改裝成全固態,很多惱人的問題也消失了 啟動速度 應用開啟速度自然不用說 為什麼系統未響應的次數幾乎變成了零 原來機械硬碟下系統未響應 藍屏 應用出錯 死機等等各種問題 自從升級了全固態再也沒有出現以前windows會越用越卡 可是升級以後有時候一開半個月都不卡所以我很奇怪固態為什麼對用戶體驗的提升作用為什麼甚至比cpu和gpu 內存的升級都要明顯?用習慣了全固態台式 真的回不去機械硬碟了 用其他人的電腦真的是惱火.......
從2000年到2015年:
CPU主頻從1.2G到3.5G,提升了三倍,從一個核心到四核超線程,增加了八倍。
內存從DDR 200到DDR3 1600,吞吐量提升了八倍。你知道硬碟速度提升了多少么?因為軟體環境對硬碟讀寫的帶寬和延遲要求越來越高。一方面是操作系統本身的功能增加了硬碟使用率,另一方面是不良的軟體環境(一堆衛士管家殺毒和一堆開機自啟動的還有帶P2P功能的軟體)都在瘋狂地佔用硬碟,而且這種佔用方式更傾向於隨機讀寫。而機械硬碟由於本身的設計,不適合這種操作,所以就造成卡頓。換了固態硬碟之後由於本身的設計就非常適合進行隨機讀寫,所以即使在比較糟糕的軟體環境下運行,也是能夠滿足讀寫要求的。升級其他的作用不明顯是因為在當前使用情況下,你升級的東西不是短板。換一個情況,比如內存從2G升級到4G,使用流暢度同樣也會提升很多。
等大家都用上了只有內存幾倍慢的SSD之後,下一個要搞的就是把內存全部換成緩存了(逃
計算系統過去很長一段時間,現在,以及未來很長一段時間的瓶頸都是IO,IO的延遲,並行度,帶寬。
我很久以前曾想不通一件事情:為什麼一定要較那個真,把晶元往小了做?
誠然能有很高的晶體管密度成本上是有利的,高集成度也能帶來諸多除了成本以外的好處。但看著那些登峰造極無所不用就為了在更小的面積里塞入更多晶體管的努力,忍不住就會有這種疑問:就不能把矽片做大點么,相比縮減尺寸所花的力氣,矽片也沒那麼值錢吧?直到我意識到一個事實:以現在的CPU經常上Ghz的頻率,假設4Ghz的頻率,宇宙中最快的光也只能走7.5cm左右的直線距離。如果是折返的話,就只有4厘米不到,二個指節的長度都沒有。這還是按真空算的,更不要說實際跑的都是電信號也不考慮信號的雜訊和錯誤。
如果做大了對IO的延遲是個巨大的災難。
現代的超級計算機,CPU,GPU各種堆,但最後的難點和關鍵還是在於解決IO/互聯的問題。
所以很多人吐槽中國自主超級計算機老用Intel什麼的,屬於噴錯了重點。很多東西歸結到最後都是IO的瓶頸。
機械硬碟其實帶寬並不很低,主要還是延遲太高了,高的恐怖,而且並行度也很低。
一旦同時有稍微多些的io請求(這在一般的應用場景幾乎是一定的),就會卡,卡又會導致後續的IO堆積不能處理,於是沒反應了。
不僅卡,而且一頓卡,俗稱卡頓就是這麼來的。
硬碟是計算機系統裡面最大短板IO裡面最短的三個板,不僅延遲最高,並行度最低,而且速度最慢。
一下就解決了最短的三個板你說能不有質的改善么。對於普通用戶來說,現在的硬體性能里硬碟的讀寫速度是限制家用計算機基本性能的最重要因素了。舉個栗子:以前回家都是先開電腦再去拉屎,現在可以先拉屎回來再開電腦,轉身喝杯水的時間就能看到桌面了。(媽媽再也不用擔心我把屎拉在褲子上了)
這就是短板理論了,木桶里能裝多少水由最短的木板決定。
因為機械硬碟的技術這麼多年了也沒多大突破,容量是越來越大了,可市面上能買到的速度也就最多到100+mb/s,固態速度上提升了4倍左右,對電腦零件來說400%的提升是質的飛躍。
隨機存儲當然更重要了。簡單來說,磁頭畢竟需要物理上的移動,而固態硬碟沒了磁頭等於去掉了這個時間,這就是天壤之別,電和機械臂哪個快還用多說嗎?因為其它部件提升太快了。
直接說我用過的幾個電腦:
2001年,一台長城台式機,奔騰1.3Ghz單核,128MB內存DDR,50G硬碟讀取速度達30M/s;
2008年,聯想台式機,AMD四核2.5Ghz處理器,2G內存DDR2,500G硬碟讀取速度達60M/s;
2012年,戴爾筆記本,酷睿i5處理器,4G內存,DDR3,750G硬碟,讀取速度最高約70M/s;
2013年,給筆記本換了SSD,寫入400+MB/s,讀取500MB/s,128G。
數據方面,處理器性能只看主頻是嚴重錯誤,樓上的Ivony童鞋就犯了這一錯誤。
關係到處理器的參數的確很多,為了方便,我覺得晶體管數量和工藝可以對其性能的代表性比較強。在下面列出來:
奔騰3處理器,950萬個晶體管,0.25微米(也就是250納米);
AMD羿龍II處理器,晶體管數量超過6億,工藝為65納米或48納米;
酷睿i5-3210處理器,晶體管數量約10億,工藝為22納米;
主頻雖然十多年變化好像不大,但晶體管數量增加了10倍,而且,i5-3210那是筆記本的處理器,另外工藝也提高了十倍。
內存容量增長30倍,標準提升了兩代,速度也完全不是一個級別。
而機械硬碟,容量的確變大了十倍,但是速度呀,三倍不到!
是時候給機械硬碟革命換代了!
上面都提到了短板理論,我想說的是短板是IO,不只是硬碟
簡單的用短板理論來解釋這個問題太過籠統了。具體說來除了文件讀寫慢,更重要的原因是頁交換的速度慢。
題主有沒有想過為什麼一台只有1g內存的windows pc上面可以跑那麼多合起來內存佔用遠超1g內存的進程呢?這就是虛擬內存的作用,把一部分硬碟空間當作內存來使用,把最近不太被用到的內存數據複製到硬碟上,把物理內存里的空間空出來給著急用的,需要的時候再把它們從硬碟里重新讀回物理內存,這種在物理內存和虛擬內存之間交換數據的操作就叫頁交換。
明白這個之後就知道為什麼慢硬碟的環境下即使沒有大規模硬碟讀寫也經常卡頓的原因了吧,系統把你操作的進程的一部分數據搞到硬碟上去了,你現在的操作只能等這塊數據先讀回來才能繼續,所以慢的硬碟會導致卡頓更加明顯。這種情況在物理內存被大量佔用時尤其明顯。
最典型的例子就是chrome開十幾個頁簽最小化後去干別的,一段時間後重新激活,如果是機械硬碟,那酸爽。。。簡單說HDD的IOPS不能夠滿足應用需求
SSD隨機讀取性能遠優於機械硬碟,這個對系統的性能十分關鍵。。
換了SSD才知道SSD的好。
這涉及到Memory Hierarchy.
CPU訪問L1 L2緩存是機器周期級別,零點幾ns級別.
訪問內存是幾十ns級別。
訪問機械硬碟是10ms級別,這和CPU頻率,訪問緩存相差幾千萬倍!
載入程序時,讀取大量分散的小文件,幾乎所有時間都花在磁頭尋軌上。
想像一下,磁頭每次尋軌10ms,每個碎片文件在磁碟上分布很遠,大小平均1KB(傳輸時間可忽略不計),那麼傳輸速率將變為1s/10ms*1KB每秒,100KB每秒。測試機械硬碟的4K隨機訪問速率,就是這個數量級。
不卡才怪。
而SSD沒有磁頭,不需要旋轉,一次訪問時間為幾十us,只有機械硬碟的千分之一的數量級。在訪問小文件時,優勢非常大。
同時如果電腦內存不足時,會把部分內存中的數據交換到硬碟中,這就是虛擬內存的概念,同時這就是為什麼電腦4G內存用起來還會感覺沒用滿,其實大部分都交換到硬碟中去了。
但是普通硬碟速度是遠遠小於內存的,當載入新程序,交換比較舊的數據到硬碟中時,延遲會很大,當需要把舊數據重新讀取到內存中時,那就更難受了。SSD和加內存簡直是解救老舊電腦最便宜的方法了。
What Your Computer Does While You Wait
短板理論
木桶理論吧,就是最短的那塊木板決定能盛多少水。目前的CPU和GPU的性能並不低,i5 4200U這種對於win8來說綽綽有餘。你會發現目前的瓶頸就是存儲器的I/O性能,說白了就是硬碟的讀寫速度,(當然內存比較快,現在還沒有覺得內存不夠快)。大量的軟體和系統服務無時無刻在對硬碟進行讀寫,數據從硬碟到緩存到內存,這也就是為什麼Win8的磁碟佔用率長時間居高不下。而固態硬碟讀寫速度比機械硬碟更快。於是卡頓感就沒有那麼明顯了。
電腦放歌、開遊戲、流浪網頁等,都要從硬碟上讀取數據和指令,然而cpu的讀取速度是硬碟的好幾倍,所以cpu就不斷的空閑著等硬碟給予。
你試試512M跑Win7→_→那就不是換SSD能解決的了(*/ω\*)
其他硬體發展速度高於機械硬碟。
不中的懲罰變低了唄,如果足夠快,中不中就無所謂了。
我已經在考慮把另外兩個內存插槽填滿以後劃五個G出來當ramdisk用了
推薦閱讀:
※2015年有哪些值得推薦的年度 WP應用?
※android studio項目能在mac和windows系統下切換嗎,可以的話要怎麼做?
※使用Microsoft登陸電腦自動創建的用戶文件夾名怎麼改?
※有沒有適合win10的非國產殺毒軟體?
※如何評價Windows 10 Mobile 10166版本?
TAG:macOS | MicrosoftWindows | 操作系統 | 計算機 | 固態硬碟 |