試想,如果計算機需要執行數量級巨大的任務,應該使用什麼方法呢?
是花重金去購買昂貴的超級大型計算機,高效能計算機?還是另闢蹊徑,想別的方法?那麼有別的方法嗎?答案是有,就是搭建分布式的系統提供服務。
分布式系統,通俗點來說,就是由若干伺服器通過網路互聯起來的乙個系統,可能這些伺服器都存在於不同的地理位置,很遠或者很近,都無所謂,只要有網路將它們連起來。
那麼,它們是如何工作的呢?
當需要執行乙個任務時,這個任務會被拆分為若干個子任務,根據合適的排程演算法,分配到這個分布式系統下的所有機器上去執行,每台計算機獨立完成屬於自己的那部分子任務。最後將結果綜合到一起,就順利執行完了這個總任務。
這樣,就可以只用若干臺**比大型機低廉許多的小型伺服器,順利地完成巨大數量級的任務。
可能有些人會問,既然使用微機處理是一種節省開支的方法,那麼為什麼不給每個人一台計算機,讓他們獨立地去工作?原因就在於資料共享。例如,機票預訂處的工作人員需要訪問儲存航班以及現有座位資訊的主資料庫。假如給每個工作人員都備份整個資料庫,那麼在實際中這是無法工作的,因為沒有人知道其他工作人員已經賣出了哪些座位。共享的資料是上例和許多其它應用的基礎,所以計算機間必須互連。而計算機互連就產生了分布式系統。
還有一點,分布式系統並不一定是多使用者,因為就算只有乙個使用者,他需要執行乙個任務,這個任務也會被拆分分配到所有伺服器上執行。
最後簡單說一下並行作業系統,並行是指的是同時執行兩個任務,但這只是乙個虛像。真正的情況是,對於乙個cpu,先分配給第乙個任務0.01秒,再分配給另外乙個任務0.01秒,如此往復迴圈,直到兩個任務都執行完成。因為這樣0.01秒之間的切換在我們人眼看來是無法辨別的,因此我們就認為乙個cpu在同時執行兩個任務。而事實上要記住的是,乙個cpu在同一時刻永遠只能處理乙個執行緒!!!通俗點說就是只能執行乙個任務!!!
請大家多多指正,一起進步!!!
分布式作業系統入門
什麼是中介軟體?分布式計算系統 集群運算 網格運算 雲計算 分布式資訊系統 分布式普適系統 網格計算 雲計算 硬體 基於匯流排的多處理機 基於交換的多處理機 基於匯流排的多計算機 基於交換的多計算機 軟體 分布式作業系統 網路操作i系統 中介軟體作業系統 客戶 伺服器端架構 無連線的服務 應用程式層...
作業系統學習 分布式系統結構
分布式系統是一組不共享記憶體和時鐘的處理器的集合,即每個處理器都有它自己的記憶體,處理器之間的通訊可通過各種通訊網路加以實現。一 動機 建立分布式系統主要由4個方面的原因 1 資源共享 2 加快計算速度 3 可靠性 4 通訊 不同站點可以有機會交換資訊 二 分布式作業系統的型別 1 網路作業系統 通...
網路作業系統和分布式作業系統的區別
一 網路作業系統 網路作業系統把計算機網路中的各台計算機有機地結合起來,提供一種統 一 經濟而有效的使用各台計算機的方法,實現各個計算機之間的互相傳送資料。網路作業系統最主要的特點是網路中各種資源的共享以及各台計算機之間的通訊。二 分布式作業系統 分布式計算機系統是由多台計算機組成並滿足下列條件的系...