Can you summarize the following document?
        
  通常,實時作業系統分為兩大類:  時間觸發型設計往往比較嚴格地排程任務,具有更好的多工處理能力。多個任務被不停地輪流排程,在巨集觀上,就相當於一個CPU同時執行多個任務。  在過去,CPU在切換任務時往往需要多個機器週期,在這段時間內,CPU不能處理其他任何任務。例如,一個20 MHz的摩托羅拉68000處理器(1980年代後期),在切換任務時需要花費20微秒。(相比之下,一個100 MHz的ARM架構的處理器(2008年之後的)只需要3微秒。)因此,早期的實時作業系統通過減少任務切換次數來避免消耗過多CPU時間。

  在典型的設計中,一個任務有以下三種狀態:  由於CPU在某個時間只能執行一個任務,大部分任務,在大部分時間,處於阻塞或待命狀態。可能會有大量專案在待命列表裡等待執行,這取決於系統所需的任務數量以及排程器的型別。  通常情況下,對於簡單的時間觸發式排程器來說,待命任務列表的資料結構的設計要儘可能縮短最壞情況下,程式在排程器關鍵部分的執行時間,以防止其他任務一直在待命列表中,無法及時執行。因此,在這種排程器中,應儘可能避免搶佔式任務,甚至應該關閉排程器之外的所有中斷。當然,待命任務列表的資料結構也應根據這個系統需要的最大任務數量做進一步的優化。  如果待命任務列表中的任務較多,雙向連結串列是一個比較好的選擇。如果待命任務列表通常包含少量任務,但偶爾會出現較多工,任務應該根據優先順序排序。這樣一來,要尋找最高優先順序的任務,就不必要在整個列表中一個一個地尋找。而插入任務需要從列表中的第一個任務開始,向後尋找,直到找到比要插入的任務優先順序低的任務,然後插入到該任務之前;如果沒有找到優先順序更低的任務,就插入到任務列表末尾。  在尋找任務列表,準備插入任務的過程中,應該注意避免搶佔。長的關鍵部分應分為多個小的部分分別執行。如果在尋找任務列表,要插入低優先順序任務的時候,一箇中斷髮生使高優先順序任務進入待命狀態,高優先順序任務應該在低優先順序任務被插入之前立刻被插入列表和執行。  在更先進的系統中,實時任務和許多非實時任務共享運算資源,這時候待命任務列表會變得很長。在這種系統中,待命任務列表可能不適合用連結串列的結構。

  一些實時作業系統中常用的演算法:

  WinCE、VxWorks、μC/OS-II等運用較廣。Linux是作為通用作業系統開發的,其核心在實時處理能力上先天不足,部分網路開發社群將其經過改造能在一定程度上成為實時作業系統。
即時作業系統(英語:Real-time operating system, RTOS),又稱實時作業系統,它會按照排序執行、管理系統資源,併為開發應用程式提供一致的基礎。