📄 00000000.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: xog (雪剑心), 信区: Linux <BR>标 题: RTLinux 简介(1) <BR>发信站: BBS 水木清华站 (Wed Jan 12 09:54:29 2000) <BR> <BR> <BR> Linux的应用主要有网络服务器、桌面应用、及嵌入式实时应用,对于 <BR>Linux的嵌入式应用,相对来说是一片空白。 <BR>我正在做Linux下的实时应用的项目,现在把我整理的一些文档贴出来, <BR>希望起到抛砖引玉的作用,并希望和有共同兴趣的朋友一起探讨. <BR> <BR> <BR> POSIX是为保证UNIX系统的兼容和可移植幸而建立的国际标准,在POSIX1.b中,规定 <BR>了一些 <BR>实时特性,Linux中已开始实现这些特性,但由于Linux内核的不可抢先性(nonpreemta <BR>ble), <BR>无法在标准的Linux环境下实现真正的实时应用。而RTLinux用巧妙的技术解决了此问题 <BR>。 <BR> RTLinux并没有重写Linux的内核,因为这样的工作量会非常大,而且将会失去Linux <BR>的兼容 <BR>性。RTLinux实现了一个高效的可抢先的实时调度核心,并把Linux作为此核心的一个优 <BR>先级最 <BR>低的进程运行,用户可以编写自己的实时进程,和标准Linux共同运行。 <BR> 为了达到中断的实时响应,RTLinux接收所有中断,然后传给Linux内核处理,因此当 <BR>Linux <BR>内核屏蔽中断时,斌顾不影响中断的处理,据测试,在Pentium 120的PC上,Linux中断 <BR>延迟是 <BR>20 uS左右。 <BR>3.1 RTLinux的接口 <BR> int RTLoad(const char *FILE):装载一个RTLinux实时任务,并返回其ID。 <BR> int RTRun(int pid):运行由RTLoad装载的任务,初始优先级为低。 <BR> int RTKill(int pid):终止实时进程。 <BR> int RTGet_time(RTime *t):返回从系统启动到函数调用止的是中滴达数,常量 <BR> RT_ticks_per_sec 表示每秒时钟滴达数。 <BR> int RTset_params(RTime *start,RTime *period,int priority):设置实时任务的 <BR> <BR> 参数。 <BR> int RTwait_start(RTime *start,RTime *period,int priority):挂起实时进程直 <BR> <BR> 到启动时间到达,并重设优先级。 <BR> int RTwait_period():挂起实时进程直到下一个调度周期
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -