在vxworks中,period命的具体用法是怎样的

author author     2023-03-14     246

关键词:

在vxworks中,period命的具体用法是怎样的

嵌入式实时操作系统VxWorks入门嵌入式 Linux 系统是标准 Linux 在嵌入式领域的延伸,其特点和功能与标准 Linux 几乎完全相同。 Linux 系统的稳定性和健壮性已经在真实世界中得到了证明,在工业控制领域也有许多非常成功的应用。但是,在针对一些有较强实时性要求的特定工业应用中, Linux 系统仍然暴露 出 了许多技术缺陷。其主要原因是因为 Linux 系统起初是为 PC 开发的,在功能和性能选择上更多的兼顾了 PC 应用的特点,追求系统的功能完备性和整体性能最优。这一点在 Linux 系统的调度策略上表现的尤为明显,如任务之间采用的是基于 分时技术 ( time-sharing ) 的调度策略,而且不支持内核态抢占式调度,这样系统就无法保证紧急任务总是会被优先执行,且调度延迟不确定,是随机可变的。

因此,有相当多机构和公司都在研究如何提高 Linux 实时性能,并取得了一些富有成效的成果。同时,开源社区也做着同样的事情,那就是 Linux 2.6 版本的开发。开源社区采用的实时化思想是直接对 Linux 内核的调度机制和算法进行修改和优化。 Linux 2.6 内核开发大约是从 2001 年开始,经过三年左右的开发,在 2004 年发布了稳定版本,经过了这几年的测试与改进,已经在桌面 PC 和服务器领域内得到了大量使用,在嵌入式系统上的应用也在不断发展中。 Linux 2.6 版本中与实时性相关的改进主要体现在以下几个方面。

⑴ 调度计算的分散性。 2.6 版本中采用了由 Ingo Molnar 实现的调度算法,该算法将进程优先级的计算分散在多处进行,而不是集中在一个统一的调度函数中,这样不仅提高了计算效率,还减小了 CPU 因集中调度计算所消耗的时间,并且使调度器的时间开销是与系统负载无关,是 O(1) 恒定的。

⑵ 抢占式内核的支持。 2.6 版本中提供了对抢占式内核的支持,而 2.4 内核是不支持内核抢占的。支持抢占式调度是实时操作系统的标志之一,这也是早期 Linux 系统应用于实时应用时最为诟病的地方。

⑶ 系统同步机制的改进。 2.6 内核中则对系统中同步机制的使用进行了优化,大大减小了因同步机制引起的时间消耗。

⑷ 更细的时间粒度。在 2.6 内核中,定时器的频率被定义为 1000Hz ,而 2.4 内核中为 100Hz 。

虽然, Linux 2.6 系统仍然不是严格实时系统,但它的实时性能得到了很大提高却是个不争的事实,有关文献采用统计的方法对 Linux 2.6 和 2.4 内核中任务响应和中断响应的进行了 310 万次测试,然后对平均响应时间和最坏响应时间进行了对比,下图 (a) 和 (b) 给出了时间比较结果。从结果可以看出 2.6 内核的实时响应能力要远高于 2.4 内核,差距至少在十多倍以上。这一结果更增强了用户将 2.6 内核应用到各种非严格实时应用中的信心。追问

sb,你贴这些给我看干什么,既浪费了你的时间,又浪费了我的时间

参考技术A 启动一个task去周期性执行你指定的函数
/*******************************************************************************
*
* period - spawn a task to call a function periodically
*
* This command spawns a task that repeatedly calls a specified function,
* with up to eight of its arguments, delaying the specified number of
* seconds between calls.
*
* For example, to have i() display task information every 5 seconds,
* just type:
* .CS
* -> period 5, i
* .CE
* NOTE
* The task is spawned using the sp() routine. See the description
* of sp() for details about priority, options, stack size, and task ID.
*
* RETURNS: A task ID, or ERROR if the task cannot be spawned.
*
* SEE ALSO: periodRun(), sp(),
* .pG "Target Shell,"
* windsh,
* .tG "Shell"
*/

int period
(
int secs, /* period in seconds */
FUNCPTR func, /* function to call repeatedly */
int arg1, /* first of eight args to pass to func */
int arg2,
int arg3,
int arg4,
int arg5,
int arg6,
int arg7,
int arg8
)

参数1= 执行周期(秒数)
参数2= 函数指针
参数3-11 =指定函数的参数本回答被提问者采纳
参考技术B int period
(
int secs, /* 执行周期 */
FUNCPTR func, /* 到期执行函数入口 */
int arg1, /* 函数的传参,不用的可置为0 */
int arg2,
int arg3,
int arg4,
int arg5,
int arg6,
int arg7,
int arg8
)

读书印记-《活出生命的意义》

看完这本书之后心情很沉重。书的前半部分是作者对集中营中经历的回忆和思考,后半部分则是对心理医学中意义疗法的解读,在集中营那样痛苦绝望的环境中作者坚持活了下来并成为少数幸存者,这样沉重的经历让人感同身受... 查看详情

vxworks启动过程具体解释(下)

...一节主要是从映像的分类和各种映像的大致载入流程上看VxWorks的启动过程,这一节让我们从函数级看一下VxWorks的启动过程:1.BootImage + LoadableImages: 以下是详细的流程图: 当中第一阶段的运行流程使用的是上图的左... 查看详情

period的用法和例句

...解它的意思,以及弄懂它的用法。下面是我给大家带来的period的用法和例句_period的中文意思是什么,以供大家参考,我们一起来看看吧!period的中文意思age,epoch,era,period,times这些名词均含“时期、时代”之意。age常指具有显... 查看详情

怎样查java中每一种类的用法

....cn/去右侧菜单下一个jdk1。5的帮助文档,里面有每个类的具体字段,构造方法,方法的具体用法,及子类和父类是什么都可以找到~~~~不会加我 参考技术C用java帮助文档html格式的,你用哪个类直接点击就可以查看,很方便... 查看详情

function()函数的具体用法

请大侠具体告知,高分赠送!函数实际上是一个统一的代码块,你可以随时调用它。所有函数的开头必须加上“function()”给函数命名:最好的命名方法是,函数拥有的名称和它所表现的功能相一致。function()函数语法:function函数名... 查看详情

python中logging模块的基本用法

在PyCon2018上,MarioCorchero介绍了在开发过程中如何更方便轻松地记录日志的流程。整个演讲的内容包括:为什么日志记录非常重要日志记录的流程是怎样的怎样来进行日志记录怎样进行日志记录相关配置日志记录使用常见误区下... 查看详情

java中,return的具体用法!

...在什么情况下用return比较好,什么情况下不用return?return的具体语法是什么?不同的变量,return的语法是否不一样,return后面到底接什么?如何使用return的返回值?for(inti=0;;i++)System.out.print("急");我同学说,return是不能在自身的方法... 查看详情

常在英文书籍里看到period.这种用法,哪位了解

看英文原版的杂志或资料经常遇到period的这种用法就是一句只有period一个词,后面加句号什么意思啊比如下面这段(JAVA程序设计英文原版教材中)methodoverloadingisnothingmorethanhavingtwomethodswiththesamenamebutdifferentargumentslist.Period.There'snopo... 查看详情

求sqldeclare的具体用法.

.只知道它是变量的和它的表达格式.-_-!用法不清楚是应用在哪方面.麻烦各位大虾帮下.参考技术A是用来定义变量的,一般用在存储过程里 参考技术B崖都是磨识答 查看详情

asar如何解密加密?electron的asar的具体用法

...(asar打包)的需求 asar如何解密加密?electron的asar的具体用法(图12-1) 在本篇文章中,苏南大叔将要讲述的内容就是:asar工具的使用。本文的模特是:在mac下面,使用electron-packager简单打包的quick-start项目dmg文件。 ... 查看详情

auto在c语言中的用法,下面小程序num编译结果是怎样的,该怎样理解?

#include"stdio.h"main()inti,num;num=2;for(i=0;i<3;i++)printf("\40:Thenumequal%d\n",num);num++;autointnum=1;printf("\40:Theinternalblocknumequal%d\n",num);num++;参考技术A在函数内部定义的变量成为局部变量。在某些C语言教材中... 查看详情

老电脑怎么连接网络具体的操作步骤是怎样的呢?

...购买一个USB无线网卡,将其插入电脑上即可使用。以下是具体的连接步骤:1.有线连接:将电脑的网线插入在网口,即可自动连接网络。2.无线连接:若是无线连接,则需要您在电脑中打开“网络和共享中心”(可通过双击电脑... 查看详情

indexof()的用法,具体是啥意思??

举个例子?谢谢拉javascript中的用法?indexOf()的用法:返回字符中indexof(string)中字串string在父串中首次出现的位置,从0开始!没有返回-1;方便判断和截取字符串!indexOf()定义和用法indexOf()方法可返回某个指定的字符串值在字... 查看详情

java中print与println的区别是?具体用法?

只有一个区别:print在本次输出之后不会换行,println在本次输出之后会换行。两者区别及用法实例演示如下:一、实例代码如下。二、执行结果如下:可以看到println相当于是print加上换行符的效果。三、执行99乘法表中两者使用... 查看详情

什么是dos命令,怎样知道关于dos的更多问题?

哪位高手给详细说一下,具体都是怎么做的,重谢!DOS常用命令要想操作使用DOS,知道一些常用命令是非常重要的。以下是一些命令的用法。文件名是由文件路径和文件名称合起来的,如C:\DOS\COMMAND.COM。DIR显示文件和文件... 查看详情

c++中cin和cout的具体用法是怎么样的?

参考技术Acin是格式化输入,cout是格式化输出。intia;charca;cin>>ca>>ia;//依次从标准输入读入ca和iacout<<ca<<ia;//依次向标准输出打印ca和ia本回答被提问者和网友采纳 参考技术Bcin和cout两个东东都包含在头文件#include<... 查看详情

errno 在 VxWorks PPC 中总是返回零

】errno在VxWorksPPC中总是返回零【英文标题】:errnoreturnszeroalwaysinVxWorksPPC【发布时间】:2010-03-2615:36:01【问题描述】:我在VxWorksPPC上运行我的代码,如果系统调用失败,尤其是对于套接字发送/接收函数,errno总是返回0。经过一些... 查看详情

wpf怎样使用datagrid控件

...关属性的设置或者进行一些动画和效果。  关于表格中具体列的定义如下:    关于DataGrid表格的定义就基本完成。 查看详情