RTCoreBSD Hard Real-Time Operating System

FSMLabs RTCoreBSD systems include a hard real-time POSIX RTCore kernel that runs BSD as an application (via their two kernel technology). As a result RTCoreBSD extends BSD to handle real-time applications like device control, network routing, video, robotics, and factory automation. All standard BSD applications run as efficiently as usual. The intention of the RTCore design is to add real-time scheduled threads and handlers to the toolbox of a POSIX programmer, just as a database system adds database programs to the toolbox. By retaining UNIX as a platform for non-real-time applications, FSMLabs builds on standards instead of requiring niche "sort of POSIX" RTOS solutions. RTCoreBSD provides the same real-time environment as RTLinux - with the only change being the substitution of BSD for Linux.

FSMLabs' BSD customers, like Juniper and Caymas, get performance that used to require ASICs on commodity hardware with complete software control. And they do not have to sacrifice the legendary high performance networking of FreeBSD or the flexibility and compactness of NetBSD.

Embedded systems development is an inherently risky and costly business. FSMLabs license and support costs are low enough to be a small part of the cost of an embedded product. And their technology and support is designed to reduce customer risks.

Key benefits:

    * BSD UNIX offers a standard platform, standard networking, a widely known standard API (with many experienced programmers available), and a large competitive market for utilities (like databases). And support for BSD development is shared by many companies across a wide range of industries.
    * RTCoreBSD real-time is decoupled from the non-real-time system so that non-real-time system load cannot cause expensive surprises during the development process (Who wants to hear "it worked well enough with the prototype, but when the application was nearly ready to ship, it started dropping packets?").
    * Top notch support from FSMLabs ensures that your development team can focus on your product, and not get pulled into the download/build/tinker model that wastes time and money.

RTCore real-time performance rests on the use of FSMLabs' patented technology to take over control of interrupts from BSD. Real-time threads scheduled by RTCore cannot be preempted or even delayed by BSD processes or the BSD kernel. Real-time interrupt handlers installed under RTCore cannot be delayed or disabled by the BSD kernel. Unlike the famously slow microkernel or, even worse, virtual machine, RTCore allows the platform operating system to go directly to hardware for non-real-time devices, to manage its own memory, and to schedule its own processes free from interference or costly layers of emulation. The existence of real-time capability does not require redesign of the non-real-time system or degrade its performance (of course, resources allocated to real-time software does take away from resources available to non-real-time software, but overhead is minimal.)

RTCore provides file-I/O (rtfifos) and shared memory for structured communication between real-time and non-real-time software. For example, a real-time thread can use standard file I/O (even "printf") to send data to a non-real-time process for analysis and/or logging.

PSDD for RTCore FreeBSD technology allows programmers to create real-time threads inside the address space of UNIX processes. PSDD threads run under the control of the real-time scheduler but share the limited and protected address space of a UNIX process. Currently FSMLabs supports PSDD on FreeBSD and Linux only.


RTCoreBSD系统包含了一个硬实时 POSIX RTCore 内核,该内核把BSD运行为一个应用程序(这是通过我们的双内核技术实现的)。其结果是,RTCoreBSD 扩展了BSD,可以用来控制实时应用,如设备控制,网络路由,视频,机器人技术以及工业自动化等。所有标准的BSD应用程序都会像平常一样高效地运行。 RTCore的设计目标是把实时调度的线程和处理程序添加到POSIX编程人员的工具箱中,就像数据库系统把数据库程序添加到工具箱中那样。通过保留 UNIX作为非实时应用程序的平台,我们可以建立标准的而不是需要合适的"sort of POSIX"的RTOS解决方案。RTCoreBSD提供了和RTLinux相同的实时环境 - 唯一的不同就是用BSD替换了Linux。

我们的BSD客户,如 Juniper 和 Caymas,完全用的软件控制就可以在普通硬件上获得用来满足ASIC的性能。不需要牺牲FreeBSD的高性能网络或者NetBSD的简洁和灵活性。

    * BSD UNIX 提供了标准平台,标准网络,广为人知的标准API(许多有经验的程序员都会用到),以及巨大的有竞争力的工具市场(如数据库)。同时,工业领域的众多公司共同分享BSD开发方面的支持。
    * RTCoreBSD 的实时部分与非实时系统是分离的,所以在开发过程中,非实时系统的负荷不会导致出人意料的事情发生(谁愿意听到这样的话呢,“原型工作得很好,但是当应用程序临近发布的时候却开始出毛病呢?“)。
    * 来自我们的顶级支持确保你的开发团队能够集中精力开发产品,而不用在下在/构建/修补等方面浪费时间和金钱。

RTCore 实时性能建立在使用我们专利技术之上,该技术使其能够接管来自BSD的中断控制。由RTCore进行的实时线程调度不能够被强占,也不能被BSD进程或者 BSD内核延迟。安装在RTCore下的实时中断处理器也不能被BSD内核延迟或禁用。与非常费时的微内核或者更差的虚拟机不同,RTCore允许平台操作系统为非实时设备直接访问硬件,允许管理自己的内存,也允许调度自己所拥有的进程来避免冲突或竞争。现存的实时性能不要求重新设计非实时系统,也不会降低其性能(当然,分配给实时软件的资源确实减损了非实时软件可用的资源,但这种开销是微不足道的)。


RTCore FreeBSD的PSDD技术允许编程人员在UNIX进程的地址空间中创建实时线程。PSDD线程在实时调度器的控制下运行,但是共享UNIX进程有限的、受保护的地址空间。