Download Trusted embedded System Operating System (TeSOS)

Transcript
7 Operating Systems for Sensor
Nodes (M5)
Several embedded operating systems for sensors have been developed in the last few years.
Examples are operating systems such as TinyOS
[DGV04], or SOS
+
[HSW 00a], MANTIS
+
[BCD 05a], Contiki
+
[HKS 05]. However, none of them protects the operating system from the
applications due to the fact that many micro controllers do not provide hardware support for
1
security features . Therefore, it is dicult to create reliable sensor network software that runs
safely on these operating systems.
In this chapter, the most common operating systems for embedded systems and Wireless
Sensor Networks (WSNs) will be analyzed and compared. The following Section 7.1 discusses
the criteria used for the analysis and comparison, followed by a detailed analysis of the dierent
embedded operating systems in Section 7.2 to Section 7.7. Section 7.8 summarizes this chapter
and suggests embedded operating systems to be used with TeSOS.
7.1 Criteria of Operating System Evaluation
To cover the huge amount of dierent operating systems in the world of embedded devices, which
are also used in the area of WSNs, detailed criteria have to be dened. Each criterion handles
its own district inside the operating system, thus each of these criteria is specied and dened
in the following section.
7.1.1 Process Management
One of the most central aspects in any type of operating system is the process, an abstraction of
a running program. These processes have to be handled in a proper way, since very often strong
relationship between dierent processes exists, causing dependencies that have to be solved
during process life-time. If only one Central Processing Unit (CPU) is available, the system has
to make a choice which process to handle next. Therefore, also the scheduler is of importance
since a good scheduler can make a big dierence in perceiving performance and user satisfaction.
In the following, the most important scheduler types are briey introduced:
•
First-Come First-Served:
This type of scheduling algorithm is the simplest method to
manage non-preemptive processes. With this algorithm there is a simple queue of processes
that are assigned to the CPU and processed in sequence. New processes are appended at
the end of the queue. If a process is blocked it will also be appended at the end of the
queue. The biggest advantages of this type of algorithm is that it is very easy to understand
and implement. Unfortunately, rst-come rst-served also has disadvantages, for example,
if a process is combined with input-/output processes, this could block the whole system.
•
Shortest Job First: When several jobs with an equal importance are present, this scheduling
algorithm picks the shortest job rst. However, it is provably optimal, it still could cause
1
A incomplete list of hardware-based security features has been presented in Section 5.1.4
106