OSE Real-Time Kernel

PRODUCT FEATURES
•High performance
•Intuitive, efficient programming model
•Pre-emptive
•Support for distributed multi-CPU systems
•Support for fault add device tolerant systems
•Automatic process supervision
•Automatic error detection and handling
•Transparent communication
•Dynamic reconfiguration
•Advanced memory management support
•Support for application level debugging
•Certified for safety

The OSE real-time kernel combines rich functionality with high performance and true deterministic real-time behavior. It is a fully pre-emptive kernel, optimized to provide low latency and high rates of data throughput yet compact enough for use in most embedded systems. Designed from the ground up for use in distributed and fault tolerant systems, the OSE realtime kernel stands apart from other operating systems that were developed with a completely diff erent purpose in mind. OSE was designed to address the fundamental shortcomings of those other platforms.

Features of the OSE Real-Time KernelOSE—A Faster Way of Developing Embedded Systems        The OSE real-time kernel meets the needs of developers of real-time systems by combining richness of function,with ease of use.Eight powerful system calls are all that is needed to write the majority of an application. Over 70 additional calls are provided for special purposes. This, combined with OSE’s high-level modular approach, makes code easy to write, easy to share within a team of developers and easy to maintain. Despite its high functionality, the kernel is remarkably small. The kernel requires less than 100 kb of memory.The kernel automatically handles many things normally left to the developer by a conventional real-time operating system.It has sophisticated, built-in error handling and application-level debugging.All interprocess communication is managed transparently by the kernel,regardless of which processor a process is located on. Each process can be automatically supervised.Environment variables,dynamic memory management,and automatic supervision make the system readily reconfi gurable, even during runtime. Together these features signifi - cantly reduce the time and cost of developing and maintaining a real-time system,while greatly improving the quality and reliability of the fi nal product.

8 sysyem calls : HUNT,SEND RECEIVE,ALLOC,DELAY,FREE_BUF,ATTACH,RECEIVE_W_TMO.

Building Blocks of OSE

The most fundamental building block in OSE is a process, because it is through the use of processes that a system shares CPU time. OSE has different categories and types of processes, each with special functionality.

Process Types

Interrupt processes are scheduled in response to a hardware interrupt or, using a unique OSE capability, in response to a software interrupt. They run from beginning to end. Interrupt processes have context just as other processes and always have the highest priority among the process types. Timer interrupt processes act in the same way as interrupt processes, except that they are scheduled periodically according to a specified time period. A prioritized process is the most common process type, typically does the bulk of processing and is written as an infinite loop that run as long as no interrupt process or prioritized process with higher priority becomes ready to run. Background processes run in a strict round robin time slicing mode at a prioritized level below all prioritized processes. A background process can be pre-empted(抢占) by prioritized processes or interrupt processes at any time.

Process Categories Processes can either be static or dynamic.Static processes are created at system start by the kernel. Static processes exist all the time that a system exists. Dynamic processes can be created and killed at run-time enabling multiple instances of the same code and preserving system resources. By offering both types of  processes, OSE enables applications to be optimized for the best performance and flexibility.

Blocks and Segments in OSE The OSE real-time kernel has, in addition to processes, higher-level objects for organizing programs and their resources. The additional kernel objects are blocks and segments. OSE allows a number of processes to be grouped together into a block. A block can have its own local and stack memory pool and blocks can be treated like a process. Blocks can be created, killed and addressed
by a message directly. Mapping blocks to OSE Memory Management System (MMS) segments, and mapping OSE pools to MMS regions can achieve full memory protection and program isolation. Blocks and pools can be located in the same or different MMS segments.

Interprocess Communication In OSE, processes can communicate or synchronize in a number of ways including many mechanisms found in conventional operating systems. The  message-passing architecture and more specifically, the direct message-passing design of OSE that brings about the most powerful result of using OSE. Messages are the most powerful and safe method of interprocess communication and can be used between two processes located on the same CPU or two processes in remote CPUs.

Messages
OSE messages are sent from one process to another. A message, also referred  to as a signal, contains an ID and the addresses of the sender and the receiver—as well as data. Once a message is sent to another process, the sending process can no longer access it. Ownership of a message is never shared. This important feature eliminates the common error of memory access conflicts that can happen so easily in designs based on conventional operating systems. Furthermore,the unique design of this message “hand-off ” in OSE is tremendously more efficient and direct message passing is conceptually more straightforward than the indirect model of other systems. The receiving process may specify which message types it wants to receive at any particular moment. The process can wait for or poll the message queue for a specific signal, one of a set of signals, or any signal. The process can also specify a time limit for a signal before timing out. Through the use of a message-based concept, eight  powerful system calls are enough to write most of the application code, signifi cantly simplifying the coding, and reducing errors. An OSE process is the unit of execution in an OSE System. OSE processes can be grouped into a block that can have it’s own local pool of memory. In the OSE real-time kernel, the address space belongs to a segment, which can include either one or more blocks. OSE enables the development of highly reliable systems leveraging memory protected address segments.

Simple and Safe OSE messages are sent from one process.Because signals contain the sender PID, receiver ID and data, it is very easy  to use and design with processes. Jobs that need to be handled in parallel are dedicated to different processes. When processes exchange information via messages, it is very much like sending a letter from one person to another. The kernel manages mutually exclusive ownership of messages, so a process will not accidentally receive information it should not have.

Signal Redirection The redirection tables allow interprocess communication interfaces to be standardized. Sending processes send to a standard destination and the message is automatically routed to a specific process within a block. A redesign or change in functionality means changing only the redirection table, not the code of the sending process between two processes located on the same CPU or two processes in remote CPUs.

CPU Transparency OSE message passing is fully transparent between different CPUs. A message is sent in the same manner regardless of  whether the receiving process is running in the same or a remote CPU. OSE does not require a master CPU in a distributed system. Each CPU is the same and has the same capabilities. There is no difference in the way a globally visible or a local private process is created. A local process can become globally visible to the whole system without re-creation.It is perfectly straightforward to design applications with OSE where the processes across multiple nodes can be viewed logically as a single system image. This unique capability of OSE enables complex problems and hardware configurations to be vastly simplified in the software model created for the platform.

Real-Time Performance The OSE real-time kernel provides excellent deterministic performance. All time-critical parts of the kernel are highly optimized. In particular, message passing in the OSE real-time kernel is extremely efficient with message pointers “handed off” (只交接signal指针的ownership)rather than message data contents copied excessively between processes, resulting in high data throughput rates. OSE also offers mechanisms for copying messages across memory segments for safer interprocess communication but the choice is given to the developer by defining MMS segment and region boundaries,and creating processes and blocks within specific segemnts. All execution times in the OSE Real-Time kernel are deterministic and are not affected by the size of the application, memory consumption,or number of processes. The OSE Real-Time kernel is a fully pre-emptive Real-Time kernel. An interrupt can be served at any time, even during execution of a system call. The interrupt processing in OSE is optimized for low latency assuring quick interrupt response times and general real-time behavior.

Dynamic Memory Management In the OSE real-time kernel, different levels of memory management support both small systems and large, complex systems with memory protection and other controlled accesses to pooled resources,such as heap memory.The system pool is located in the kernel
memory segment. All processes can allocate memory from the system pool. The OSE real-time kernel provides resource pools at multiple levels: blocks,local pools and memory protected segments to ensure better fault isolation and more reliable system operation.

OSE Real-Time Kernel相关推荐

  1. 智能手机背后隐藏的第二系统 -- OSE

    一.引 言 每部具有移动通信功能的手机都运行着两个操作系统: 在终端用户熟悉的Android和iOS外, 还有一个实时操作系统 (RTOS) 管理着无线电功能. RTOS 这个操作系统储存在固件,运行 ...

  2. Enea公司----OSE/OSEck RTOS

    零.Enea 公司(refer:http://wenku.baidu.com/view/85abe02c4b73f242336c5fde.html) 一.瑞典RTOS供应商Enea公司(OSE/OSE ...

  3. CRASH ANALYSIS of PPC440+OSE PLATFORM

    CRASH ANALYSIS of PPC440+OSE PLATFORM Sailor_forever  sailing_9806@163.com 转载请注明 [摘要]本文分析了PPC440+OSE ...

  4. 在 CUDA C/C++ kernel中使用内存

    在 CUDA C/C++ kernel中使用内存 如何在主机和设备之间高效地移动数据.本文将讨论如何有效地从内核中访问设备存储器,特别是 全局内存 . 在 CUDA 设备上有几种内存,每种内存的作用域 ...

  5. linux内核开机显示企鹅logo,批改linux内核kernel开机logo(小企鹅)

    修改linux内核kernel开机logo(小企鹅) 修改linux内核kernel的开机图片(原为小企鹅图片). 转载请注明出处:http://blog.csdn.net/wang_zheng_ka ...

  6. linux7 kernel.sem,centos7.4内核调优,tcp单服务器万级并发

    在使用linux的centos7.4遇到的各种坑,其中一个项目采用四层架构,配置层,平台层,逻辑服务器管理层和集体逻辑服务器层的,一个整体的游戏项目,其中,作为整个项目负责人和架构打架着,项目运行一年 ...

  7. linux 内核调试信息在哪里,Linux kernel debug技巧----开启DEBUG选项

    Linux kernel debug技巧----开启DEBUG选项 作者:wowo 发布于:2016-11-1 19:39 分类:Linux应用技巧 kernel的source code中有很多使用p ...

  8. 机器学习与高维信息检索 - Note 7 - 核主成分分析(Kernel Principal Component Analysis,K-PCA)

    Note 7 - 核主成分分析(Kernel Principal Component Analysis) 核主成分分析 Note 7 - 核主成分分析(Kernel Principal Compone ...

  9. 机器学习与高维信息检索 - Note 6 - 核, 核方法与核函数(Kernels and the Kernel Trick)

    Note 6 核, 核方法与核函数 到目前为止,我们所讨论的机器学习算法的成功都依赖于对输入数据分布的假设.例如,PCA的效果越好,数据围绕线性子空间分布.或者在线性判别分析中,我们假设类的高斯分布, ...

最新文章

  1. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十九:LCD模块
  2. c++矩阵作为函数输入变量_现代控制理论线性系统入门(七)输入输出解耦的控制器设计...
  3. Ubuntu 中安装 Oracle 10g
  4. 理解spark中的job、stage、task
  5. 人民币金额小写转大写
  6. 规则引擎--规则引擎构成重点
  7. MySQL电影院管理系统_电影院售票管理系统
  8. lisp princ详解_LISP – 输入和输出
  9. [办公应用]word 2007:全屏快捷键,让复制图片保持原样大小(office 全屏快捷键)...
  10. python人工智能之:六边形矩阵热图程序实战篇(一)
  11. 华为云HMS Core 助力鸿蒙开发
  12. filter_var函数缺陷(原理+实践)
  13. 将图片资源放入 html 文件中
  14. 数字逻辑电路(三、集成门电路与触发器)
  15. 只说董超正在家里拴 3gp转换软件
  16. springCloud集成nacos
  17. 适合程序员的耳机_有没有适合程序员打代码时用的耳机推荐?
  18. 7.3 进程管理之暂停、归档和策略
  19. 一个更适合Java初学者的轻量级开发工具:BlueJ
  20. ESP32+PIO+LGVL+gui_guider之【BUTTON实体按键】

热门文章

  1. [python][算法][CS61a]python列表,python抽象数据类型使用练习
  2. 【RenPy】关于ADV模式下say语句输出在NVL模式中文本框的问题
  3. Magics软件中实现蒙皮偏置
  4. 全方位的开源监控工具链介绍
  5. 钱继志 计算机教程,photoshop
  6. 跑分软件Quadrant Advanced Edition v1.1.1 APK高级版
  7. cout internal
  8. 腾讯企业邮箱没有绑定手机也没有绑定微信怎么处理
  9. 魔百盒m301h刷机固件 s-m代工 通-刷 刷机固件及教程
  10. 数学智力题 武士数独题目_这5道数学智力题,“虐哭”很多家长,难倒众多大学生...