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