| 研究生: |
陳奕全 Chen, Yi-Chuan |
|---|---|
| 論文名稱: |
可動態重配置嵌入式即時核心之建立 The Construction of Dynamically Reconfigurable Embedded Real-Time Kernel |
| 指導教授: |
陳 敬
Chen, Jing |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2003 |
| 畢業學年度: | 91 |
| 語文別: | 中文 |
| 論文頁數: | 76 |
| 中文關鍵詞: | 核心 、可動態重配置 、即時系統 、嵌入式系統 |
| 外文關鍵詞: | embedded system, dynamic recondifurability, kernel, real-time |
| 相關次數: | 點閱:56 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文探討並實作一基於物件導向技術且具有動態重配置功能之嵌入式即時系統核心。嵌入式系統已廣泛應用於各種領域中,各種應用其所需之核心服務亦不相同,因此在設計核心時,必須考慮到其是否僅針對某些類型之應用而滿足其需求,或是提供較一般性的核心服務以供較多類型之應用程式使用;而設計核心時無法完全預見各種可能的應用需求,若核心架構具備可動態重配置之能力,將能夠隨著不同的應用而彈性地調整服務功能。
本研究所設計的核心架構,其主要目標是針對多樣化的嵌入式應用提供一可動態重配置核心服務功能之架構,使能滿足不同應用程式之特定需求。其可動態重配置 (dynamically reconfigurability)之特性,乃指系統能夠在應用程式執行期間做到系統服務功能之重配置,而靜態重配置性(static reconfigurability)則必須在重配置完成、系統重開機(reboot)後才能有效運作。因此動態可重配置性可應用在系統重置代價較高的即時系統上,使其能夠隨著多重應用來改變系統組態。本核心之系統服務功能則區分為基本服務及可抽換服務:基本服務是指此核心所必須提供之最基本的系統服務功能,可抽換服務則是依照不同的應用需求可動態載入之服務功能。應用程式可動態地選擇核心之可抽換服務,以更有效地滿足其需求,並可節省修改核心後重建及重置系統之時間。
此一系統核心已於一ARM架構之平台實作並具備物件導向設計、高度模組化、高度可攜性等特徵,且具備多工(multitasking)作業、可佔先式(preemptive)工作排程之功能。其所提供的服務功能,可分為六大類:執行緒管理、記憶體管理、計時器管理、信息管理、號誌管理、旗號管理等。應用程式透過一包裝成多種應用程式介面之單一入口服務以使用核心服務功能;核心之可動態重配置性則是由執行時才載入之功能模組及一核心與應用程式間之重配置協定所實作而成。
In this thesis, an object-oriented embedded real-time kernel with the capability of dynamic reconfigurability is designed and implemented. A reconfigurable kernel relieves designers of considering whether the kernel only satisfies the needs of a specific class of applications or provides a general kernel services for a wide range of applications. This is because that when designing the kernel, it is very difficult to foresee completely all possible application demands. If the kernel is eguiped with dynamic reconfigurability, then it could dynamically adjust service functions for different applications, especially, different requirements with the same function services.
The main objective of the reconfigurable kernel architecture designed in this research is to provide an architecture of dynamically reconfigurable kernel services for various embedded applications in order to satisfy different application-specific demands. The dynamic reconfigurability means the system can reconfigure its functions during application execution time, while static reconfigurability requires the system to restart after completing reconfiguration. Therefore, dynamic reconfigurability is desirable in real-time systems running applications with high cost of system shutdown and reset due to function reconfiguration. In our design, the system services provided by the kernel are divided into basic services and replaceable services: the basic services are elementary function services, while the replaceable services are function services consisting of multiple servicing modules. By means of dynamically selecting servicing modules of replaceable services, the demands of different applications can be satisfied effectively.
This kernel is implemented on an ARM7TDMI-based platform with features of object-oriented design, high modularity, high portability, multitasking, and preemptive scheduling. The kernel services are divided into six classes: thread management, memory management, timer management, semaphore management, message management, and flag management. Applications make use of kernel function services through a unified portal service packaged into various application program interfaces. The reconfigurability is implemented by a load-on-execution mechanism and a reconfiguring protocol between applications and the kernel.
參 考 文 獻
[1] A. C. Veitch. A Dynamically Reconfigurable and Extensible Operating System. PhD thesis, Computer Science, University of British Columbia, 1998.
[2] A. S. Tanenbaum. Modern Operating Systems. 2nd ed. Prentice-Hall, ISBN 0-13-092641-8.
[3] A. K. Mok. Fundamental Design Problems of Distributed System for Hard Real- Time Environment. PhD thesis, MIT, 1983.
[4] B. Stroustrup. The C++ Programming Language. 3rd ed. Addison-Wesley Long- man, 2000, ISBN 0-201-70073-5.
[5] B. Sprunt, L. Sha, and J. Lehoczky. Aperiodic Task Scheduling for Hard Real-Time Systems. Journal of Real-Time Systems, July 1989, pp. 27-60.
[6] C.J.J. Paredis, H. Benjamin Brown and P. Khosla. A Rapidly Deployable Manipulator System. in Proceedings of the IEEE International conference on robotics and automation, Minneapolis, Minnesota, April 1996, pp. 1434- 1439.
[7] C. L. Liu, and J. W. Layland. Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment. Journal of the Association for Computing Machinery, January 1973, pp. 44-61.
[8] D. B. Stewart and G. Arora. Dynamically Reconfigurable Embedded Software— Does it Make Sense?. in Proceedings of Real-Time Application Workshop, Montreal, Canada, October 1996, pp.217-220.
[9] D. R. Engler and M. F. Kaashoek, and J. O’Toole Jr. Exokernel: an Operating System Architecture for Application-Specific Resource Management. in Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, December 1995, pp. 251-266.
[10] F. L. F. Stankovic, J. Humphrey, M. Marley, M. Haskins, and J., Jr. A Survey of Configurable Component-Based Operating Systems for Embedded Applicati- ons. IEEE Micro, May-June, 2001, pp. 54-68.
[11] J. W. S. Liu. Real-Time Systems. Prentice Hall,200, ISBN 0-13-096 651-3.
[12] J. J. Labrosse. MicroC/OS-II The Real-Time Kernel. 2nd ed. CMP Books, June 2002, ISBN 1-57820-103-9.
[13] J. Liedtke. Toward Real Microkernels. Communications of the ACM, Septemb- er 1996, pp. 70-77.
[14] J. Liedtke. On μ-Kernel Construction. in Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, December 1995, pp. 237-250.
[15] J. Y. T. Leung and J. Whitehead, On the Complexity of Fixed-Priority Sched- uling of Periodic Real-Time Tasks, Performance Evaluation, Vol. 2, No. 4, 1982, pp.237-250.
[16] M. Accetta, R. Barcon, W. Bolosky, D. Golub, R. Rashid, A. Tevanian and M. Young, Mach: A New Kernel Foundation for UNIX Development. in Proceedin- gs of the Summer 1986 USENIX Conference, July 1986, pp. 93-112.
[17] M. Gien. Microkernel Architecture— Key to Modern System Design. UNIX REVIEW, November 1990, pp. 1-10.
[18] R. Campbell, G. M. Johnston, P. W. Mandany, and V. F. Russo. Principles of Object-Oriented Operating System Design. Technical Report R89-1510, University of Illinois at Urbana Champaign, July 26, 1991, pp. 1-17.
[19] R. Campbell, N. Islam, D. Raila and P. Madany. Designing and Implementing Choices: an Object-Oriented System in C++. Communications of the ACM, September 1993, pp. 117-126.
[20] R. Turner, R. Woods, S. Sezer and J. Heron, A Virtual Hardware Handler for Run-Time Reconfiguration Systems. Reconfigurable Systems of IEE Coll- oquium on, March 1999, pp.1-5
[21] T. E. Bihari and P. Gopinath. Object-Oriented Real-Time Systems: Concepts and Examples. IEEE Computer, December 1992, pp. 25-32.
[22] V. F. Russo. An Object-Oriented Operating System. PhD thesis. University of Illinois, 1991.
[23] W. Cheung and L. A. Exploring Issues of Operating Systems Structuring: from Microkernel to Extensible Systems. ACM Operating Systems Reviews, October 1995, pp. 4-16.