انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة

WSN s Operation System

الكلية كلية تكنولوجيا المعلومات     القسم قسم شبكات المعلومات     المرحلة 3
أستاذ المادة مهدي عبادي مانع الموسوي       27/03/2017 07:14:09
The software components in WSNs include sensor operating systems and middleware as shown in figure below. The purpose of these is to ease the application development by providing network access and allowing support for heterogeneous platforms with hardware abstraction.

















An operating system (OS) in a WSN is a thin software layer that logically resides between the node’s hardware and the application and provides basic programming abstractions to application developers.


Its main task is included:
1. Enable applications to interact with hardware resources.
2. Schedule tasks.
3. Arbitrate between application program and other services that try to seize resources.
4. Memory management, power management and File management.
5. Networking.
6. Enable users to develop, debug, and execute their own programs.




Modern sensor operating systems differ from conventional PC operating systems in a number of ways. These differences stem from the unique hardware and energy constraints typically encountered in sensor networking. The following points describe the general principles behind sensor operating systems.
I. Small memory footprint: Due to the resource constraints, an operating system should be as small as possible to leave space for applications.

II. Real-time operation: Sensor networks are inherently coupled with the real world, which sets timing constraints to the operation. In addition, network protocols are often time-sensitive. Both of these require real-time support to make right actions at the right time.

III. Energy management: As sensor nodes may operate on batteries, an OS should operate efficiently to reduce its energy overhead by e.g. shutting down unused peripherals.

IV. Memory management: The scarce data memory should be efficiently divided among applications.

V. Hardware abstraction: In order to provide coherent interfaces for applications, an OS needs to abstract heterogeneous node platforms. This way, a developer can write applications using a single Application Programming Interface (API).

VI. Concurrency: WSNs have high degree of concurrency. Sensing is not limited to one application but can involve multiple physical sensors. Also, a node must be able to forward and process (e.g. via aggregation) several concurrent data flows. Thus, basic services that allow concurrency are essential in an OS.

1. WSN s OS Implementation Approaches
Sensor operating systems have two basic implementation approaches:
I. Event-driven.
II. Preemptive multithreading.
Both approaches allow real-time responses but differ in how they are programmed.
In an event-driven OS, processes are often referred to as tasks. A task is activated when an event occurs and is run to completion, as shown in Figure 4.2. An event might indicate e.g. the reception of data from a transceiver, the expiration of a timer, or finished sensing.
The main benefit of the approach is extremely low overhead. However, this approach is not suitable for long running computations as they block execution of other events. A programmer can work around this issue by manually slicing the computation to little pieces but this increases the complexity of the software.

Preemptive multithreading allows a thread (or process) to run constantly, while an OS shares execution time between active threads. A thread may decide to wait some specific event in which case the execution halts until the event occurs. The approach can be combined with priority scheduling where each thread is assigned with a priority. This way, low priority background computation does not interfere with timing critical code assigned with high priority. As a drawback, the preemptive multithreading requires more memory and has higher computational overhead than event-driven OS as the context of each thread must be stored and switched when the execution of a thread changes. Also, sharing data structures and resources requires mutual exclusions to avoid data corruption.


المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .