瀏覽單個文章
MM工坊
Power Member
 

加入日期: Apr 2007
文章: 506
TO:hulu
若以理論來說,在分多工的系統下使用連續性的中斷,來使其達到看似多工的行為,會使所有程序的執行時間都被拉長而減低處理效率。再以理論套用到以強制中斷方式來達到邊壓divx邊聽mp3,除了divx的壓制時間會變長之外,mp3的音樂播放將會斷斷續續而無法一氣呵成,當然在找不到這類MS-DOS的程式,也沒有實做過的情況下,我無法肯定結果會是如何。但若是以多工的基本原則來說,即便是在單一程式內分批處理不同程序(例如遊戲處理角色動作、血量、記分與生命數等等),或是以中斷方式來平分系統資源下,由於作業系統的限制,仍舊只能在一個時間單位內處理單一執行緒,所以實際上還是單工的模式在運作。

至於MS-DOS下的列印工作,就如同hugow兄所說的,可以在列印的同時,電腦仍可執行其它操作而讓人誤以為是多工處理的原因,就在於緩衝儲存的緣故。實際上在印表機開始列印前,電腦已將列印資料傳送到印表機的緩衝區上暫存,此時電腦的列印程序實際上是已經停止的。

簡單的測試方式,可以在MS-DOS下列印超過印表機緩衝暫存記憶體的文件(例如早年進銷存軟體的月報表),即可發現當列印資料尚未完整送出之前,電腦將無法執行其它操作。

以阻斷他人的封包作業而達到自身正常的封包傳遞作業來說,是不符合多工網路的基本規範的。要斷定一項設備或是系統是否為具備多工處理能力,其實最基本最簡單的辨識方式,就是其是否具備單一時間單位內並行二個或以上的程序,且所有程序皆可正確執行無誤,方可決定是否具備多功能力。再回到您的舉例來說,雖然以強制中斷的方式,迫使媒體閒置來讓自己的傳輸得以執行,但卻造成了另一方甚至多方的傳輸中斷或失敗,且實際上也並未有並行的多點同步溝通或傳輸行為,所以是無法稱為多工設備的。

我同意您”規範/架構是死的,但是應用/人腦是活的”這句話,在任何的系統或架構的建置時,靈活且多方的思考都將有助於達到更完善或更便利的成效。在研發新技術、新規範或新的理論時,創新的思維更是重要。

但若是使用在現有規範的產品或架構下,則不可背離規範或是設備的限制,若是無視先天的限制,而強制以設備或架構所不可及的方式來實做時,將可能衍伸出更多的問題與障礙。

很高興終於出現了正向的討論。
=========================================================
TO:hugow
您的觀念正確,解釋方式很好。

我也常會使用常見的事物來向人解釋電腦或網路。例如用大房子(根目錄)裡的小房間(子目錄)、大紙箱內(根目錄)的小紙箱(子目錄)、抽屜(根目錄)內的置物格(子目錄)、或包包(根目錄)內的小夾層(子目錄)等等,來形容檔案系統的樹狀結構,而置放在其中的則是檔案。

網路若以高速公路來比喻,那麼每一個節點就可視為交流道(也就是目的地)。

在對朋友或客戶用白話解釋Hub與Switch時,大多會先請他們暫時忽略多埠的問題,也就是先將其視為中繼器(repeater)與橋接器(bridge),會較容易理解。

中繼器的傳輸就如同搭乘接駁公車,不管上車的人是誰,也不管目的地為何,只要人一到就往前開。
而使用橋接器時,就如同搭乘計程車,會以乘客的目的地來決定往哪開,或要不要開。

如果把Hub與Switch的架構,形容為城鎮或縣市,而連接的線路形容為本地街道的話,那麼路由器(Router)就像交流道,而路由器與路由器之間的連線就如同跨縣市的高速公路(跨網段或跨網路)。

若是把多連接埠的問題加入比喻時,
Hub就如同校園內的廣播公告,只要有訊息要通知學生時,即使內容與部份班級不相關,仍會在整個校園內廣播。所以同一時間內只可以廣播一個訊息,多重的廣播會讓聲音重疊而無法辨識(就如同共享式網路架構上的碰撞,重疊的電子訊號使訊框損毀。)。
而Switch就如同學校的公差,會依照指示將訊息傳達到某個班級或某個學生,同時間也可允許多個公差同時傳送不同訊息給不同班級或學生。

一般來說,在Layer-1與Layer-2上,由於管的是實體連線下傳送的資料訊號,所以設備間所傳遞的,稱為訊框。在Layer-3以上(如同路由器、系統或程式)層級時,是以邏輯方式判斷應用與連線,而邏輯連線上所傳輸的,則稱為封包。在網路上討論分清楚一點,可避免被有心人挑語病找碴。小指點,請海涵。
 
舊 2009-02-12, 08:09 PM #132
回應時引用此文章
MM工坊離線中