Windows XP | Windows Vista | Windows 7 | Windows 8 | Windows 10 | Windows 11 |

Windows_logo_horiz_blue_rgb

HOWTO: 设置 Windows IoT 设备以实现 Soft Real-Time

        今天 gOxiA 要分享是如何设置 Windows IoT 设备以实现 Soft Real-Time,在开始前我们需要先了解一下什么是 Real-Time!这里的 Real-Time 通常是指实时操作系统,运行在其中的程序执行结果和获得这些结果所花费的时间是确定的,而我们平常使用的操作系统在运行程序时只会给出确定性的结果,但允许有不确定的时间来完成任务。实时操作系统有硬实时和软实时两种,前者是可以确定到确切时刻的系统,如汽车发动机或飞机内的微型控制器、打印机、激光切割机等。而后者如其名会有一些操作系统的抖动,虽然程序完成的时间窗口很小但仍不是精确的时刻,其精度较低,但可以在多核上运行并对应用程序施加较少的限制。此外,实时性能不代表更快的性能,只是可预测的性能,如果我们的应用场景有实际的限制,例如必须在机器人环境改变之前执行的计算或必须在传送带移动之前激活的电机,那么软实时可能就是我们所需要的。

        从 Windows 10 IoT Enterprise 21H2 开始支持 Soft Real-Time,通过以下四个关键设置引入:

  1. CPU 隔离:将系统级干扰从隔离的 CPU 迁移出去,减少对用户实时应用程序的潜在抖动
  2. 自定义 ISR (Interrupt Service Routine - 硬件中断发生时立即执行)/DPC (Deferred Procedure Call - ISR 结束后由系统调度执行)在独立实时 CPU 上高度绑定执行:所有硬件中断都路由到系统和非实时内核,但通过编写自定义 ISR/DPC 驱动程序,可将设备特定的中断路由到实时内核。
  3. 互斥体的优先级继承:通过启用优先级继承,系统在检测到高优先级线程等待低优先级线程持有的互斥体时,会自动调整线程优先级,从而保持任务调度的实时性与确定性。
  4. 最多16个RT线程优先级别:通过提供16个可配置的实时线程优先级级别,系统允许开发者根据任务的重要性分配资源,以实现对执行顺序的精确控制。

        接下来 gOxiA 将在 Windows 11 IoT Enterprise 24H2 上配置以实现 Soft Real-Time:

  1. 禁用空闲状态
    • powercfg.exe /setacvalueindex SCHEME_CURRENT SUB_PROCESSOR IdleDisable 1
    • powercfg.exe /setactive SCHEME_CURRENT
  2. 禁用服务
    • sc config dps start=disabled
    • sc config audiosrv start=disabled
    • sc config sysmain start=disabled
  3. 禁用 Windows 更新
    • sc config wuauserv start=disabled
  4. 禁用线程 DPC
    • reg add "HKLM\System\CurrentControlSet\Control\Session Manager\kernel" /v ThreadDpcEnable /t REG_DWORD /f /d 0
  5. 设置 Windows IoT CSP 以实现实时性能
    • SYSTEM 权限执行以下脚本:
      • $nameSpaceName="root\cimv2\mdm\dmmap"
        $className="MDM_WindowsIoT_SoftRealTimeProperties01"
        $obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
        Add-Type -AssemblyName System.Web
        Set-CimInstance -CimInstance $obj
        $obj.SetRTCores = 3
        Set-CimInstance -CimInstance $obj

        在这个配置中,我们将在一个 4 核 CPU 上保留 3 个内核(3、2、1)用于实时任务,并将内核 0 留给系统和非实时任务。注意:系统会从编号最高的核心开始分配实时用途,然后依次向下,但是无法保证实时核心始终位于最高编号,其不会自动调整。

Soft-Real-Time

视频Demo:https://weibo.com/tv/show/1034:5223802787790893?from=old_pc_videoshow

Untitled design - 1 

微软 Foundry Local - 设备 AI 推理解决方案

        微软在其 2025 Build 大会上发布了 Foundry Local,能够在本地设备上执行 AI 推理,意味着可以利用本地的 AI 算力,如:CPU/GPU/NPU;也让用户在隐私方面得到了充足的保障,还能有改善成本效益!Foundry Local 默认除了支持 CLI外,还支持 SDK、REST API 和 Catalog API,用户可以自行基于 Foundry Local 进行开发。在未来 Foundry Local 还将内置对 Agent/MCP 的支持。

        Foundry Local 还支持跨平台,除了能够运行在Windows 11 上,还能够运行在 macOS。由于需要本地存储和运行模型,请确保有足够的算力和存储,Foundry Local 支持硬件加速:NVIDIA GPU(2000系列或更高版本)、AMD GPU(6000系列或更高)、Intel iGPU、Intel NPU(32GB或更多内存)、高通 Snapdragon X Elite(8GB或更多内存)、高通 NPU,以及 Apple 系列。

        要在本地以 Foundry Local 运行 AI 模型,首先需要安装 Foundry Local。

  • Windows:
    • winget install Microsoft.FoundryLocal
  • macOS:
    • brew tap microsoft/foundrylocal
    • brew install foundrylocal

        运行模型只需要执行:

foundry model run <model>

        在 Foundry Local 上可运行的模型有很多,可使用以下命令查看:

foundry model list

        还可以加载 --filter 参数对显示列表进行筛选。

Foundry-model-list

        其他有用的参数还有:

foundry model info <model> 显示有关特定模型的详细信息

foundry model download <model> 在不运行模型的情况下只下载模型到本地缓存

foundry model load <model> 将模型加载到服务中

foundry model unload <model> 从服务中卸载模

        要查看本地已经下载缓存的模型,可执行:

foundry cache list

Foundry-cache-ls

        要检查 Foundry Local 服务状态,可执行:

foundry service status

Foundry-service-status

        Foundry Local CLI 详细使用可参考:Foundry Local CLI reference | Microsoft Learn

        Foundry Local SDK 目前支持 JavaScript、Python、C# 和 Rust,也可以使用 REST API 去调用 Foundry Local Service。gOxiA 这几天就用官方的样例代码改了一个支持 Windows 和 macOS 跨平台运行的 AI 推理程序,可在启动后自动检测 Foundry Local 运行状态获取服务地址和端口,并列出可用 AI 模型,如果未在运行,则执行 Foundry Local 启动。也可以手动指定 Foundry Local 地址,或配置 Azure AI 接口使用基于云的模型。

FoundryLocalChatDemo

        项目地址:FoundryLocalChat | Github

        FoundryLocalChat 视频演示:http://t.cn/AXw2NWB1

Windows 10 服务终止

[ 2025/10/15 12:06 | by gOxiA ]

Windows_logo_horiz_blue_rgb

Windows 10 服务终止

        2025年10月14日 Windows 10 已终止服务,这意味着运行以下版本的 Windows 10 设备将不会再收到每月安全和质量更新,不论是个人还是组织用户是时候升级到最新版本的 Windows 11。

  • Windows 10 版本 1507 (RTM)

  • Windows 10 2015 LTSB

  • Windows 10 版本 1511

  • Windows 10 版本 1607

  • Windows 10 2016 LTSB

  • Windows 10 版本 1703

  • Windows 10 版本 1709

  • Windows 10 版本 1803

  • Windows 10 版本 1809

  • Windows 10 企业版 LTSC 2019

  • Windows 10 版本 1903

  • Windows 10 版本 1909

  • Windows 10 版本 2004

  • Windows 10 版本 20H2

  • Windows 10 版本 21H1

  • Windows 10 IoT 企业版 LTSC 2021

  • Windows 10 版本 22H2

        如果你或你所在的组织需要继续保留 Windows 10 运行,则可以考虑采用 Windows 10 ESU,它是 Windows 10 扩展安全更新程序计划,确保 Windows 10 用户在 2025年10月14日之后能够继续获得 Windows 10 更新。但需要注意这并不是一个长期解决方案,它不包括新功能、非安全更新、设计更改请求或技术支持。ESU 注册仅提供至 2026年10月13日。

        对于个人:可以在通过通知或设置程序跟随向导轻松注册 ESU,有三个选项可供选择。

  1. 使用 Windows 备份将设置同步到云的,无需额外费用。
  2. 使用 1000个 Microsoft Rewards 积分兑换,无需额外费用。
  3. 支付30美元(当地价格会有所不同)

        对于组织用户:可以以每台设备61美元的价格订阅 ESU,以接收为期一年的每月关键和重要安全更新。订阅可以每年续订,最长三年,且费用每年都会增加。要注册 ESU 可通过 Microsoft 批量许可计划。需要注意,消费者 ESU 计划不可用于商用设备,例如处于展台模式的设备;加入 AD 或 Entra 的设备;已注册 MDM 的设备以及已拥有 ESU 许可证的设备。

        对于云和虚拟环境:通过 Windows 365 或虚拟机访问 Windows 11 云电脑的 Windows 10 设备有权免费使用 ESU,并且将自动接收安全更新,无需额外步骤。

        在组织环境下要确认是否已激活 ESU,可使用 slmgr.vbs /dlv,ESU 计划的激活 ID 是固定的,具体如下:

Win10 ESU Year1
f520e45e-7413-4a34-a497-d2765967d094

Win10 ESU Year2
1043add5-23b1-4afb-9a0f-64343c8f3f8d

Win10 ESU Year3
83d49986-add3-41d7-ba33-87c7bfb5c0fb

推荐官方文档:

Enable Extended Security Updates (ESU)| Microsoft Learn

Win10EOS-MeetWin11

        如果计划升级到 Windows 11,可参考 gOxiA 几天前发布的日志“Windows 11 25H2 IT 专业人员指南”。

分页: 1/153 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]