OSE-Real-Time_Kernel

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 Kernel OSE—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.

 

The OSE RTOS System enables customers to differentiate themselves from their competition by using the unique
features and benefi ts found only in OSE products.

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值