A Survey: Embedded Systems Supporting By Different Operating Systems
---
paper_title: SQLServer for Windows CE-a database engine for mobile and embedded platforms

paper_content:

The paper presents an overview of Microsoft SQLServer for Windows CE. This is a relational database engine designed for mobile and embedded applications. The focus of the article is on: (a) connectivity and integration with backend SQLServer databases (replication and synchronization); (b) the application development framework (integration with common development tools and languages); (c) SQL features and functionality.
---
paper_title: Effects of Palm and WinCE menu-design for PDA on users' operating performance and subjective preference

paper_content:

This study investigated the effects of the type of menu (WinCE and Palm) and the stage of usage (whether the current usage is the first, second, third, fourth, fifth, or eighth day of usage) on the users' performance in operating a menu displayed in the first, second, or third layers of a PDA display. The findings of this study indicated that the subjects performed significantly differently in response to Palm and WinCE menus displayed in the first and second layers. The Palm menu resulted in better operating performance. However, the Palm and WinCE menus displayed in the third layer did not result in significantly different operating performance. In addition, the amount of previous use significantly affected users' operating performance only with menus displayed in all the layers. The operating performance improved as the usage time increased. Regarding the subjects' subjective preferences, using the Palm-menu design was initially favored more than the WinCE-menu; however, their preferences for using both menus increased with the usage time.
---
paper_title: Modeling and building software product lines with pure::variants

paper_content:

The demonstration shows how flexible product line (PL) architectures can be built by using the modeling capabilities provided by pure::variants [2], a commercial tool for SPLD.
---
paper_title: A study of the Linux kernel evolution

paper_content:

The open source concept is a phenomenon of the past two decades in the computer development world. One of the most important characteristics of this concept is the Linux operating system that was started in the early 90's by Linus Torvalds. The complexity of the code creates a challenging environment requiring highly skilled volunteers.This case study is part of a larger PhD research which deals with the evolution of the open source movement and Linux operating system, that claims to track and examine the kernel source code evolution over more than a decade by reviewing 534 different Linux kernel versions in various parameters such as the growth of source code lines, number of participants, size of the kernel etc. and analyzing the progress of the findings along the time axis. A major part of this research is a study of the Kernel code evolution beginning with the first stable version Furthermore, this study compares the stable kernel versions (140) and the unstable kernel or development versions (394). This reveals an interesting preference to the unstable kernel versions in variety of growth data, such as average additional source code lines, kernel size etc.
---
paper_title: A fault injection analysis of Linux operating on an FPGA-embedded platform

paper_content:

An FPGA-based Linux test-bed was constructed for the purpose of measuring its sensitivity to single-event upsets. The test-bed consists of two ML410 Xilinx development boards connected using a 124-pin custom connector board. The Design Under Test (DUT) consists of the "hard core" PowerPC, running the Linux OS and several peripherals implemented in "soft" (programmable) logic. Faults were injected via the Internal Configuration Access Port (ICAP). The experiments performed here demonstrate that the Linux-based system was sensitive to 199,584 or about 1.4 percent of all tested bits. Each sensitive bit in the bit-stream is mapped to the resource and user-module to which it configures. A density metric for comparing the reliability of modules within the system is presented. Using this density metric, we found that the most sensitive user module in the design was the PowerPC's direct connections to the DDR2 memory controller.
---
paper_title: FeatureIDE: A tool framework for feature-oriented software development

paper_content:

Tools support is crucial for the acceptance of a new programming language. However, providing such tool support is a huge investment that can usually not be provided for a research language. With FeatureIDE, we have built an IDE for AHEAD that integrates all phases of feature-oriented software development. To reuse this investment for other tools and languages, we refactored FeatureIDE into an open source framework that encapsulates the common ideas of feature-oriented software development and that can be reused and extended beyond AHEAD. Among others, we implemented extensions for FeatureC++ and FeatureHouse, but in general, FeatureIDE is open for everybody to showcase new research results and make them usable to a wide audience of students, researchers, and practitioners.
---
paper_title: Embedded Linux implementation on a commercial digital TV system

paper_content:

A digital TV system is necessary for not only video and audio, but also data processing. Especially in the case of bidirectional broadcasting, it should manage the return channel created by the Internet, PSTN, and so on. Because of many functionalities and multitasking jobs, it needs an operating system. Embedded Linux, as open source program can increase cost effectiveness in the market and has many advantages-reusable device drivers and application programs, more convenient development environment using shell and file system, and easy resolution of problem within the open source community. In this paper, we modified the embedded Linux kernel and the cross development environment for a big-endian system, redesigned device drivers for kernel execution, and configured system memory map in order to load the Linux kernel. Also we developed a device driver for the entire system control.
---
paper_title: Contiki - a lightweight and flexible operating system for tiny networked sensors

paper_content:

Wireless sensor networks are composed of large numbers of tiny networked devices that communicate untethered. For large scale networks, it is important to be able to download code into the network dynamically. We present Contiki, a lightweight operating system with support for dynamic loading and replacement of individual programs and services. Contiki is built around an event-driven kernel but provides optional preemptive multithreading that can be applied to individual processes. We show that dynamic loading and unloading is feasible in a resource constrained environment, while keeping the base system lightweight and compact.
---
paper_title: Sensor networks: an overview

paper_content:

Advances in hardware and wireless network technologies have created low-cost, low-power, multifunctional miniature sensor devices. These devices make up hundreds or thousands of ad hoc tiny sensor nodes spread across a geographical area. These sensor nodes collaborate among themselves to establish a sensing network. A sensor network can provide access to information anytime, anywhere by collecting, processing, analyzing and disseminating data. Thus, the network actively participates in creating a smart environment.
---
paper_title: Pixie: An operating system for resource-aware programming of embedded sensors

paper_content:

A growing class of sensor network applications require high data rates and computationally-intensive node-level processing. When deployed into environments where resources are limited and variable, achieving good performance requires applications to adjust their behavior as resource availability changes. This paper presents Pixie, a new sensor network operating system designed to facilitate the design of highly-efficient resourceaware applications. By allowing applications to introspect on resource availability and providing a rich interface for controlling resource usage, Pixie enables a broad range of adaptation policies through a small set of core abstractions.
---
paper_title: Mantis os: An embedded multithreaded operating system for wireless micro sensor platforms

paper_content:

The MANTIS MultimodAl system for NeTworks of In-situ wireless Sensors provides a new multithreaded cross-platform embedded operating system for wireless sensor networks. As sensor networks accommodate increasingly complex tasks such as compression/aggregation and signal processing, preemptive multithreading in the MANTIS sensor OS (MOS) enables micro sensor nodes to natively interleave complex tasks with time-sensitive tasks, thereby mitigating the bounded buffer producer-consumer problem. To achieve memory efficiency, MOS is implemented in a lightweight RAM footprint that fits in less than 500 bytes of memory, including kernel, scheduler, and network stack. To achieve energy efficiency, the MOS power-efficient scheduler sleeps the microcontroller after all active threads have called the MOS sleep() function, reducing current consumption to the µA range. A key MOS design feature is flexibility in the form of cross-platform support and testing across PCs, PDAs, and different micro sensor platforms. Another key MOS design feature is support for remote management of in-situ sensors via dynamic reprogramming and remote login.
---
paper_title: Bluetooth and sensor networks: a reality check

paper_content:

The current generation of sensor nodes rely on commodity components. The choice of the radio is particularly important as it impacts not only energy consumption but also software design (e.g., network self-assembly, multihop routing and in-network processing). Bluetooth is one of the most popular commodity radios for wireless devices. As a representative of the frequency hopping spread spectrum radios, it is a natural alternative to broadcast radios in the context of sensor networks. The question is whether Bluetooth can be a viable alternative in practice. In this paper, we report our experience using Bluetooth for the sensor network regime. We describe our tiny Bluetooth stack that allows TinyOS applications to run on Bluetooth-based sensor nodes, we present a multihop network assembly procedure that leverages Bluetooth's device discovery protocol, and we discuss how Bluetooth favorably impacts in-network query processing. Our results show that despite obvious limitations the Bluetooth sensor nodes we studied exhibit interesting properties, such as a good energy per bit sent ratio. This reality check underlies the limitations and some promises of Bluetooth for the sensor network regime.
---
paper_title: The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks

paper_content:

This paper presents LiteOS, a multi-threaded operating system that provides Unix-like abstractions for wireless sensor networks. Aiming to be an easy-to-use platform, LiteOS offers a number of novel features, including: (1) a hierarchical file system and a wireless shell interface for user interaction using UNIX-like commands; (2) kernel support for dynamic loading and native execution of multithreaded applications; and (3) online debugging, dynamic memory, and file system assisted communication stacks. LiteOS also supports software updates through a separation between the kernel and user applications, which are bridged through a suite of system calls. Besides the features that have been implemented, we also describe our perspective on LiteOS as an enabling platform. We evaluate the platform experimentally by measuring the performance of common tasks, and demonstrate its programmability through twenty-one example applications.
---
paper_title: MetaCricket: a designer's kit for making computational devices

paper_content:

We present the design of a construction kit, for building computational devices, called MetaCricket. MetaCricket consists of a set of hardware modules and the integrated software, which runs both on a development computer and within the MetaCricket hardware. MetaCricket provides a flexible interactive development environment for trying out new hardware and behaviors. The underlying architecture makes it easy for designers to expand the basic construction kit themselves with minimal engineering effort. Through a few examples, we show how designers, enabled by MetaCricket to be engineers of their own tools, are rethinking and transforming the very character of design principles in the digital age. MetaCricket was originally designed for use by children, but has been adopted by professional designers who are not professional engineers. These designers have found it incredibly liberating to directly implement their ideas without depending on engineers for assistance.
---
paper_title: The Cricket location-support system

paper_content:

This paper presents the design, implementation, and evaluation of Cricket , a location-support system for in-building, mobile, location-dependent applications. It allows applications running on mobile and static nodes to learn their physical location by using listeners that hear and analyze information from beacons spread throughout the building. Cricket is the result of several design goals, including user privacy, decentralized administration, network heterogeneity, and low cost. Rather than explicitly tracking user location, Cricket helps devices learn where they are and lets them decide whom to advertise this information to; it does not rely on any centralized management or control and there is no explicit coordination between beacons; it provides information to devices regardless of their type of network connectivity; and each Cricket device is made from off-the-shelf components and costs less than U.S. $10. We describe the randomized algorithm used by beacons to transmit information, the use of concurrent radio and ultrasonic signals to infer distance, the listener inference algorithms to overcome multipath and interference, and practical beacon configuration and positioning techniques that improve accuracy. Our experience with Cricket shows that several location-dependent applications such as in-building active maps and device control can be developed with little effort or manual configuration.
---
paper_title: Security as a new dimension in embedded system design

paper_content:

The growing number of instances of breaches in information security in the last few years has created a compelling case for efforts towards secure electronic systems. Embedded systems, which will be ubiquitously used to capture, store, manipulate, and access data of a sensitive nature, pose several unique and interesting security challenges. Security has been the subject of intensive research in the areas of cryptography, computing, and networking. However, despite these efforts, security is often mis-construed by designers as the hardware or software implementation of specific cryptographic algorithms and security protocols. In reality, it is an entirely new metric that designers should consider throughout the design process, along with other metrics such as cost, performance, and power..This paper is intended to introduce embedded system designers and design tool developers to the challenges involved in designing secure embedded systems. We attempt to provide a unified and holistic view of embedded system security by first analyzing the typical functional security requirements for embedded systems from an end-user perspective. We then identify the implied challenges for embedded system architects, as well as hardware and software designers (e.g., tamper-resistant embedded system design, processing requirements for security, impact of security on battery life for battery-powered systems, etc.). We also survey solution techniques to address these challenges, drawing from both current practice and emerging research, and identify open research problems that will require innovations in embedded system architecture and design methodologies.
---
paper_title: Improving security for periodic tasks in embedded systems through scheduling

paper_content:

While many scheduling algorithms for periodic tasks ignore security requirements posed by sensitive applications and are, consequently, unable to perform properly in embedded systems with security constraints, in this paper, we present an approach to scheduling periodic tasks in embedded systems subject to security and timing constraints. We design a necessary and sufficient feasibility check for a set of periodic tasks with security requirements. With the feasibility test in place, we propose a scheduling algorithm, or SASES (security-aware scheduling for embedded systems), which accounts for both security and timing requirements. SASES judiciously distributes slack times among a variety of security services for a set of periodic tasks, thereby optimizing security for embedded systems without sacrificing schedulability. To demonstrate the effectiveness of SASES, we apply the proposed SASES to real-world embedded systems such as an automated flight control system. We show, through extensive simulations, that SASES is able to maximize security for embedded systems while guaranteeing timeliness. In particular, SASES significantly improves security over three baseline algorithms by up to 107p.
---
paper_title: The RUNES middleware: a reconfigurable component-based approach to networked embedded systems

paper_content:

In this paper the RUNES approach to the development of software for networked embedded systems is described. There is a need for a program platform with abstractions that are able to span the full range of heterogeneous embedded systems, and which also offers consistent mechanisms with which to configure, deploy, and dynamically reconfigure networked embedded systems software. This paper discusses the need of such a programming platform. The work is being carried out in the context of the RUNES project (reconfigurable, ubiquitous, and networked embedded systems) which has the general goal of developing an architecture for networked embedded systems that encompasses dedicated radio layers, networks
---
paper_title: An Operational Approach to Requirements Specification for Embedded Systems

paper_content:

The approach to requirements specification for embedded systems described in this paper is called "operational" because a requirements specification is an executable model of the proposed system interacting with its environment. The approach is embodied by the language PAISLey, which is motivated and defined herein. Embedded systems are characterized by asynchronous parallelism, even at the requirements level; PAISLey specifications are constructed by interacting processes so that this can be represented directly. Embedded systems are also characterized by urgent performance requirements, and PAISLey offers a formal, but intuitive, treatment of performance.
---
paper_title: Applying a Model-based Approach for Embedded System Development

paper_content:

Model-based and component-oriented software development approaches are slowly superseding traditional ways of developing embedded systems. For investigating to which extent model-based development is feasible for embedded system development, we conducted a case study in which a small embedded system is developed using the MARMOT approach. In order to evaluate the degree of reuse that might be achieved, the components of the case study are used in the context of different small projects. Several aspects of reuse, application size, ease of adaptation, and development effort are quantified. This analysis reveals that model-based and component-oriented development performs well for small embedded systems, and it leads to the conclusion that model-driven/component-based development of embedded systems enables adaptable applications with higher- than-normal reuse rate.
---
paper_title: Security in embedded systems: Design challenges

paper_content:

Many modern electronic systems---including personal computers, PDAs, cell phones, network routers, smart cards, and networked sensors to name a few---need to access, store, manipulate, or communicate sensitive information, making security a serious concern in their design. Embedded systems, which account for a wide range of products from the electronics, semiconductor, telecommunications, and networking industries, face some of the most demanding security concerns---on the one hand, they are often highly resource constrained, while on the other hand, they frequently need to operate in physically insecure environments.Security has been the subject of intensive research in the context of general-purpose computing and communications systems. However, security is often misconstrued by embedded system designers as the addition of features, such as specific cryptographic algorithms and security protocols, to the system. In reality, it is a new dimension that designers should consider throughout the design process, along with other metrics such as cost, performance, and power.The challenges unique to embedded systems require new approaches to security covering all aspects of embedded system design from architecture to implementation. Security processing, which refers to the computations that must be performed in a system for the purpose of security, can easily overwhelm the computational capabilities of processors in both low- and high-end embedded systems. This challenge, which we refer to as the "security processing gap," is compounded by increases in the amounts of data manipulated and the data rates that need to be achieved. Equally daunting is the "battery gap" in battery-powered embedded systems, which is caused by the disparity between rapidly increasing energy requirements for secure operation and slow improvements in battery technology. The final challenge is the "assurance gap," which relates to the gap between functional security measures (e.g., security services, protocols, and their constituent cryptographic algorithms) and actual secure implementations. This paper provides an introduction to the challenges involved in secure embedded system design, discusses recent advances in addressing them, and identifies opportunities for future research.
---
paper_title: Can we make operating systems reliable and secure?

paper_content:

Microkernels long discarded as unacceptable because of their lower performance compared with monolithic kernels might be making a comeback in operating systems due to their potentially higher reliability, which many researchers now regard as more important than performance. Each of the four different attempts to improve operating system reliability focuses on preventing buggy device drivers from crashing the system. In the Nooks approach, each driver is individually hand wrapped in a software jacket to carefully control its interactions with the rest of the operating system, but it leaves all the drivers in the kernel. The paravirtual machine approach takes this one step further and moves the drivers to one or more machines distinct from the main one, taking away even more power from the drivers. Both of these approaches are intended to improve the reliability of existing (legacy) operating systems. In contrast, two other approaches replace legacy operating systems with more reliable and secure ones. The multiserver approach runs each driver and operating system component in a separate user process and allows them to communicate using the microkernel's IPC mechanism. Finally, Singularity, the most radical approach, uses a type-safe language, a single address space, and formal contracts to carefully limit what each module can do.
---
paper_title: Guest Editors' Introduction: Embedded Software Technologies and Trends

paper_content:

Our world and society are shaped and governed by embedded systems. Examples of embedded systems include pacemakers, implanted biosensors, RFID tags, cell phones, home appliances, satellites, train control systems, and automotive components. In this special-issue introduction, we provide a snapshot of the topic of embedded software. We show its similarities to general-purpose IT and highlight embedded systems' peculiarities. In addition to highlighting trends and topics worth thinking about, we relate hands-on experiences from industry projects from which all of us can learn, independent of which type of software and domain we deal with in our day-to-day engineering work.
---

Title: A Survey: Embedded Systems Supporting By Different Operating Systems

Section 1: Introduction
Description 1: This section provides an overview of embedded systems, their purposes, and their use in various domains such as industrial, commercial, medical, and consumer electronics.

Section 2: Embedded software organization for embedded systems
Description 2: This section discusses the organization of embedded software, the importance of reliability, and the use of high-level programming languages in embedded systems.

Section 2.1: Real time and embedded operating systems
Description 2.1: This section explains the differences between general purpose operating systems and those used in embedded systems, highlighting the real-time properties required by embedded operating systems.

Section 2.1.1: WinCE
Description 2.1.1: This subsection covers the WinCE operating system, its features, applications, and the four-layer architecture it uses.

Section 2.1.2: Linux
Description 2.1.2: This subsection describes the use of Linux in embedded systems, its flexibility, scalability, and the advantages of being open-source.

Section 2.1.3: QNX
Description 2.1.3: This subsection details the QNX operating system, its use in real-time environments, and its applications in medical and telecommunication devices.

Section 3: Domain specific OS
Description 3: This section describes operating systems specifically developed for particular domains, such as sensor networks.

Section 3.1: Embedded Sensor Network
Description 3.1: This subsection discusses embedded sensor networks, their applications, and the operating systems that support these networks, such as Contiki and TinyOS.

Section 4: Characterizations of embedded systems
Description 4: This section provides an overview of the characteristics of embedded systems, dividing them into categories and outlining their unique functionalities.

Section 4.1: Standalone embedded systems
Description 4.1: This subsection explains standalone embedded systems, their input-output mechanisms, and examples of systems on chip (SoC).

Section 4.2: Networked embedded Systems
Description 4.2: This subsection describes networked embedded systems, their communication methods, and examples such as distributed real-time embedded systems and sensor networks.

Section 5: Conclusion
Description 5: This section summarizes the survey’s findings, emphasizing the need for reliability, security, and support for real-time constraints in embedded operating systems.