大型計算機
雲計算可以理解為大型機的進化,也可以想像為由很多微型機虛擬成的大型機。這裡面,歸根到底還是計算機。計算機的發展歷史咱們就不多說了,基本上是經歷大型機、中型機、小型機、微型機,到現在的智慧型手機這么一個過程的。大型機大家都應該聽說過了吧,咱們這裡指的是從IBM360開始的一系列大型計算機。你知道嗎,當時的大型機是很貴的,聽說IBM360的研製成本高達50億美元,超貴!
這么貴的東西只給一個人用太可惜了,所以當時為了使一台大型機能夠同時為多個客戶提供服務,IBM公司在軟體上採用了分時復用和虛擬化的設計思想,使得多個客戶能夠在同時使用同一台大型機,就好像將大型機分割成了多個小型化的虛擬主機一樣。這一來就跟用一個發電廠給多戶居民發電一樣。計算機的發展,本來是很有可能像電廠水廠一樣,發展成為一個非常重要的公共服務的。豈料大規模積體電路和超大規模積體電路相繼出現,這直接導致了個人計算機的普及與套用。計算機作為公共服務的概念也就沒了市場。然而隨著雲計算的出現,這個概念貌似又要轉回來了。大概這就是所謂的螺旋式上升吧。
作業系統
計算機在硬體方面,主要由CPU、記憶體、硬碟、外設等組成。CPU負責運算,包括算術運算和邏輯運算,正是有了這個運算,計算機才能執行由程式語言賦予的指令,因此CPU才被稱為CPU,即中央處理單元。記憶體和硬碟主要負責數據的存儲。外部設備主要實現功能的擴展,如顯示、列印、操作、媒體播放等等。這些硬體在人類的眼中都是機器,對吧?為了要讓這些機器工作,必須要使用它們能理解的語言,我們稱之為機器語言,也就是一條條的二進制代碼。說到這裡大家明白為什麼電腦即計算機,計算機即電腦了吧,原來無論它表現得多么地智慧型,其實質也不過是這些二進制代碼運算的結果。但是二進制代碼使用起來太費勁了,於是後來就在其基礎上發展出的彙編語言。但是彙編依然看起來不直觀,於是最終就出現了現代編程所採用的高級語言。這是計算機程式語言的發展。有了程式語言,按說就可以使這些機器為我所用了。實際還沒那么簡單。首先每做一件事,都要重複編一大堆的操作程式,工作量很大。其次,現在咱們都看到了,使用計算機的人,大大多數,都不是計算機專業的,甭說編程了,操作步驟複雜一點都要抵制。所以,還需要一個作業系統,將複雜的操作留給自己,把簡單的操作,呈現給用戶。
作業系統應該具有這5個方面的功能,即處理機管理、存儲管理、設備管理、作業管理和檔案系統管理。我們看到這基本上是與硬體資源是一一對應的。作業管理的作業是什麼意思呢?就是用戶要求計算機所做的事情,比如說你給我打開一個word文檔呀,給我保存一個圖片呀等等。而文檔、圖片、程式、甚至包括作業系統本身等,在計算機中都是以檔案的方式來存儲的,所以作業系統又有檔案管理功能。
雲計算
既然雲計算始終還是一種計算,那么單個計算機需要的這些功能,它也是不能少的。只不過在雲計算里,這一切變得看不見摸不著了,因此我們把其稱為虛擬計算機、虛擬存儲、虛擬網路、虛擬作業系統等等。如圖1所示。
圖1 計算機與雲計算