Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Windows 7不支持实时串行通信是真的吗?_Vb.net_Windows 7_Serial Communication - Fatal编程技术网

Vb.net Windows 7不支持实时串行通信是真的吗?

Vb.net Windows 7不支持实时串行通信是真的吗?,vb.net,windows-7,serial-communication,Vb.net,Windows 7,Serial Communication,我的一位同事从一位软件开发人员那里得到了一份涉及串行通信的报价,在他们的报价中,开发人员做出了以下声明: …Windows 7操作系统,使用非实时串行通信设置 Windows 7是否真的不支持实时串行通信?为了澄清“实时”的含义,该项目涉及机器人自动化,任何通信延迟(如缓冲)都可能导致产品损坏或生产线停止。我找不到任何支持或否认这一说法的证据。但我不相信这是真的,我认为这可能与他们使用VB.Net进行开发有关 此处使用的“实时”术语实际上并不指串行通信总线中的任何内容 然而,它确实与window

我的一位同事从一位软件开发人员那里得到了一份涉及串行通信的报价,在他们的报价中,开发人员做出了以下声明:

…Windows 7操作系统,使用非实时串行通信设置


Windows 7是否真的不支持实时串行通信?为了澄清“实时”的含义,该项目涉及机器人自动化,任何通信延迟(如缓冲)都可能导致产品损坏或生产线停止。我找不到任何支持或否认这一说法的证据。但我不相信这是真的,我认为这可能与他们使用VB.Net进行开发有关

此处使用的“实时”术语实际上并不指串行通信总线中的任何内容

然而,它确实与windows多任务调度程序的设计不允许实时任务具有硬截止日期这一事实有关

请参阅此问题以了解一些信息


让我们假设你有一个粒子加速器连接到你的计算机上,你必须确保每10微秒磁铁序列切换到下一组电池,但windows决定是时候应用一些windows更新补丁了。光子流无法正确重定向,可能会损坏系统。

此处使用的“实时”术语实际上并不指串行通信总线中的任何内容

然而,它确实与windows多任务调度程序的设计不允许实时任务具有硬截止日期这一事实有关

请参阅此问题以了解一些信息


让我们假设你有一个粒子加速器连接到你的计算机上,你必须确保每10微秒磁铁序列切换到下一组电池,但windows决定是时候应用一些windows更新补丁了。光子流无法正确重定向,可能会对系统造成损坏。

这是一个相当荒谬的说法,Windows本身不是实时操作系统。它不能提供用户模式代码响应速度足够快的硬保证。除了线程调度延迟之外,一个简单的错误(比如将进程的页面交换到分页文件)就足以导致重新运行进程时的任意延迟。任何按需分页虚拟内存操作系统的属性。因此,当然“串行通信设置”也不能,假设您不打算编写环0内核代码。没有人知道

这不是一个实际问题,使用串行端口的唯一目的是与机器人的控制器通信。提供了实时性保证


只有当你命令机器人不受限制地移动并使用外部传感器使其停止时,你才会遇到麻烦。当你需要找到一个你不知道其位置的物体时,这种情况并不少见。一个好的控制器知道如何做到这一点,避免在Windows代码中实现它。机器人本身内置的触发急停的可靠超程保护是必要的,无论如何,你也不能相信那个传感器。

这是一个相当荒谬的说法,Windows本身不是实时操作系统。它不能提供用户模式代码响应速度足够快的硬保证。除了线程调度延迟之外,一个简单的错误(比如将进程的页面交换到分页文件)就足以导致重新运行进程时的任意延迟。任何按需分页虚拟内存操作系统的属性。因此,当然“串行通信设置”也不能,假设您不打算编写环0内核代码。没有人知道

这不是一个实际问题,使用串行端口的唯一目的是与机器人的控制器通信。提供了实时性保证

只有当你命令机器人不受限制地移动并使用外部传感器使其停止时,你才会遇到麻烦。当你需要找到一个你不知道其位置的物体时,这种情况并不少见。一个好的控制器知道如何做到这一点,避免在Windows代码中实现它。机器人本身内置的触发急停的可靠超程保护是必要的,无论如何,你也不能相信该传感器。

不,Windows 7(事实上所有主流Windows版本)都不是。要澄清什么是实时操作系统,请执行以下操作:

实时操作系统(RTOS)是一种操作系统(OS) 旨在为实时应用程序请求提供服务。它必须能够 在数据进入时处理数据,通常没有缓冲延迟。 处理时间要求(包括任何操作系统延迟)以 十分之一秒或更短

RTOS的一个关键特征是其一致性级别 关于接受和完成申请所需的时间 应用程序的任务;变化是抖动。[1]硬实时 操作系统的抖动比软实时操作系统小 系统主要的设计目标不是高吞吐量,而是 软性能或硬性能类别的保证。一个可以 通常或通常情况下,满足期限是一个软实时操作系统,但如果 它是一个硬实时操作系统,可以决定性地满足最后期限。[2]

RTOS具有高级调度算法。调度程序 灵活性实现了更广泛的计算机系统流程编排 优先级,但实时操作系统更经常地专用于 狭窄的应用程序集。实时操作系统中的关键因素是最小的 中断延迟和最小线程切换延迟;实时操作系统 更重要的是它的响应速度和可预测性,而不是 在给定的时间段内,它可以完成的工作量。