2012年1月26日 星期四

INtime RTOS

INtime 即時操作系統簡介

    目前,人們正在越來越多地選擇Microsoft Windows XP 和Windows XP Embedded 作業系統來運行滿足某種特定需求的專用應用程式。Windows XP Embedded 與 Windows XP 桌面軟體是基於相同的二進位檔,它們在許多方面都是可供選擇的最佳平臺。但是,當應用需要作業系統提供嚴格的即時介面和功能時, Windows XP Embedded 和 Windows XP 由於自身的原因而無法滿足設計者的要求。
      針對這方面的需求,人們已經開發出很多面向 Windows XP 平臺添加即時擴展的方案,向Windows XP 內核設備驅動程式級提供某種即時功能,但此類解決方案基本上都沒有考慮開發環境的易用性和健壯性,也沒有考慮和已有的廣泛的Windows 應用程式資源分享。
    
      INtime 軟體不僅能在Windows 環境中為應用程式添加時間確定性的行為,而且使那些即時應用程式能夠達到健壯、可靠和可伸縮性。TenAsys 的設計使INtime 能可靠的在Windows 系統中運行,且不影響Windows 的原來的應用,同時也保證Windows 的重大錯誤不會傳遞給INtime 而導致整個系統崩潰,甚至不影響其他應用程式(它們之間存在顯式交互的情形除外)。
TenAsys INtime 軟體所採取的方法是在載入 Windows 作業系統的同時載入一個即時操作系統,以便它們共用相同的 CPU 和中斷硬體,但在其他方面相互獨立。每個作業系統都被封裝為一個虛擬機,各自具有自己的描述符表、記憶體管理等等。當即時活動必須發生時,電腦上下文將切換到該即時操作系統。當這些活動完成後,電腦上下文將切換回Windows 作業系統。因為INtime 即時操作系統獨立於 Windows 作業系統軟體,所以可以增強運行即時進程的環境,以及添加附加功能以提高整個平臺的健壯性。
      添加INtime 即時功能的平臺的典型案例是將應用分成兩種不同的部分:一些部分不需要即時服務,而利用 Windows XP 平臺的功能;另一些部分需要即時內核的即時性能。進程間通訊 (IPC) 服務從即時內核進行擴展,以使 Windows 應用程式能夠共用對在即時內核上創建的物件的訪問。資料獲取應用程式即為一個簡單的例子,其中即時進程負責驅動硬體介面和處理收到的資料,而 Windows 進程提供操作員介面並顯示結果。這兩種進程都可以用 Microsoft Visual Studio 工具開發,其中 C 和 C++ 由即時環境進行支持。
       TenAsys Corporation 的 INtime 軟體被設計為不僅能夠向 Windows 平臺添加即時功能,而且其添加這些功能的方式能夠為即時應用程式提供可靠且可伸縮的平臺。如果將該解決方案與Windows XP Embedded 配合使用,則能夠為您的嵌入式設備提供健壯的、可伸縮的、確定性的作業系統。

     採用多核處理器且面向 Windows® 的INtime® RTOS,實現可靠的即時決策機制

即時技術領域的虛擬化專家
      TenAsys® 即時虛擬機技術可整合多個硬體平臺,有效消除冗餘硬體。面向 Windows® 的 INtime® RTOS 允許單個嵌入式 PC 平臺同時支援 Microsoft® Windows® 和 INtime RTOS,並共用處理器、記憶體和 I/O 資源。
 
     在單個硬體平臺上託管 Windows 和 RTOS 可有效降低系統成本,最大限度縮短工程開發時間並減少工作。

多核處理器帶來的強化效果
       多核處理器能夠最大限度減少重要資源間的爭用,進一步增強面向 Windows 的 INtime RTOS 解決方案。TenAsys 虛擬化技術能夠將一枚處理器內核指派給 INtime RTOS,這樣即使發生最嚴重的中斷延遲也不會超過 3 微秒。

為 Windows 加入真正即時性能的最佳解決方案
       面向 Microsoft Windows 的 INtime RTOS 是目前唯一受到完全保護的虛擬機解決方案,可有效構建與 Windows 作業系統同時運行於共用硬體平臺的即時應用。INtime 應用可部署在 Windows Vista、Windows XP 和 Windows XP Embedded 系統中。

經現場證實的即時技術
      TenAsys 即時操作系統擁有超過 25 年的可靠現場技術經驗,已廣泛應用於全球幾千項應用中,累計無故障執行時間達數百萬小時。INtime 解決方案中包含進程間通信與同步機制的完整元件,完全能夠滿足要求最苛刻應用的需求。


熟悉的開發環境
        採用 Microsoft Visual Studio(用於構建標準 Windows 應用 的同一工具),用戶無需掌握新的開發工具,就能編輯、編譯和調試 INtime 應用。這就節約了大量時間,簡化了系統的開發與維護工作。



通過整合降低成本,提高性能
       在英代爾® 多核處理器平臺上運用 INtime RTOS 技術可獲得如下優勢:消除冗餘硬體;加快 RTOS 與 Windows 應用之間的通信和協作;改進可靠性和穩固性;簡化開發及調試。過去需要用到多種離散計算平臺的系統,現在可將這些平臺整合到單個硬體平臺上,從而有效節約設計、製造和維護方面的成本。


TenAsys 將確實的即時可靠性帶入 Windows XP Embedded 系統

       INtime 軟體將擁有決定性及確實的即時控制以及 Windows XP Embedded 結合,而且不需要另外的硬體。INtime 是為了利用 x86 處理器結構強大能力的優勢所設計。在單一電腦上使用不同的虛擬機器來執行即時與非即時應用程式,為了節省成本及可輕鬆開發與維護的可靠性控制。
Windows 技術的優點
        一些內嵌應用程式要求確實的即時決定論加上 Windows XP Embedded 技術的優點。這些包括工業控制、醫療影像裝置、工廠機器人及空中交通管制系統。

       根據 TenAsys Corporation 的資深技術行銷工程師 Paul Fischer 表示「有時候 OEM 想要利用現成的 32 位元 Windows 應用程式或者其他第三方的 Windows 應用程式,於是他們想:何不使用同一個平台來做重要的即時電腦運算呢?」

      Fischer 瞭解軟體開發就是 OEM 想以 Windows XP Embedded 來執行即時應用程式的一個主要原因。「大多數的開發團隊只習慣使用所有熟悉的工具及 Windows 相關的技術,像 Visual Studio .NET 及 C++ 程式語言,而不是購買及學習即時作業系統專用的工具。」

雙電腦對單電腦
       設計者通常加入第二個電腦當作專用即時元件,以平衡 Windows 的彈性與內嵌應用程式的決定性要求。然而,這個「雙電腦雙 OS」解決方案卻增加了實質商品的成本、製造的難度及系統對系統的協調問題。

     「單電腦雙 OS」系統中,一個 CPU 主管 Windows XP Embedded 系統與即時 OS (RTOS),大大地減少商品成本及複雜度,並且簡化了 Windows 與即時處理器之間的協調。它還可減少設計成本,此成本是由花費在工程工具及員工身上的時間與努力所測量出來。
 
        Fischer 提到:「藉著在其中一個虛擬機器上執行即時作業系統,雙電腦雙 OS結構轉換成單電腦雙 OS 解決方案。」

      TenAsys 的 INtime RTOS 在虛擬機器與 Windows XP Embedded 上執行以完成單電腦雙 OS 解決方案。藉由提供包含應用程式即時元件的獨立確實即時虛擬機器,INtime RTOS 虛擬機器成功地將 Windows 應用程式延伸至即時網域。

      「一個完整的即時 Windows 應用程式由非即時程序和執行緒以及即時程序和執行緒所組成。」Fischer 解釋。「當非即時程序處理人機介面、網路通訊及資料儲存的同時,即時程序通常處理緊急的資料擷取及控制。」

如何運作
     完整的「單電腦雙 OS」系統由下列主要元件所組成:
  • 標準 Windows XP Embedded:非即時程序與執行緒在 Windows 核心正常執行。現成的 Windows 應用程式不需變更即可使用,它們沒有即時核心方面的認知。
  •  即時核心與 API:即時核心提供決定性的排程以及執行即時程序與執行緒。即時插斷與執行緒先執行所有 Windows 執行緒,並終止非即時插斷。即時應用程式利用即時 API 存取即時核心的功能。
  • NTX API & DLL:The NTX 介面提供一種 Windows 虛擬機器與 INtime 虛擬機器之間的溝通機制。NTX 針對應用程式提供了各種共享物件的管理存取,例如信箱、旗號、mutex 及共享記憶。
  • OS Encapsulation Mechanism (OSEM):The INtime OSEM 管理虛擬機器以確保 Windows 核心及即時核心的同步操作及完整性。虛擬機器機制提供 Windows 程序及即時程序間的記憶保護與位址隔離。

腦數值控制器可結合硬式即時作業系統 (Hard RTOS) 與 Windows 可用性
         CNC 是內嵌 Intel Pentium-4 微處理器的自訂電腦,它提供操作員主控台功能、按鈕控制以及觸控式螢幕介面,而不需要指標裝置。此裝置也結合 USB 介面以連接不同的裝置,例如快閃磁碟、印表機、數位相機、備份資料的 CD/DVD 光碟機、內部存取及檔案傳輸所需的網路連線,以及遠端診斷及更新所需的內建數據機。

這個裝置何以如此優秀
       CNC 是一個指揮機械工具移動及動作的可程式化機器系統,包括從鑽機或車床到研磨機、刨木機或薄金屬機件。一般的 CNC 在專用或商用即時作業系統 (RTOS) 中執行,對圖形、週邊、網路、安全性、語言或應用程式開發的支援微不足道。

       由於了解軟體為解決方案中的重要部分,ANCA Pty. Ltd 在軟體平台上建置新的 5DX CNC 控制系統,結合了 Microsoft Windows XP Embedded 的彈性及通融性,以及 Windows Embedded 合作夥伴 Tenasys 的 INtime RTOS 確實的即時一貫性及可靠性。5DX CNC 是一個跨時代的進步,因為它提供了單一硬體平台來服務機器控制及使用者介面功能。

       ANCA 軟體團隊領導人 Gerard Cullen 解釋:「我們需要 3D 的資料呈現以及 Windows 的使用者介面,但必須維護數值控制所要求的精確時機」。「結合 Windows XP Embedded 及 INtime 是我們的秘密武器—這是超越競爭者的一個重要優勢。」

      Windows XP Embedded 所提供的科技優勢是非常重要的,ANCA 原本是為了它的磨碎機而發展出 5DX CNC,後來卻發現將 CNC 賣給其它機械工具 OEM 是一個廣大的市場。 Techni WaterJet 就是一個例子,這是一家製造高壓水柱 2D/3D 切割機械的莫爾本製造商。

       學習 ANCA 的 5DX CNC 之前,Techni WaterJet 一直使用其他供應商的動態控制卡 (Motion Controller Card) 及 PC 執行 Windows。但這個解決方案非常不可靠,供應商也沒辦法提供服務。

        根據 Techni WaterJet 的總經理 Darren Reukers 表示「來自 ANCA 且以 Windows Embedded 為基礎的 CNC 與我們之前解決方案的花費差不多,然而,卻更加有能力、更加可靠且更加有彈性,也帶給我們更好的使用者經驗。事實上,Microsoft Windows 技術包含在 CNC 之中,而我們可以感受到它所帶來的價值,這意味著我們能以更快的速度來銷售更多的水柱切割機,並從產品中獲得更高的利益。」

Windows XP Embedded 發起的革新  
        根據 Windows XP Embedded 作業系統中所能找到的進階功能,5DX CNC 控制系統引進了數個重要的革新,這些革新是為了滿足逐漸成長的顧客需求。改善了包括熟悉且好用的圖形使用者介面 (GUI);這是一個擁有豐富資源的整合開發環境,並且支援廣大的第三方硬體軟體產品。

使用者熟悉 Windows GUI
       Windows XP Embedde 以點選 (point-and-click) 圖示為基礎的 GUI,幾乎讓每一個用過以 Windows 為基礎的電腦的人都能立刻上手。這是 Techni WaterJet 顧客的一個重要優勢,就是趨向於只有有限員工訓練資源的一個小型機械商店或者零件供應商。

      「一個熟悉的使用者介面意謂著機械工具操作員能很快的操控應用程式。」Reukers 表示。「顧客很喜愛這個事實,那就是您不需要一個要求高薪、有經驗的商人來操控我們的 CNC 切割機。Windows GUI 讓即使是新手的操作員很快就能操控 CNC,然而,它也能防止不當使用而破壞昂貴的機械工具。」

豐富的開發環境
      TWindows XP Embedded 帶來一個豐富的開發平台,讓 ANCA 建置一個完全符合本身與其客戶所要求的裝置。ANCA 事業開發經理 David Fisher 解釋:「Windows Embedded 給我們國際性技術上的支持,例如多種輸入語言。」「我們已經建立了支援高達十五種不同語言的機械,也簡化了將 5DX CNC 轉換成其他語言的過程。」

        支援 Windows XP Embedded 的強力工具也讓整合 CNC 高層顧客應用程式變得更簡單,對於將 CNC 販售給工業製造商與其他 OEM 來說是非常重要的。「每個人都有需要轉換成執行新機械工具的應用程式。」Fisher 補充。「Windows XP Embedded 其中一個很大的優勢在於我們可以快速地將製造商的製圖轉換成自訂的程式,並且在磨碎機上執行。對於我們事業中 OEM 的部分,每家公司很快就能適應在幾乎每一個機械工具系統中使用 5DX CNC。」

       「Windows XP Embedded 技術讓我們在四個月內,不論在時間及預算上,將 Softec Waterjet 軟體應用程式整合的天衣無縫。」Reukers 說。「舉例來說,我們使用 Microsoft Visual Studio 來編寫 Windows 應用程式發展介面,節省了好幾個星期的編碼時間。」

支援第三方產品
       由於 Windows XP Embedded 是 Windows XP Professional 的元件版本,開發者喜歡能支援大範圍的桌上型硬體設備。

      根據 Fisher 的說法,在 Windows 平台上建置他們的系統能讓 ANCA 取得新且有用的裝置,包括「傳輸資料及程式的 USB隨身碟、複雜互動的觸控式螢幕,以及連接 CNC 至內部製造商網路及控制系統的網路介面。」

    「我們最近將機械圖像系統與機械整合,並且不到兩個星期就發展出一個全新的應用程式及產品。」Fisher 繼續說明。「使用 Windows XP Embedded 編寫及安裝一個裝備的驅動程式是很簡單的,我們自信可以在很短的時間內依客戶要求加裝新的 PC 硬體零件。實際上有無限的選擇。」他結束了這次的談話。


INtime:將決定性、即時的控制新增到 Windows XP Embedded
        Microsoft 與 TenAsys 公司的業務行銷總監 Kim Hartman 對談關於 INtime 軟體如何將決定性、即時的能力新增到 Windows XP Embedded 和其他 Windows 平台。

問: 一開始我想請問,客戶怎麼知道自己是否需要決定性的作業系統?您是否可提供相關的指引?
答: 客戶可以把它想像成自己正置身於自家的新 Windows XP Embedded 式產品的測試版 (beta) 這個時間點。參與測試的客戶回報說當您的應用程式與某些東西一起用時反應不太相同,包括那些看似不太相關的動作,像是滑鼠點選、開啟 DVD 光碟機、或是接上網路線時。這些狀況並不是每次都發生,但您的測試客戶普遍都遇到這樣的情況。結果,輕則造成不便,重則像是遇到災難般。其實這些狀況大部分都指向同一個問題:因為缺乏 hard real time 的即時決定機制而導致。

例如,這個新系統是用來控制數個輸送帶上多達上萬個包裹的分類,整個系統必須能夠緊密無間、精確地運作。系統中有機器手臂負責把不斷餵入系統的包裹移到分類接收槽內。當這個機器手臂的動作慢了半拍或者是沒動的話,那後果真是不堪想像。可能的結果就是包裹被分錯,送到不正確的目的地,或者就直接掉到地板上。不管是哪一種情況,對想採用您的產品的客戶來說或供應商來說,都是不能接受的。

您的新產品免除了使用多餘電腦硬體的必要,所以成本比先前版本減少一半。另外,您把後端伺服器與產品整合,能夠追蹤原物料在廠內的流動,並且也整合了工作站本身的訓練。而使用 Windows XP Embedded 除了可省下大幅的成本,還具有無限的功能。但是,除非系統能夠運作無誤,否則這樣的產品不會有銷路。

從前您用兩部電腦來處理這類的任務,所以系統穩定可靠地運作。這兩部電腦其中之一執行 Windows,另一部則是執行即時作業系統 (RTOS) 。現在商品的成本大量下降,所以您認為應該有新的解決方案出現。的確是有。使用更高速的處理器並不會使 Window XP Embedded 更具決定能力。您需要的是讓硬體恢復到可信任的 RTOS 水準,但要怎麼做呢?

問: 您對這個市場的解決方案是什麼?
答: TenAsys 精心開發 INtime 產品,是 Windows XP、Windows 2000 和 Windows NT 在即時方面的延伸。INtime 軟體可以新增到任一標準的 Windows 個人電腦平台,不管它的複雜度如何,都能使其達到完全的決定性控制。我們的技術讓顧客能利用所有標準 Windows 的功能和應用程式,來撰寫 hard real-time 應用程式。

問:INtime 的優點為何?
答:INtime 是一個完全獨特的即時能力延伸產品,能與 Windows XP、Windows 2000 和 Windows NT 共同使用。它實際上本身是一個個別的 RTOS。 INtime 以無人能及的方式來利用個人電腦平台的先進能力,使得用 INtime 就像執行兩個電腦系統,但卻是在一個平台上執行。我們使用歷經產業界考驗的 RTOS 技術,以精準和保護的方式來處理您系統的決定性問題。INtime 和 Windows 作業系統是來自這兩個領域的最佳組合。

問:INtime 的背景為何?
答:INtime 的核心 (kernel) 是從所有 RTOS 的遠祖,也就是 Intel 的 iRMX 而來。因為在 MS-DOS 之前就已經使用,其它 RTOS 技術均未經過如此累積的測試和修正,能以高精確度和保護性來操作個人電腦硬體。在系統運作時,INtime 留駐在自己的虛擬機器內,保護免受其他 Windows 作業系統進行中程式的干擾。您的 INtime 式即時應用程式也在完全保護免受其它程序的干擾下執行,就像是充分被保護的作業系統一般。

     據我所知,以 Windows XP 系統來運作決定性控制問題這方面,沒有其它解決方案能夠做到這種程度的保護和可靠性,而且沒有一個方案像 INtime 一樣具擴充性 。使用 INtime,您可以自由增加多達 8000 個物件到您的即時應用程式。這種彈性和能力,可打造出想像中最複雜和繁重的系統,全部都具有比 Windows 端發生的程序有更高的優先權。INtime 具有許多專用的即時介面,包括 TCP/IP 堆疊、USB、各式各樣的工業控制介面與 COM 驅動程式。作業系統支援 256 個等級的優先權、遞迴排程、中斷支援,全部都可以從您的使用者模式即時程式碼以存取服務的方式來使用。

問:開發人員可以使用 Microsoft Visual Studio® 撰寫針對 INtime 的應用程式嗎?
答:當然可以。開發人員能用其標準的 Visual Studio 6.0 或 Visual Studio.NET 整合開發環境 (IDE),來開發各種的即時應用程式。在撰寫即時應用程式時,開發人員可以使用我們的 INtime 應用程式介面 (API) 或 Microsoft Win32® 子集,來使用完全的控制。此外,也能利用我們的 Windows-to-INtime (NTX) 的連接 DLL,來存取即時物件以撰寫 Windows 應用程式。而我們的 INtex (INtime Explorer),和 INscope 即時效能分析程式則可用來監視和測量您的應用程式的 hard real-time 效能。

我要提醒大家,不要在自訂驅動程式或在核心模式延伸中來修正您遇到的時間問題。使用 INtime,則可提供您的應用程式一個堅若磐石、絕對決定性的使用者模式執行環境。

關於 TenAsys
       TenAsys 是一家專注在以 x86 平台為基礎的即時作業系統技術軟體公司。TenAsys RTOS 產品,包括 iRMX、iRMX for Windows 和 INtime,已經在全球各地數百個關鍵任務應用上使用超過 23 年。

     造訪在 http://www.tenasys.com 的公司網站,可以取得更多關於 INtime 和 TenAsys 的資訊。
http://www.sr-business.com/intime/cpjs.html

Evaluate the INtime RTOS for Windows for free
http://www.tenasys.com/resources/trials-submit.php

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。