c) TinyOS: TinyOS [3] là một thành phần dựa trên hệ điều hành. Các thành phần dính lại với nhau để tạo thành tĩnh liên kết cốt lõi. Thành phần là phần mềm mô-đun và các hàm bao quanh phần cứng. Mỗi dịch vụ được bị phân hủy thành một thành phần, do đó nused dịch vụ có thể được loại trừ khỏi ứng dụng. Ứng dụng có thể tùy chỉnh các thành phần tái sử dụng. Lệnh và các sự kiện được sử dụng để thực hiện các thông tin liên lạc giữa hai thành phần. Có là không có không gian người dùng. Mô hình concurrency có nhiệm vụ Phòng Không "phòng ngừa" và "phòng ngừa" sự kiện. Công việc không có quyền mua trước mỗi khác, nhưng sự kiện có quyền mua trước nhiệm vụ và các sự kiện khác. Sự kiện đại diện cho phần cứng ngắt. Phiên bản 2.1 TinyOS có hợp tác xã TOS chủ đề, tức là một ứng dụng là tự chịu trách nhiệm với sản lượng CPU một cách rõ ràng khi không phải trong sử dụng. Lịch thực hiện như là một chủ đề ưu tiên cao và lịch chủ đề bằng cách sử dụng lập kế hoạch "phòng ngừa" FIFO. Trước đó phiên bản hỗ trợ FIFO chính sách chỉ là unfit cho thời gian thực nhiệm vụ, sau này sớm nhất thời hạn đầu tiên lập kế hoạch (EDF) chính sách đã được bao gồm trong TinyOS. TinyOS được viết bằng NesC, một phương ngữ của C [7]. NesC là một componentbased sự kiện-hướng lập trình ngôn ngữ được sử dụng cho sự phát triển trong môi trường TinyOS đồng thời. Nó chặt chẽ liên quan đến thành phần dựa trên mô hình của TinyOS, do đó truy cập phần cứng là đơn giản. Nó sử dụng thời gian biên dịch tĩnh bộ nhớ phân bổ. Không có không có heaps, chức năng con trỏ hoặc các khái niệm bộ nhớ ảo của cấp phát bộ nhớ năng động. Phiên bản 2.1 trở đi [16], an toàn TinyOS có MPU. Hệ điều hành có Berkeley Low-power Internet Stack (BLIP) [24] bao gồm TCP, UDP, ICMPv6 và IPv6 và hỗ trợ 6LoWPAN, RPL và CoAP. Hệ điều hành sử dụng thủy giao thức định tuyến để đảm bảo tin cậy unicast giao tiếp trong một subnetwork IPv6 lossy kết
đang được dịch, vui lòng đợi..