回覆列表
  • 1 # Affgcff

    1. 多工在計算中,多工是一種多個任務(也稱之為程序)共享處理資源(如CPU)的方法。在多工作業系統上,例如Windows XP,您可以同時執行多個應用程式。多工實質是指作業系統在每個計算任務間快速切換,以致於看上去不同的應用似乎在同時執行多項操作。當CPU時鐘頻率穩步提高時,不僅應用程式的執行速率可以更快,而且作業系統在應用間的切換速率也更快。這樣就提供了更好的整體效能——一臺計算機可以同時發生多項操作,每項應用可以更快速地執行。2. 單核對於擁有單個CPU核的計算機,任意時刻只能執行一項任務,這也意味著CPU主動地執行該任務的指令。多工透過排程(Scheduling)哪一項任務在哪一時刻執行以及何時切換到另一項任務,解決了這一問題。圖1。單核系統支援多工作業系統。文字處理、Email、r網頁瀏覽器、防病毒軟體、程序、作業系統、CPU核3. 多核當運行於多核系統時,多工作業系統可以真正地併發執行多項任務。針對不同的任務,多個計算引擎獨立地工作。例如,在一個雙核系統,有四項應用,如文字處理、電子郵件、網頁瀏覽和防病毒軟體,每項應用可以同時訪問一個獨立的處理器核。您可以在檢查電子郵件的同時輸入一封文件,真正實現多工,從而改善應用的整體效能。圖2。雙核系統支援多工作業系統,如Windows XP,以真正地同時執行兩項任務。文字處理、Email電子郵件、網頁瀏覽器、防病毒軟體、程序、作業系統、CPU核作業系統透過在獨立的CPU核之間劃分不同的應用或程序,從而更有效地執行多項應用。該計算機可以將工作任務分攤化——每個核在管理和切換原先一半數量的應用任務,並提供更好的整體吞吐量與效能。實際上,這些應用任務是並行地執行的。至頁首4. 多執行緒多執行緒將多工的思想拓展到應用,因此,您可以將單個應用中的特定步驟進一步分解成一個個執行緒,每個執行緒可以並行執行。作業系統不僅在不同的應用任務間分配處理時間,而且在一項應用的每個執行緒間分配處理時間。工程與科學方面的應用程式通常運行於專用的系統(可能沒有多工化)。而一個多執行緒NI LabVIEW程式可以被分解成四個執行緒:使用者介面、資料採集、網路通訊以及資料錄入。您可以分別賦予這四個執行緒的優先順序,以便它們獨立工作。於是,在多執行緒應用中,多項任務可以與該系統執行的其他應用並行執行。圖3。雙核系統支援多執行緒。測量與控制、資料採集、使用者介面、網路通訊、資料錄入、執行緒、作業系統、CPU核利用多執行緒的應用具有以下幾大優勢: 更有效的CPU利用率 更好的系統可靠性 改善多處理器計算機的效能在許多應用中,您同步地呼叫資源,如儀器,這些儀器呼叫時常需要較長的時間完成。在一個單執行緒應用中,一個同步呼叫可能會阻止或防止該應用中的其他任務執行,直至該操作完成。而多執行緒避免了這樣的情況出現。當同步呼叫在一個執行緒中執行時,程式中不依賴於該呼叫的其它部分可以在其它執行緒中執行。該程式的執行可以持續地推進,而不是停滯直到完成同步呼叫。這樣,一個多執行緒應用實現了CPU使用效率的最大化,因為當該應用的所有執行緒都可以同時執行時,CPU不會處於空閒狀態。5. 利用LabVIEW實現多執行緒NI LabVIEW自動地將每個應用程式分解為多個執行執行緒。LabVIEW系統內部已經內建了對複雜任務的執行緒管理功能。圖4。LabVIEW幫助使用者執行多個執行執行緒。DAQ助手、資料、執行緒、寫入測量檔案、訊號6. LabVIEW中的多工LabVIEW使用作業系統提供的搶佔式多執行緒機制的同時,它也使用合作式的多執行緒機制。具有搶佔式多執行緒的作業系統與處理器採用有限數量的執行緒,因而在某些情況下,這些系統會迴歸到使用合作式的多執行緒。執行系統以搶佔式多工的方式處理執行緒;然而,可用執行緒的數目是有限的。對於高度並行的應用,執行系統在可用執行緒忙時使用合作式多工機制。而且,作業系統也是以搶佔式多工的方式來處理應用與其它任務的。

  • 中秋節和大豐收的關聯?
  • 水滸傳20到30回概括?