Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1100317
  • 博文数量: 139
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 1712
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 23:10
个人简介

每天进步一点点。

文章分类

全部博文(139)

文章存档

2015年(3)

2014年(11)

2013年(25)

2011年(1)

2009年(3)

2008年(29)

2007年(45)

2006年(22)

分类: LINUX

2008-06-12 20:35:12

今天下午楼主大学尼古拉斯教授来工大介绍RTlinux,坚持听了一个下午,什么也没有听懂。看来英语是白学这么多年了。听不懂,但是咱会百度啊。百度了一下,放大连接和资料,呵呵。。。 。。。
1.他们的实验室,RTlinnux就在中国,呵呵!
2. Nicholas Mc Guire简介。members/hofrat/
3.chinaunix博客上的一篇RTlinux介绍。http://blog.chinaunix.net/u1/48817/showart_421479.html
4.RTlinux百度知道。


听说他还要来我们实验室看看。这次一定要好好和他对上两句,嘿嘿。。。。。。。

RTlinux
开放分类: 、、
 RTlinux是源代码开放的具有硬实时特性的多任务操作系统,它是通过底层对Linux实施改造的产物。通过在L inux内核与硬件中断之间增加一个精巧的可抢先的实时内核,把标准的Linux内核作为实时内核的一个进程与用户进程一起调度,标准的L inux内核的优先级最低,可以被实时进程抢断。正常的Linux进程仍可以在Linux内核上运行,这样既可以使用标准分时操作系统即Linux的各种 服务, 又能提供低延时的实时环境 。
 RTLinux是美国新墨西哥州大学计算机科学系VictorYodaiken和Micae Brannanov开发的。它在Linux内核的下层实现了一个简单的实时内核,而Linux本身作为这个实时内核的优先级最低的任务,所有的实时任务的 优先级都高于Linux系统本身的以及Linux系统下的一般任务。RTLinux的体系结构如图1所示。
    RTLinux的设计思想是:应用硬件的实时约束将实时程序分割成短小简单的部分,较大部分承担较复杂的任务。根据这一原则,将应用程序分为硬实时和程序 2个部分。硬件实时部分被作为实时任务来执行,并从外部设备拷贝数据到一个叫做实时有名管道(RTFIFO)的特殊I/O端口;程序主要部分作为标准 Linux进程来执行。它将从RTFIFO中读取数据,然后显示并存储到文件中,实时部分将被写入内核。设计实时有名管道是为了使实时任务在读和写数据时 不被阻塞。图2所示的是实时有名管道结构图。
    RTLinux通过对标准Linux内核进行改造,将Linux内核工作环境作了一些变化。如图2所示,在Linux进程和硬件中断之间,本来由 Linux内核完全控制,现在在Linux内核和硬件中断的地方加上了一个RTLinux内核的控制。Linux的控制信号都要先交给RTLinux内核 进行处理。在RTLinux内核中实现了一个虚拟中断机制,Linux本身永远不能屏蔽中断,它发出的中断屏蔽信号和打开中断信号都修改成向 RTLinux发送一个信号。如在Linux里面使用“SI”和“CLI”宏指令,让RTLinux里面的某些标记做了修改。也就是说将所有的中断分成 Linux中断和实时中断两类。如果RTLinux内核接收到的中断信号是普通Linux中断,那就设置一个标志位;如果是实时中断,就继续向硬件发出中 断。在RTLinux中执行STI将中断打开之后,那些设置了标志位表示的Linux中断就继续执行,因此,CLI并不能禁止RTLinux内核的运行, 却可以用来中断Linux。Linux不能中断自己,而RTLinux可以。
    这里体现了RTLinux设计过程中的原则:在实时模块中的工作量尽量少,如果能在Linux中完成而不影响实时性能的话,就尽量在Linux中完成,因 此,RTLinux内核可以尽量做得简单。在RTLinux内核中,不应该等待资源,也不需要使用共享旋转锁。实时任务和Linux进程之间的通信也是非 阻塞的,从来不用等待进队列和出队列的数据。RTLinux将系统和设备的初始化交给了Linux 完成,对动态资源的申请和分配也交给了Linux。
    RTLinux使用静态分配的内存来完成硬件实时任务,因为在没有内存资源的时候,被阻塞的线程是不可能具有实时能力的。
阅读(1315) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~