千家信息网

C# Windows CE特点之实时性的示例分析

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,这篇文章主要为大家展示了"C# Windows CE特点之实时性的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C# Windows CE特点之实
千家信息网最后更新 2024年09月21日C# Windows CE特点之实时性的示例分析

这篇文章主要为大家展示了"C# Windows CE特点之实时性的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"C# Windows CE特点之实时性的示例分析"这篇文章吧。

C# Windows CE特点之实时性

C# Windows CE的***一条设计目标是要支持实时系统的开发。在嵌入式编程中,实时性就是指在指定时间内完成指定任务的能力,这些任务可能是计算某个值,记录某次输入,或者是向某个外部设备发送一条命令。很多系统要求无论负荷有多么重,系统都应该能够连续可靠地执行这样的一个任务(或者是一些任务)。

从C# Windows CE 3.0开始,C# Windows CE开发团队就加入了一系列特性以支持实时系统的开发。其中包括支持256个线程优先级(C# Windows CE一直都支持多线程编程)和嵌套的中断请求。C# Windows CE对实时性的支持在C# Windows CE Platform Builder的文档中定义如下:

◆保证高优先级线程安排的上限,但仅对所有排队线程中优先级***的线程有效。

◆在执行高优先级中断服务程序(ISR,interrupt service routine)时保证延时的上限。在内核中专门设置了一些空间用于临时关闭中断服务。

◆确保对调度程序的控制,使其能顺利地安排线程。

实时系统可以根据需求分为两种,一种要求硬实时,另一种则要求软实时。软实时需求的系统在没有严重后果的情况下允许出现一些延时,而硬实时需求的系统中则不能出现任何一点延时。

硬实时需求系统的例子如工厂里控制机器手臂动作的系统。有时也许必须移开这个手臂才能让生产线继续向前流动,或者才能让其它的机器进入生产线开展工作,但是如果没有及时移开它,结果可能会导致这个手臂、产品或者部分生产线被破坏。(我们假设这样的事故会使整条生产线停下来,造成大量时间和成本的损失。)

尽管C# Windows CE提供很好的实时性支持,但.NET精简框架却不是一个理想的构建实时组件的编程接口。这是因为运行时引擎可能会出现各种时间间隔不等的延时。例如,在使用运行时编译执行(JIT,just-in-time)编译器(本章后面会有介绍)装载代码和将代码编译为本地机器代码时,都会出现延时。

托管代码与非托管代码

.NET精简框架代码有时也可作为托管代码,但对应用程序程序员来说,它最重要的特性是由运行时来管理数据,特别是已清除的数据。尽管代码也可以被托管,但是必须确保其中没有错误的内存指针。本书第3章将重点介绍这个问题。

相反,Windows API代码有时也可作为非托管代码。这是一种以.NET为中心处理问题的方法,尽管我们有时使用如本地代码和Win32代码之类不同的术语来指代它。

C# Windows CE遇到的问题,另外,当垃圾回收器工作的时候也可能出现延时,因为这时所有在托管代码中运行的线程都被冻结了,然而非托管代码则不会。因此,.NET精简框架托管代码可以支持实时线程16,但是多数情况下实时线程是通过调用Win32的DLL在非托管代码中实现的。当然,以上只是一些基本原则,如果是一个很快的CPU,系统负荷也很轻,在托管代码中运行的线程也能提供足够快的响应以满足这个系统实时性支持的要求。对于定时和性能的关系,我们需要"三思而后行"(measure twice and cut once),测量所需性能的次数往往跟错失实时性底限的程度成正比。

以上是"C# Windows CE特点之实时性的示例分析"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

实时 代码 C# 系统 线程 托管 实时性 支持 运行 特点 任务 优先级 生产线 程序 需求 生产 示例 分析 内容 手臂 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 orcal数据库入门教程 怎么导出数据库表格 服务器是如何保证一直运行的状态 石家庄软件开发公司工资一般多少 软件开发研究所 湖南电力应急软件开发价格标准 服务好的pc软件开发费用 spss数据库建立 网络安全信息审查 座机需要装什么服务器不会被封号 如何ping游戏服务器 牟平区电商软件开发推荐 迁安数据网络技术售后服务 服务器的硬盘可以用普通硬盘吗 服务器硬件小型 广西网络安全技术培训中心 铁岭互助盘软件开发价格 服务器安全组规则和方向 阳江无限软件开发直销价 怎样制作二维码数据库 广州通讯软件开发价格走势 服务器 终端 seer数据库密码错误3次 简幻欢服务器怎么开实验模式 网络安全是干什么的累吗 服务器信息安全协议 崇明区直销软件开发生产过程 软考软件开发考什么类型的 北京中信银行软件开发难吗 洗车美容软件开发
0