操作系統中併發(concurrent)與並行(Parallel )的區別與聯繫

併發(concurrent)與並行(Parallel )是兩個既相似而又不相同的概念併發性,又稱共行性,是指能處理多個同時性活動的能力;並行是指同時發生的兩個併發事件,具有併發的含義,而併發則不一定並行,也亦是說併發事件之間不一定要同一時刻發生。

併發的實質是一個物理CPU(也可以多個物理CPU) 在若干道程序之間多路複用,併發性是對有限物理資源強制行使多用戶共享以提高效率。
並行性指兩個或兩個以上事件或活動在同一時刻發生。在多道程序環境下,並行性使多個程序同一時刻可在不同CPU上同時執行。
打個比方。併發,就像一個人(cpu)喂2個孩子(程序),輪換着每人喂一口,表面上兩個孩子都在吃飯。並行,就是2個人喂2個孩子,兩個孩子也同時在吃飯。

 吞吐量與帶寬的區分:吞吐量和帶寬是很容易搞混的一個詞,兩者的單位都是Mbps。先來看兩者對應的英語,吞吐量:throughput;帶寬:Max net bitrate。當討論通信鏈路的帶寬時,一般是指鏈路上每秒所能傳送的比特數,它取決於鏈路時鐘速率和信道編碼在計算機網絡中又稱爲線速。可以說以太網的帶寬是10Mbps。但是需要區分鏈路上的可用帶寬(帶寬)與實際鏈路中每秒所能傳送的比特數(吞吐量)。通常更傾向於用“吞吐量”一詞來表示一個系統的測試性能。這樣,因爲實現受各種低效率因素的影響,所以由一段帶寬爲10Mbps的鏈路連接的一對節點可能只達到2Mbps的吞吐量。這樣就意味着,一個主機上的應用能夠以2Mbps的速度向另外的一個主機發送數據。

   帶寬可以理解成是並行,即同時可以有10M 個bit(0,1)在線路中傳輸。而吞吐量類似併發,指主機每秒可以處理2M個bit。比喻有些不是很恰當,但仔細體會下,有些類似之處。


發佈了61 篇原創文章 · 獲贊 33 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章