| 研究生: |
莫家仁 Mo, Jia-Ren |
|---|---|
| 論文名稱: |
嵌入式多處理器作業系統之模擬器 A Simulator for Embedded Multi-processor Operating System |
| 指導教授: |
陳 敬
Chen, Jing |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
| 論文出版年: | 2004 |
| 畢業學年度: | 92 |
| 語文別: | 中文 |
| 論文頁數: | 52 |
| 中文關鍵詞: | 模擬器 、作業系統 、嵌入式 、多處理器 |
| 外文關鍵詞: | multi-processor, Embedded, Simulator, Operating System |
| 相關次數: | 點閱:138 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
本論文描述一嵌入式多處理器系統的模擬器-EMPOSS 的設計與實作,此一模擬器可以模擬嵌入式作業系統所應提供的功能,例如:行程的執行與刪除、行程的排程,記憶體管理、系統資源管理、行程間訊息交換、週邊裝置的輸入輸出等。在實作的過程中,以上所列舉的功能,分別為個自獨立之模組作為系統提供的服務,例如:記憶體管理為一個獨立的模組,主要負責記憶體保護與虛擬記憶體的管理。EMPOSS藉由這些模組之間的互動關係來建立整個作業系統的行為模式。在模擬器的模組中 有一模組稱為 EMPOSSCore,動態地為模擬器產生不同形態的的事件,例如:當某個CPU上有行程在執行時,EMPOSSCore會隨機的產生一資源請求的事件,而CPU接收到該事件時會以為是目前正在執行的行程所發出的資源需求的系統呼叫。因此 每一個事件都可以看作是一個系統的服務,利用這樣的方式來驅動整個作業系統。EMPOSS之實作包含使用者介面,在模擬開始之前,使用者可以設定一些關於模擬時所需要的參數,例如:模擬時間的長度、事件產生的頻繁程度,擷取模擬時系統狀態的次數等等,模擬器利用這些參數來決定此次作業系統的模擬是否為IO導向或是CPU導向,或是行程要求系統資源的程度等。此外,模擬器會統計模擬過程所產生的數據,例如:平均回應時間,每個CPU的使用率,記憶體使用率等,並將統計數據以圖形化的方式呈現。
This thesis describes the implementation of a simulator, namely EMPOSS, for embedded multi-processor operating system with shared memory architecture. The EMPOSS is capable of simulating embedded operating system behaviors such as process execution, scheduling, memory management, resource management, inter-process communication, I/O device access. The core of the simulator is responsible for generating various events to drive the running of entire operating system. A friendly window-based user interface is implemented for user to set parameters before launching the simulation. The parameters are used to describe the properties of the operating system being simulated, including whether the system is I/O bound or CPU bound, how often requests for resources are generated, etc. In addition to issuing various runtime messages, the simulator provides snapshot and trace functions. After simulation, the simulator shows some statistics for analysis purpose, for example: CPU utilization, memory utilization, system throughput, etc. The EMPOSS contains the functions of general operating system. Through the GUI, it is friendly to change the parameter and simulate. The output statistics or messages are helpful if somebody want to understand the mechanism cooperated under the multi-processor operating system. It could be a good tool for education and analysis.
[1] Aleardo Manacero Jr., Marcelo B. Miola and Viviane A. Nabuco, "Teaching Real-Time with a Scheduler Simulator", 31st ASEE/IEEE Frontiers in Education Conference, 2001.
[2] Andrew S. Tanenbaum, "Modern Operating System", 2nd Edition, Prentice Hall, ISBN: 0130313580, 2001.
[3] Andrew S. Tanenbaum and Albert S. Woodhull, "Operating Systems: Design and Implementation", 2nd Edition, Prentice Hall, ISBN: 0136301959, 1997.
[4] Bodhisattwa Mukherjee, Karsten Schwan and Prabha Gopinath, "A Survey of Multiprocessor Operating System Kernels", Technical Report, College of Computing, Georgia Institute of Technology, 1993.
[5] Daniel P. Bovet and Marco Cesati, "Understanding the Linux Kernel", 2nd Edition, O'Reilly, ISBN: 0596002130, 2002.
[6] Gary R. Wright, Wright Gary R. and W. Richard Stevens, "TCP/IP Illustrated Volume 2", Addison-Wesley, ISBN: 020163354X, 1995.
[7] Conexant Corp. , Helium 210-80 Product Brief, http://www.conexant.com.
[8] Hennessy and Patterson, "Computer Architecture: A Quantitative Approach", 3rd Edition, ISBN: 1558605967, 2002.
[9] JANE W. S. LIU, "Real-Time Systems", Prentice Hall, ISBN: 0130996513, 2000.
[10] Jean Bacon and Tim Harris, "Operating Systems: Concurrent and Distributed Software Design", Addison Wesley, ISBN: 0321117891, 2003.
[11] Joachim Blum, "Microkernel Operating Systems in Parallel Architectures", Technical Report, Department of Computer Science, University of Massachusetts Dartmouth, 1994.
[12] M. Bennet and N Audsley, "Predictable and Efficient Virtual Addressing for Safety-Critical Real-Time Systems", ECRTS, 2001.
[13] Maia L.P. and Pacheco A.C., "A Simulator Supporting Lectures on Operating Systems", 33rd ASEE/IEEE Frontiers in Education Conference, November 5-8, 2003.
[14] Mauro Morsiani and Renro Davoli, "Learning Operating Systems Structure and Implementation through the MPS Computer System Simulator", 30th SIGCSE Technical Symposium on Computer Science Education, 1999.
[15] Michael Beck, Harald Bohme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus and Dirk Verworner, "Linux Kernel Internals", Addison Wesley, ISBN: 0201331438, 1997.
[16] Michael Dales, "SWARM 0.44 Documentation", Department of Computing Science, University of Glasgow, 2000.
[17] Michael Kifer and Scott A Smolka, "OSP (An Environment for Operating System Projects)", Addison Wesley, ISBN: 0201548879, 1991.
[18] Intel Corp. , "Multiprocessor Specification Version 1.4", 1997.
[19] Paul Kohout, Brinda Ganesh and Bruce Jacob, "Hardware Support for Real-Time Operating Systems", 1st IEEE/ACM/IFIP International Conference on Hardware/Software Codesign & System Synthesis, 2003.
[20] Satish Chandra, James R. Larus and Anne Rogers, "Where is Time Spent in Message-Passing and Shared-Memory Programs?", 6th International Conference on Architectural Support for Programming Languages, 1994.
[21] SeeMong Tan, David K. Raila, Willy S., Liao Roy H. and Campbell, "Virtual Hardware for Operating Systems Development", TCOS, 1996.
[22] Texas Instrument, "TMS20DSC25 Technical Reference Manual".
[23] Wayne A. Christopher, Steven J. Procter and Thomas E. Anderson, "The Nachos Instructional Operating System", USENIX Winter, 1993.
[24] Witawas Srisa-An, Srisa-an, Chia-Tien Dan Lo and J Morris Chang, "A Performance Analysis of the Active Memory System", ICCD, 2001.