研究生: |
陳右庭 Chen, Yu-Ting |
---|---|
論文名稱: |
Enix: A Lightweight Dynamic Operating System for Tightly Constrained Wireless Sensor Platforms |
指導教授: |
周百祥
Chou, Pai H. |
口試委員: | |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2009 |
畢業學年度: | 97 |
語文別: | 英文 |
論文頁數: | 75 |
中文關鍵詞: | 作業系統 、檔案系統 、動態載入 、虛擬記憶體 、無線感測網路 |
外文關鍵詞: | WSN, operating system, file system, dynamic loading, remote reprogramming |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
摘要
本論文提出了Enix,一個專為無線感測網路(WSN)所設計之輕量化且動態的作業系統。Enix提供合作式執行緒(cooperative threading model),適用基於事件觸發的WSN應用程式,並且只有極低的執行時期負擔。藉由編譯器的幫助,虛擬記憶體也被實做出來,以允許無線感測平台執行大於實體記憶體的應用程式。為了賦予已發佈之無線感測節點(wireless sensor node)更新韌體的能力,Enix也提供執行期間遠端上傳的功能。我們將WSN應用程式的主程式邏輯架構以及函式庫呼叫分開來,每一個無線感測節點都會有一份動態載入函式庫儲存於micro-SD卡內,因此當韌體更新時僅需無線遠端傳輸主程式邏輯架構。Enix同時也包含了一個輕量且有效率之檔案系統EcoFS。全功能的Enix包含EcoFS僅需8KB的程式記憶體以及512 bytes的資料記憶體,是所有WSN作業系統中最輕量的。
Abstract
In this thesis, we propose Enix, a lightweight dynamic operating system for tightly constrained platform for wireless sensor networks (WSN). Enix provides cooperative threading model, which is applicable to event-based WSN applications with little run-time overhead. Virtual memory is also supported with the assistance of the compiler, so that the sensor platforms can execute code larger than the physical code memory they have. To enable firmware update for deployed sensor nodes, remote reprogramming ability is available in Enix. The commonly used library and the main logical structure are separated; each sensor device has a copy of the dynamic loading library in the Micro-SD card, and therefore only the main function and user-defined subroutines should be updated through RF. A lightweight, efficient file system named EcoFS is also included in Enix. The code size and data size of Enix with full-function including EcoFS are 8 KB and 512 bytes, respectively, making Enix the smallest one compared to other WSN OSs.
Bibliography
[1] FreeRTOS. http://www.freertos.org/.
[2] MicaZ. http://www.xbow.com/Products/productdetails.aspx?sid=164.
[3] Portable Formats Speci_cation, Version 1.1.
[4] Adya, A., Howell, J., Theimer, M., Bolosky, W. J., and Douceur, J. R. Cooperative task management without manual stack management. In ATEC '02: Pro-ceedings of the General Track of the annual conference on USENIX Annual Technical Conference (Berkeley, CA, USA, 2002), USENIX Association, pp. 289-302.
[5] Bai, L. S., Yang, L., and Dick, R. P. Automated compile-time and run-time techniques to increase usable memory in MMU-less embedded systems. In CASES '06: Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems (New York, NY, USA, 2006), ACM, pp. 125-135.
[6] Bai, L. S., Yang, L., and Dick, R. P. MEMMU: Memory expansion for MMU-less embedded systems. ACM Trans. Embed. Comput. Syst. 8, 3 (2009), 1-33.
[7] Barr, R., Bicket, J. C., Dantas, D. S., Du, B., Kim, T. W. D., Zhou, B., and Sirer, E. G. On the need for system-level support for ad hoc and sensor networks. SIGOPS Oper. Syst. Rev. 36, 2 (2002), 1-5.
[8] Bhatti, S., Carlson, J., Dai, H., Deng, J., Rose, J., Sheth, A., Shucker, B., Gruenwald, C., Torgerson, A., and Han, R. MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms. Mob. Netw. Appl. 10, 4 (2005), 563-579.
[9] Cao, Q., Abdelzaher, T., Stankovic, J., and He, T. The LiteOS operating system: Towards Unix-Like abstractions for wireless sensor networks. In IPSN '08: Proceedings of the 7th international conference on Information processing in sensor networks (Washington, DC, USA, 2008), IEEE Computer Society, pp. 233-244.
[10] Cha, H., Choi, S., Jung, I., Kim, H., Shin, H., Yoo, J., and Yoon, C. RETOS: resilient, expandable, and threaded operating system for wireless sensor networks. In IPSN '07: Proceedings of the 6th international conference on Information processing in sensor networks (New York, NY, USA, 2007), ACM, pp. 148-157.
[11] CHOUDHURI, S., and GIVARGIS, T. Software virtual memory management for MMU-less embedded systems. Tech. rep., Center for Embedded Computer Systems, University of California, Irvine, NOV 2005.
[12] Dai, H., Neufeld, M., and Han, R. ELF: an efficient log-structured flash file system for micro sensor nodes. In SenSys '04: Proceedings of the 2nd international conference on Embedded networked sensor systems (New York, NY, USA, 2004), ACM, pp. 176-187.
[13] Dunkels, A., Finne, N., Eriksson, J., and Voigt, T. Run-time dynamic linking for reprogramming wireless sensor networks. In SenSys '06: Proceedings of the 4th international conference on Embedded networked sensor systems (New York, NY, USA, 2006), ACM, pp. 15-28.
[14] Dunkels, A., Gronvall, B., and Voigt, T. Contiki - a lightweight and exible operating system for tiny networked sensors. In LCN '04: Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks (Washington, DC, USA, 2004), IEEE Computer Society, pp. 455-462.
[15] Dunkels, A., Schmidt, O., Voigt, T., and Ali, M. Protothreads: simplifying event-driven programming of memory-constrained embedded systems. In SenSys '06: Proceedings of the 4th international conference on Embedded networked sensor systems (New York, NY, USA, 2006), ACM, pp. 29-42.
[16] Eswaran, A., Rowe, A., and Rajkumar, R. Nano-RK: An energy-aware resource-centric RTOS for sensor networks. In RTSS '05: Proceedings of the 26th IEEE Interna-tional Real-Time Systems Symposium (Washington, DC, USA, 2005), IEEE Computer Society, pp. 256-265.
[17] Gay, D. Design of Matchbox, the simple _ling system for motes. www.tinyos.net.
[18] Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., and Culler, D. The nesC language: A holistic approach to networked embedded systems. SIGPLAN Not. 38, 5 (2003), 1-11.
[19] Gu, L., and Stankovic, J. A. t-kernel: providing reliable os support to wireless sensor networks. In SenSys '06: Proceedings of the 4th international conference on Embedded networked sensor systems (New York, NY, USA, 2006), ACM, pp. 1-14.
[20] Gustafsson, A. Threads without the pain. Queue 3, 9 (2005), 34-41.
[21] Han, C.-C., Kumar, R., Shea, R., Kohler, E., and Srivastava, M. A dynamic operating system for sensor nodes. In MobiSys '05: Proceedings of the 3rd international conference on Mobile systems, applications, and services (New York, NY, USA, 2005), ACM, pp. 163-176.
[22] Hill, J., and Culler, D. Mica: a wireless platform for deeply embedded networks. vol. 22, pp. 12-24.
[23] Knuth, D. Fundamental Algorithms, Third Edition. Addison-Wesley, 1997, ch. Section 1.4.2: Coroutines, pp. 193-200.
[24] Koshy, J., and Pandey, R. VMSTAR: synthesizing scalable runtime environments for sensor networks. In SenSys '05: Proceedings of the 3rd international conference on Embedded networked sensor systems (New York, NY, USA, 2005), ACM, pp. 243-254.
[25] Labrosse, J. J. MicroC/OS-II, The Real-Time Kernel 2ND EDITION. CMP Books, 2002.
[26] Levis, P., and Culler, D. Mat_e: a tiny virtual machine for sensor networks. In ASPLOS-X: Proceedings of the 10th international conference on Architectural support for programming languages and operating systems (New York, NY, USA, 2002), ACM, pp. 85-95.
[27] Levis, P., Madden, S., Polastre, J., Szewczyk, R., Whitehouse, K., Woo, A., Gay, D., Hill, J., Welsh, M., Brewer, E., and Culler, D. TinyOS: An operating system for sensor networks. Ambient Intelligence (2005), 115-148.
[28] Madden, S. R., Franklin, M. J., Hellerstein, J. M., and Hong, W. TinyDB: an acquisitional query processing system for sensor networks. ACM Trans. Database Syst. 30, 1 (2005), 122-173.
[29] Mathur, G., Desnoyers, P., Ganesan, D., and Shenoy, P. Capsule: an energy-optimized object storage system for memory-constrained sensor devices. In SenSys '06: Proceedings of the 4th international conference on Embedded networked sensor systems (New York, NY, USA, 2006), ACM, pp. 195-208.
[30] Muller, R., Alonso, G., and Kossmann, D. A virtual machine for sensor net-works. In EuroSys '07: Proceedings of the 2nd ACM SIGOPS/EuroSys European Con-ference on Computer Systems 2007 (New York, NY, USA, 2007), ACM, pp. 145-158.
[31] Nath, S., and Kansal, A. FlashDB: dynamic self-tuning database for NAND ash. In IPSN '07: Proceedings of the 6th international conference on Information processing in sensor networks (New York, NY, USA, 2007), ACM, pp. 410-419.
[32] Park, C., Lim, J., Kwon, K., Lee, J., and Min, S. L. Compiler-assisted demand paging for embedded systems with ash memory. In EMSOFT '04: Proceedings of the 4th ACM international conference on Embedded software (New York, NY, USA, 2004), ACM, pp. 114-124.
[33] Park, C., Liu, J., and Chou, P. H. Eco: an ultra-compact low-power wireless sensor node for real-time motion monitoring. In IPSN '05: Proceedings of the 4th international symposium on Information processing in sensor networks (Piscataway, NJ, USA, 2005), IEEE Press, p. 54.
[34] Park, S., Kim, J. W., Shin, K., and Kim, D. A nano operating system for wireless sensor networks. In Advanced Communication Technology, 2006. ICACT 2006. The 8th International Conference (2006), vol. 1, pp. 4 pp.-348.
[35] Tatham, S. Coroutines in c. http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html.
[36] von Behren, R., Condit, J., and Brewer, E. Why events are a bad idea (for high-concurrency servers). In HOTOS'03: Proceedings of the 9th conference on Hot Topics in Operating Systems (Berkeley, CA, USA, 2003), USENIX Association, pp. 4-4.
[37] Yamashita, S., Shimura, T., Aiki, K., Ara, K., Ogata, Y., Shimokawa, I.,
Tanaka, T., Kuriyama, H., Shimada, K., and Yano, K. A 15 x 15 mm, 1 uA, reliable sensor-net module: enabling application-speci_c nodes. In IPSN '06: Proceed-ings of the 5th international conference on Information processing in sensor networks (New York, NY, USA, 2006), ACM, pp. 383-390.
[38] Zeinalipour-Yazti, D., Lin, S., Kalogeraki, V., Gunopulos, D., and Naj- jar, W. A. Microhash: an e_cient index structure for fash-based sensor devices. In FAST'05: Proceedings of the 4th conference on USENIX Conference on File and Storage Technologies (Berkeley, CA, USA, 2005), USENIX Association, pp. 3-3.