อ่าน 3 นาที
นาโน-อาร์เค
Nano-RKเป็นระบบปฏิบัติการแบบเรียลไทม์ (RTOS) สำหรับเครือข่ายเซ็นเซอร์ไร้สาย จากมหาวิทยาลัยคาร์เนกีเมลลอนซึ่งออกแบบมาเพื่อใช้งานบนไมโครคอนโทรลเลอร์ในเครือข่ายเซ็นเซอร์ Nano-RK...
นาโน-อาร์เค
| นาโน-อาร์เค | |
|---|---|
| นักพัฒนา | มหาวิทยาลัยคาร์เนกีเมลลอน |
| เขียนเป็น | ซี |
| สถานะการทำงาน | เลิกผลิตแล้ว |
| แบบจำลองแหล่งที่มา | โอเพนซอร์ส |
| การเผยแพร่ครั้งแรก | ธันวาคม พ.ศ. 2548 |
| เวอร์ชันสุดท้าย | ฉบับแก้ไขครั้งที่ 427 / 12 กุมภาพันธ์ 2551 |
| กลุ่มเป้าหมายทางการตลาด | เครือข่ายเซ็นเซอร์ไร้สาย |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| แพลตฟอร์มที่รองรับ | ชิป Atmel FireFly, โมดูล MicaZ, MSP430 |
| ประเภทเคอร์เนล | ระบบปฏิบัติการแบบเรียลไทม์ |
| ส่วนติดต่อผู้ใช้เริ่มต้น | อินเทอร์เฟซบรรทัดคำสั่ง |
| ใบอนุญาต | ลิขสิทธิ์ทั่วไปหรือเชิงพาณิชย์ |
Nano-RKเป็นระบบปฏิบัติการแบบเรียลไทม์ (RTOS) สำหรับเครือข่ายเซ็นเซอร์ไร้สาย[ 1 ] [ 2 ]จากมหาวิทยาลัยคาร์เนกีเมลลอนซึ่งออกแบบมาเพื่อใช้งานบนไมโครคอนโทรลเลอร์ในเครือข่ายเซ็นเซอร์ Nano-RK รองรับตัวกำหนดตาราง เวลาแบบลำดับความสำคัญคงที่ที่สามารถแย่งการทำงาน ได้อย่างสมบูรณ์พร้อมด้วยกลไกการกำหนดเวลาแบบละเอียดเพื่อรองรับชุดงานแบบเรียลไทม์ คำว่า "Nano" หมายความว่า RTOS มีขนาดเล็ก โดยใช้หน่วยความจำเข้าถึงแบบสุ่ม (RAM) 2 KB และ หน่วยความจำแฟลช 18 KB ในขณะที่RKย่อมาจากresource kernel resource kernelจะจัดสรรการสำรองทรัพยากรของระบบ ตัวอย่างเช่นงานอาจได้รับอนุญาตให้ทำงานได้เพียง 10 มิลลิวินาทีทุกๆ 150 มิลลิวินาที (การสำรอง CPU) หรือโหนดอาจได้รับอนุญาตให้ส่งแพ็กเก็ตเครือข่าย ได้เพียง 10 แพ็กเก็ตต่อนาที (การสำรองเครือข่าย) การสำรองเหล่านี้จะสร้าง งบประมาณพลังงานเสมือนเพื่อให้แน่ใจว่าโหนด มีอายุการ ใช้งานแบตเตอรี่ ตามที่ออกแบบไว้ และเพื่อป้องกันไม่ให้โหนดที่ล้มเหลวสร้างปริมาณการรับส่งข้อมูลเครือข่ายมากเกินไป Nano-RK เป็นซอฟต์แวร์โอเพนซอร์สเขียนด้วยภาษาCและทำงานบน แพลตฟอร์มเครือข่ายเซ็นเซอร์ FireFly ที่ใช้ Atmel , motes MicaZ และโปรเซสเซอร์MSP430 [ 3 ]
การแลกเปลี่ยนเกิดขึ้นเมื่อใช้ RTOS ในเครือข่ายเซ็นเซอร์[ 4 ]
ข้อดี
NanoRK ใช้ประโยชน์จากการจัดกำหนดการแบบ preemptive ตามลำดับความสำคัญเพื่อช่วยรักษาปัจจัยแบบเรียลไทม์ของความแน่นอนจึงมั่นใจได้ถึงความตรงต่อเวลาและการซิงโครไนซ์ของงาน เนื่องจากลักษณะเฉพาะของพลังงานแบตเตอรี่ที่จำกัดในโหนดไร้สาย Nano-RK จึงให้ ประสิทธิภาพ ของหน่วยประมวลผลกลาง (CPU) เครือข่าย และเซ็นเซอร์ผ่านการใช้การสำรองพลังงานเสมือน โดยเรียกระบบนี้ว่า resource kernel การสำรองพลังงานเหล่านี้สามารถบังคับใช้งบประมาณด้านพลังงานและการสื่อสารเพื่อลดผลกระทบเชิงลบต่ออายุการใช้งานของโหนดจากข้อผิดพลาดโดยไม่ตั้งใจหรือพฤติกรรมที่เป็นอันตรายของโหนดอื่น ๆ ภายในเครือข่าย รองรับการส่งต่อแพ็กเก็ต การกำหนดเส้นทาง และโปรโตคอลการจัดกำหนดการเครือข่ายอื่น ๆ ด้วยความช่วยเหลือของสแต็กเครือข่ายไร้สายที่มีน้ำหนักเบา เมื่อเปรียบเทียบกับระบบปฏิบัติการเซ็นเซอร์อื่น ๆ ในปัจจุบัน Nano-RK ให้ฟังก์ชันการทำงานที่หลากหลายและการจัดกำหนดการที่ตรงต่อเวลาด้วยขนาดที่เล็กสำหรับ resource kernel (RK) ที่ฝังอยู่[ 5 ]
คุณสมบัติ
การกำหนดค่าแบบคงที่ – Nano-RK ใช้แนวทางการออกแบบแบบคงที่สำหรับการควบคุมการใช้พลังงาน และไม่อนุญาตให้สร้างงานแบบไดนามิก โดยกำหนดให้นักพัฒนาแอปพลิเคชันต้องตั้งค่าทั้งงานและโควต้า/ลำดับความสำคัญของการจองในดีไซน์ทดสอบแบบคงที่ การออกแบบนี้ช่วยให้สามารถสร้างงบประมาณพลังงานสำหรับแต่ละงานเพื่อรักษาระดับความต้องการของแอปพลิเคชันและประสิทธิภาพการใช้พลังงานตลอดอายุการใช้งานของระบบ การใช้แนวทางการกำหนดค่าแบบคงที่ ทำให้การกำหนดค่าขณะทำงานทั้งหมดและความต้องการพลังงานถูกกำหนดและตรวจสอบโดยนักออกแบบก่อนที่ระบบจะถูกนำไปใช้งานและดำเนินการในโลกแห่งความเป็นจริง แนวทางนี้ยังช่วยรับประกันความเสถียรและขนาดที่เล็กกว่าเมื่อเทียบกับระบบปฏิบัติการแบบเรียลไทม์ (RTOS) แบบดั้งเดิมอีกด้วย
การรองรับตัวจับเวลาเฝ้าระวัง (Watchdog Timer) – Watchdog เป็นตัวจับเวลาซอฟต์แวร์ที่จะเรียกใช้การรีเซ็ตระบบหากระบบค้างเนื่องจากข้อผิดพลาดที่สำคัญเป็นเวลานาน กลไก Watchdog สามารถนำระบบกลับมาจากสถานะที่ไม่ตอบสนองสู่การทำงานปกติได้โดยการรอจนกว่าตัวจับเวลาจะหมดเวลาและทำการรีบูตอุปกรณ์ ใน Nano-RK ตัวจับเวลาเฝ้าระวังจะเชื่อมต่อโดยตรงกับสัญญาณรีเซ็ตของโปรเซสเซอร์ REBOOT ON ERROR โดยค่าเริ่มต้น จะเปิดใช้งานเมื่อระบบบูตและรีเซ็ตทุกครั้งที่ตัวกำหนดตารางเวลาทำงาน หากระบบไม่ตอบสนองภายในระยะเวลาที่กำหนดไว้ ระบบจะรีบูตและเรียกใช้ลำดับคำสั่งเริ่มต้นเพื่อหวังว่าจะสามารถควบคุมระบบได้อีกครั้ง
โหมดประหยัดพลังงานขั้นสูง (Deep Sleep Mode ) – เพื่อประสิทธิภาพด้านพลังงาน หากไม่มีงานใดที่ต้องดำเนินการ ระบบจะปิดเครื่องและเข้าสู่โหมดประหยัดพลังงานขั้นสูงได้ เมื่อระบบอยู่ในโหมดนี้ เฉพาะตัวจับเวลาการประหยัดพลังงานขั้นสูงเท่านั้นที่จะปลุกระบบได้ โดยมีระยะเวลาหน่วงที่กำหนดไว้ล่วงหน้า หลังจากตื่นจากโหมดประหยัดพลังงานแล้ว เวลาการสลับบริบทครั้งถัดไปจะถูกตั้งค่าเพื่อให้แน่ใจว่า CPU จะตื่นขึ้นมาทันเวลา หากโหนดเซ็นเซอร์ไม่ต้องการเข้าสู่โหมดประหยัดพลังงานขั้นสูง ก็จะมีตัวเลือกให้เข้าสู่สถานะการใช้พลังงานต่ำในขณะที่ยังคงจัดการอุปกรณ์ต่อพ่วงอยู่
คิวพร้อม
Nano-RK ได้นำโครงสร้างข้อมูลแบบลิสต์เชื่อมโยงสองทาง (double-linked list) ของโหนดคิวพร้อมทำงาน (ready queue) มาใช้ภายในอาร์เรย์ขนาดคงที่ ซึ่งเรียกว่าคิวพร้อมทำงาน โดยจะเรียงลำดับงานที่พร้อมทำงานทั้งหมดจากลำดับความสำคัญสูงสุดไปต่ำสุด เนื่องจากจำนวนงานที่ทำงานอยู่ภายในระบบ Nano-RK นั้นถูกกำหนดค่าแบบคงที่ในสภาพแวดล้อมทดสอบก่อนการใช้งานจริง ขนาดของคิวพร้อมทำงานจึงถูกกำหนดให้คงที่ตามจำนวนงานที่พร้อมทำงานนั้นด้วย อาร์เรย์ความยาวคงที่ชื่อ nrk readyQ อยู่ในไฟล์ nrk defs.h พร้อมกับตัวชี้สองตัวเพื่ออ้างอิงถึงเซลล์ที่สำคัญที่สุดสองเซลล์ภายในอาร์เรย์นี้ ตัวชี้โหนดว่าง (free node) และตัวชี้โหนดหัว (head node) ชี้ไปยังเซลล์ถัดไปในอาร์เรย์ที่จะถูกจัดสรร และงานที่มีลำดับความสำคัญสูงสุดที่พร้อมทำงานในปัจจุบัน ตามลำดับ
ผู้กำหนดตารางเวลา
หัวใจหลักของ Nano-RK คือตัวจัดตารางงานแบบเรียลไทม์แบบคงที่ที่สามารถแทรกแซงได้ ซึ่งใช้หลักการลำดับความสำคัญและประหยัดพลังงาน สำหรับการจัดตารางงานแบบแทรกแซงตามลำดับความสำคัญ ตัวจัดตารางงานจะเลือกงานที่มีลำดับความสำคัญสูงสุดจากคิวงานพร้อมทำงานเสมอ เพื่อประหยัดพลังงาน งานจะไม่ตรวจสอบทรัพยากร แต่จะถูกบล็อกไว้เมื่อเกิดเหตุการณ์บางอย่าง และสามารถปลดล็อกได้เมื่อเหตุการณ์นั้นเกิดขึ้น เมื่อไม่มีงานอยู่ในคิวงานพร้อมทำงาน ระบบสามารถปิดเครื่องเพื่อประหยัดพลังงานได้ เมื่อระบบทำงาน จะมีงานเพียงงานเดียว (งานปัจจุบัน) ซึ่งแสดงด้วยคำสั่ง nrk cur task tcb ทำงานเป็นระยะเวลาที่กำหนดไว้ ดังนั้นงานที่สำคัญที่สุดของตัวจัดตารางงานคือการตัดสินใจว่างานใดควรทำงานต่อไป และงานถัดไปควรทำงานนานเท่าใด จนกว่าตัวจัดตารางงานจะถูกเรียกให้ทำงานอีกครั้ง
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ นาโน-อาร์เค
Nano-RKเป็นระบบปฏิบัติการแบบเรียลไทม์ (RTOS) สำหรับเครือข่ายเซ็นเซอร์ไร้สาย จากมหาวิทยาลัยคาร์เนกีเมลลอนซึ่งออกแบบมาเพื่อใช้งานบนไมโครคอนโทรลเลอร์ในเครือข่ายเซ็นเซอร์ Nano-RK...
ข้อดี
NanoRK ใช้ประโยชน์จากการจัดกำหนดการแบบ preemptive ตามลำดับความสำคัญเพื่อช่วยรักษาปัจจัยแบบเรียลไทม์ของความแน่นอน จึง มั่นใจได้ถึงความตรงต่อเวลาและการซิงโครไนซ์ของงาน เนื่องจากลักษณะเฉพาะของพลังงานแบตเตอรี่ที่จำกัดในโหนดไร้สาย Nano-RK จึงให้ ประสิทธิภาพ...
คุณสมบัติ
การกำหนดค่าแบบคงที่ – Nano-RK ใช้แนวทางการออกแบบแบบคงที่สำหรับการควบคุมการใช้พลังงาน และไม่อนุญาตให้สร้างงานแบบไดนามิก โดยกำหนดให้นักพัฒนาแอปพลิเคชันต้องตั้งค่าทั้งงานและโควต้า/ลำดับความสำคัญของการจองในดีไซน์ทดสอบแบบคงที่...
คิวพร้อม
Nano-RK ได้นำโครงสร้างข้อมูลแบบลิสต์เชื่อมโยงสองทาง (double-linked list) ของโหนดคิวพร้อมทำงาน (ready queue) มาใช้ภายในอาร์เรย์ขนาดคงที่ ซึ่งเรียกว่าคิวพร้อมทำงาน โดยจะเรียงลำดับงานที่พร้อมทำงานทั้งหมดจากลำดับความสำคัญสูงสุดไปต่ำสุด...