Operating System Embedded
Encyclopedia
The Operating System Embedded (known mostly by the acronym Enea OSE) is a real-time
Real-time operating system
A real-time operating system is an operating system intended to serve real-time application requests.A key characteristic of a RTOS is the level of its consistency concerning the amount of time it takes to accept and complete an application's task; the variability is jitter...

 embedded operating system
Embedded operating system
An embedded operating system is an operating system for embedded computer systems. These operating systems are designed to be compact, efficient, and reliable, forsaking many functions that non-embedded computer operating systems provide, and which may not be used by the specialized applications...

 created by the Swedish
Sweden
Sweden , officially the Kingdom of Sweden , is a Nordic country on the Scandinavian Peninsula in Northern Europe. Sweden borders with Norway and Finland and is connected to Denmark by a bridge-tunnel across the Öresund....

 information technology company ENEA AB
ENEA AB
ENEA is global information technology company with its headquarters in Kista, Sweden that provides real-time operating systems and consulting services...

. Bengt Eliasson, who at the time was a consultant from ENEA with an assignment at Ericsson
Ericsson
Ericsson , one of Sweden's largest companies, is a provider of telecommunication and data communication systems, and related services, covering a range of technologies, including especially mobile networks...

, wrote the basic parts of the kernel. The early version for the Zilog Z80
Zilog Z80
The Zilog Z80 is an 8-bit microprocessor designed by Zilog and sold from July 1976 onwards. It was widely used both in desktop and embedded computer designs as well as for military purposes...

 processor was named OS80.

Enea OSE is one of the most widely used RTOSes in the world. According to mobile analyst firm, VisionMobile, OSE has been deployed in over 1.75 billion mobile handsets, as of the end of June 2010. Enea OSE is shipped in hundreds of millions of mobile phones each year and over half of the world's 3G basestations.

Architecture and abilities

OSE uses events
Event (computing)
In computing an event is an action that is usually initiated outside the scope of a program and that is handled by a piece of code inside the program. Typically events are handled synchronous with the program flow, that is, the program has one or more dedicated places where events are handled...

 (named signals
Signal programming
Signal programming is used in the same sense as dataflow programming, and is similar to event-driven programming.The word signal is used instead of the word dataflow in documentation of such libraries as Qt, GTK+ and libsigc++...

due to ENEA's telecom background) in the form of messages passed to and from processes in the system. Messages are stored in a queue attached to each process. A 'link handler' mechanism allows signals to be passed between processes on separate machines, over a variety of transports. The OSE signalling mechanism formed the basis of an open-source
Open-source software
Open-source software is computer software that is available in source code form: the source code and certain other rights normally reserved for copyright holders are provided under a software license that permits users to study, change, improve and at times also to distribute the software.Open...

 inter-process kernel design project called LINX
LINX (IPC)
LINX is a new generation of the OSE Link Handler that provides higher performance and more robust functionality. LINX is an Open Source program for Inter-process communications ....

.
  • Fault tolerant, distributed architecture
  • Modular, layered microkernel
    Microkernel
    In computer science, a microkernel is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system . These mechanisms include low-level address space management, thread management, and inter-process communication...

     architecture
  • Event-driven
    Event-driven
    Event driven may refer to:The term event-driven refers to a methodology that focuses on events and event dependencies.Examples include:* Event-driven finite-state machine, finite-state machine where the transition from one state to another is triggered by an event or a message* Event-driven...

    , deterministic real-time response
  • Asynchronous direct message-passing model
  • Scalable hybrid multicore
    Multicore
    Multicore may refer to:* Multi-core processor ** Multicore Association, founded in 2005, a non-profit, industry consortium focused on multicore technology* multicore cable, a generic term for an electrical cable that has multiple cores...

     solution exploiting the advantages from both SMP and AMP models
  • Memory protected
    Memory protection
    Memory protection is a way to control memory access rights on a computer, and is a part of most modern operating systems. The main purpose of memory protection is to prevent a process from accessing memory that has not been allocated to it. This prevents a bug within a process from affecting...

  • Centralized error handling and remediation
  • Built-in task (process) monitoring and failure detection
  • Dynamic, run-time program loading
  • Power management
    Power management
    Power management is a feature of some electrical appliances, especially copiers, computers and computer peripherals such as monitors and printers, that turns off the power or switches the system to a low-power state when inactive. In computing this is known as PC power management and is built...

     with low-power sleep mode
  • Demand paging support for optimizing RAM usage
  • Comprehensive networking/security support
  • Multiple file system choices including crash-safe, journaling file system
    Journaling file system
    A journaling file system is a file system that keeps track of the changes that will be made in a journal before committing them to the main file system...

  • Distributed system-level simulation
  • Run Mode Monitor (RMM) for remote monitoring, tracing, profiling, and debugging
  • Optima, an Eclipse-based integrated development environment and tools suite

Multicore Edition

Enea OSE Multicore Edition was released in 2009 and is based on the same microkernel architecture. The kernel design that combines the advantages of both traditional asymmetric multiprocessing (AMP) and symmetric multiprocessing (SMP).

The hybrid AMP/SMP kernel in OSE Multicore Edition is based on a number of:
  • Essential services in OSE are implemented according to a micro kernel model which allows IP stacks, file systems, application loaders, etc. to be located on different cores, while applications can access these services regardless of location in the system (location transparency).
  • A kernel that instantiates a separate scheduler on each core with associated data structures to preserve determinism and realtime characteristics.
  • User-defined process migration and load balancing based on low intrusion mechanisms to measure CPU load on each core.
  • A lightweight kernel internal IPC mechanism called kernel events used to perform asynchronous, cross core transactions in order to avoid the use of fine-granular locking designs, which has a detrimental effect on performance.


VDC Research Group selected Enea OSE Multicore Edition Best of Show at ESC Boston 2009.

The Enea OSE family of RTOS features 3 OSs: OSE for ARM processors
ARM architecture
ARM is a 32-bit reduced instruction set computer instruction set architecture developed by ARM Holdings. It was named the Advanced RISC Machine, and before that, the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in numbers produced...

, PowerPC
PowerPC
PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

 and MIPS
MIPS architecture
MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

, OSEck for various DSP's, and OSE Epsilon for minimal devices, written in pure assembly.

Processor support

OSE supports many mainly 32-bit processors:
  • ARM family:
    • ARM9E
      ARM9E
      ARM9 is an ARM architecture 32-bit RISC CPU family. With this design generation, ARM moved from a von Neumann architecture to a Harvard architecture with separate instruction and data buses , significantly increasing its potential speed...

    • ARM11
      ARM11
      ARM11 is an ARM architecture 32-bit RISC microprocessor family which introduced the ARMv6 architectural additions. These include SIMD media instructions, multiprocessor support and a new cache architecture...

    • Xscale
      XScale
      The XScale, a microprocessor core, is Intel's and Marvell's implementation of the ARMv5 architecture, and consists of several distinct families: IXP, IXC, IOP, PXA and CE . Intel sold the PXA family to Marvell Technology Group in June 2006....

    • ARM Cortex
  • PowerPC
    PowerPC
    PowerPC is a RISC architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM...

     family:
    • IBM PPC4xx
    • IBM PPC7xx
    • Freescale MPC86xx (multicore support on MPC8641D)
    • Freescale MPC85xx (multicore support on MPC8572DS, QorIQ P2020, P4080)
    • Freescale MPC83xx
    • Freescale MPC82xx
    • Freescale MPC74xx
  • MIPS
    MIPS architecture
    MIPS is a reduced instruction set computer instruction set architecture developed by MIPS Technologies . The early MIPS architectures were 32-bit, and later versions were 64-bit...

     family
    • Cavium
      Cavium Networks
      Cavium is a San Jose, California-based company specializing in ARM-based and MIPS-based network, video and security processors. Cavium offers processor and board level products targeting routers, switches, appliances, storage and servers.-Major acquisitions::...

      Octeon Plus (CN58xx and CN56xx)
    • MIPS32
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK