[發明專利]獨立主動構件和可運行主動構件組裝模型及構件拆分方法有效
| 申請號: | 201310020477.1 | 申請日: | 2013-01-18 |
| 公開(公告)號: | CN103473032A | 公開(公告)日: | 2013-12-25 |
| 發明(設計)人: | 龍建 | 申請(專利權)人: | 龍建 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京市盛峰律師事務所 11337 | 代理人: | 趙建剛 |
| 地址: | 213001 江蘇省*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 獨立 主動 構件 運行 組裝 模型 拆分 方法 | ||
技術領域
本發明屬于計算機技術領域,具體涉及一種獨立主動構件和可運行主動構件組裝模型及構件拆分方法。
背景技術
眾所周知,軟件設計的終極目標為:真實世界是什么樣子,軟件就應當設計成什么樣子,從而實現通過軟件模擬真實世界的目的。由于真實世界是紛繁復雜地,如實地模擬真實世界往往并不容易。前人經過多年的實踐發現,軟件系統對真實世界的每個細節模擬得越逼真,軟件就越容易設計、理解與維護。由于面向對象編程真實地模擬了現實世界的事物,容易理解、方便維護、容易變更,因此,面向對象編程取代了面向過程編程,成為目前主流的編程方式。
然而,由于硬件成本等多種因素的限制,在現實世界中,無處不在的、多個對象同時動作的“并行”活動,在單臺計算機中,卻極少能夠真實模擬。現代計算機軟件系統中,絕大部分都只呈現“偽并行”活動:從宏觀上看,一臺計算機能夠同時執行多個任務、多個程序,若干對象同時在運行;但從微觀上看,在任一瞬間、任一時刻,則只有一個程序在運行。由于處理器速度非常快,它在幾個程序間來回快速切換,經過稍長一段時間,我們就覺得這幾個程序是在同時執行、同時活動。這種現象,通常稱之為“并發”,以區分嚴格意義上的“并行”活動。
一般在操作系統等中低層軟件中,提供相應的并發技術實現機制,并對外提供專門的并發服務接口,以便上位程序能完成并發活動。上位應用程序,則調用這些并發服務接口,使自己呈現為一個或多個并發的任務。
并發實體(任務、進程、線程、纖程等)間的調度操作(用于操作系統、軟件總線等),提供了并發技術的實現機制。現代操作系統中,剝奪式調度是普遍采用的調度策略。但它具有若干致命弱點,試列舉如下:
(1)堆棧空間問題:剝奪式調度隨時可能打斷并發實體的執行過程,因此需要保護與恢復并發實體運行環境(最少需要包含指令寄存器等),這需要RAM堆棧空間。在普通運行場合(如PC機),這個問題不突出。但在大量并發實體(如單片機在數千網絡連接)的情況下,問題將變得相當突出;在RAM稀缺的特殊場合(如WSN應用)下,調度將變為不可行。
(2)執行效率問題:由于需要保護與恢復并發實體運行環境,這部分調代碼的執行是必須增加的。在非常輕量級調度的情況(如TinyOS)下,相對于調度整體執行時間,它所增加的執行時間是非常可觀的,嚴重影響了輕量級調度的執行效率。
(3)競爭共享問題:剝奪式調度隨時可能打斷并發實體的執行過程,因此,所有并發實體間共享的數據與資源,都成為被競爭的對象,變成臨界資源。如果把所有的這些被競爭對象,都用臨界區或其它統一的通用措施保護起來,那么系統的整體運行效率將會降低到不可接受的程度。如果精心設計共享結構,只采用通用措施保護部分對象,則在編程與維護代碼時,稍不當心就會引發臨界資源競爭導致的時序故障(這類故障還特別難以重現與定位),對編程人員與維護人員的職業素養要求將會提高很多,提高了設計與維護成本,降低了系統可靠性。特別是對于大量無規律的共享并發數據(如上百個不同的特殊線程),在編程實踐中,一般開發人員都望而生畏,除非特別必要,均避而遠之。
(4)競爭復用問題:前述為了效率提升而進行優化的數據共享設計,會帶來代碼復用性問題。由于針對項目的競爭環境,采用了針對性地消除競爭的共享數據保護代碼,這些代碼一般不具備普遍的通用性。即使對于其它非常相似的項目,也很有可能面對的是其它不同的數據競爭條件,因此,需要做出另外優化的數據共享設計,不能直接復用原來模塊。
TinyOS是加州大學伯克利分校(UC?Berkeley)為無線傳感器網絡WSN(Wireless?Sensor?Network)開發的微內核操作系統。TinyOS的兩層調度方式為:任務調度與硬件事務調度。硬件事務調度由硬件中斷激活,可搶占普通任務,主要用于高優先級的快速實時響應。它基本雷同于一般中斷處理程序,稍有出入的地方在于:它可以向任務調度發送信號,激活普通任務;同時,還能利用nesC關鍵字async的異步能力,直接調用進入到nesC構件系統中,調用構件中的命令處理函數,并給構件發送異步事件。
TinyOS的基本任務為無參數函數。任務調度采用協同式的先進先出(FIFO)算法,任務之間互不搶占,沒有優先級之分。一旦一個任務獲得了處理器,就一直運行到結束。一般用于對時間要求不高的應用,本質上是一種延遲計算DPC(Deferred?Procedure?Call)機制。TinyOS?2.x調度器可由用戶定制與替換。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于龍建,未經龍建許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310020477.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:終端進行系統升級后生效的方法及該終端
- 下一篇:漢語數音一位權碼拼音輸入法





