Services and Extensions
At the heart of Microware OS-9 lies a collection of kernel services, extensions, and industry standard APIs, which support virtually any class of peripheral for embedded systems:
- Serial/Parallel I/O
- USB 1.1/2.0
- microSD Flash
- Disk Storage I/O (SATA, SCSI, IDE)
- PCMCIA I/O, PCI I/O, PCI Express, PCIX, compact PCI
- SLIP and PPP client support
- NFS Server and Client
- Sample drivers and framework
- Finished ported boot images for reference platform(s)
Customizable Exception Handling Framework
- Isolates, contains, and cleans up after offending software
- Customizable exception handling to extensively log, report and/or perform automated recovery exception conditions
Menu system that automates operating system boot build for supported reference platforms:
- GUI based configuration and build of system images
- Point-and-click control for networking, TCP/IP configuration, graphics and debugging
- Automatic creation of software images for target system
TECH-CHECK Diagnostic Platform
- Unique tool for online customer support in real-time
- Capture/send target and host system information report to customer support
Microware OS-9 Options
OS-9 add-on modules extend functionality for embedded development and run-time environments.
- HawkEye - A GUI based software analyzer to visualize the operation of an OS-9 system and application modules.
- XiBaseGUI - Graphics tool to enable the creation of displays, user interfaces and touch screens.
- IPsec - Soft-crypto authentication and encryption protocol package for securing IP communications.
- EtherCAT - Real-time, high peformance Ethernet-based fieldbus system.
- CANbus - Control-area network for industrial and automotive systems.
- Modbus - Serial communications bus for industrial control and automation.
- Reliance File System - Data file protection for mission-critical embedded systems.
- TrueFFS - Wear-leveling Flash file system for embedded systems.
- RTS Hypervisor - Real-time hypervisor enabling simultaneous instances of real-time and general purpose operating systems on multi-core platforms.
Microware OS-9 offers out-of-the-box support for a broad array of processors and architectures:
- SuperH (SH-3, SH-4, SH-4A)
Under the Hood: The Microware OS-9 Architecture
OS-9 utilizes an advanced modular software structure that creates an optimum balance of speed and protection for the embedded systems and applications. OS-9 runs faster compared to microkernel operating systems, and offers an increased level of security compared to monolithic architectures. All modules and components that make up an OS-9 system–including the kernel, file managers, drivers and applications–are stored as logical OS-9 memory modules. Each memory module is a self-contained program consisting of module header, module body, and a Cyclic Redundancy Check (CRC) value. These logical software components are easy to create and manage, while ensuring high availability of the OS-9 platfom.
Real-Time, Multi-Tasking Kernel
OS-9 features a process-based, real-time kernel with POSIX thread support, complete with an extensive scheduler and inter-process communication facilities. Kernel features include:
- Pre-emptive, priority-based, aging scheduler–assuring real-time responsiveness to interrupts and events
- Fault tolerance with exception handling and MMU support
- Process-based architecture with unlimited number of threads
- Inter-process communication services: Signals, Events, Semaphores, Pipes, and Data modules
- Tasks divided into priority-based classes
- Tasks can dynamically change priority
- Modular architecture based on dynamic linking
- Able to run out of Flash or ROM with no file system requirement
- Support for lightweight processes via the POSIX threads API allows easy portability to the OS-9 environment
Microware OS-9 supports three types of protective boundaries:
- The user/system state boundary: User state code uses the processor's non-privileged instruction set, and the operating system's user-state system calls. These restrictions let the operating system contain the application within processor boundaries.
- Process boundaries: Each process is granted access to resources by the operating system. OS-9 prevents processes from erroneously or maliciously disturbing other processes' resources without proper authorization. If the system is using a memory management unit, OS-9 uses it to enforce memory access protection rules. If there is no MMU, OS-9 still makes an effort to enforce protection rules.
- User/group protection: Each process, each module, and (for most file systems) each file has an associated owner. OS-9 uses ownership and permissions to administer access to resources.