在理解完Process、Thread、Scheduling這些事情之後,讓我們回到一開始的初衷,作業系統搞得如此麻煩,又是Time-Sharing又是Scheduling,最重要的目的就是希望能夠提供使用者良好的『便利性』和『效能』,那我們前面已經說明了以軟體的方法是如此這般去使用CPU,去維護作業系統的效能,今天我想來講講硬體層面的發展。
我剛開始使用電腦的時候,那個年代的CPU還是單核心的,但現今不管是桌電還是筆電、文書機還是電競主機,多核心的CPU已經算是基本款,我自己使用的CPU(i7-6700)就有4個核心(core)。
多個核心會使效能比較快速的原因,是因為這些核心可以同時地去執行獨立的instruction,換句話說,藉由multi-core的資源,能夠同時支援不同的Thread,達到平行處理的成效。
單一一個CPU,在核心的數量還是有所極限的,既然一個CPU不夠,就用兩個,兩個不夠,就用更多個,有一些伺服器用的主機板,就能同時支援好幾個CPU,每個CPU上面同時又有十幾個核心,為的就是在同一個時間處理大量的需求,讓來訪問的使用者不會有太長的等待時間。
依照記憶體讀取方法的不同,Multi Proessor又分為兩種
講白話來說cluster(叢集)的概念就是區域網路,透過網路線把電腦連接在一起,這些電腦就能夠共享儲存空間與運算能力。
分散式的系統是透過網路串接電腦與電腦,透過這樣的方式也能夠共享運算資源與儲存資源。
其中有依照架構又分為兩類: