【发布时间】:2010-08-24 15:57:59
【问题描述】:
我有一个进程为硬件(数据传输设备)提供特定缓冲区大小。我可以从 windows 调度程序窗口中合理地期望什么,以确保我不会出现缓冲区下溢?
我的缓冲区大小为 32K,每秒消耗约 800k 字节。
如果我以 16k 字节的批次填充它,即每 20 毫秒一个批次。但是,我填充它的下限是多少。如果说,我在填充循环中调用 sleep(0) 我合理的最坏情况调度间隔是多少?
操作系统 = Windows XP SP3 双核 2.2Ghz
请注意,我正在调用 API 来检查缓冲区填充级别,并调用驱动程序 API 以将数据传递给它。我假设这些是除了 sleep(0) 之外 Windows 可以使用的调度点。
我想(作为一个过程)表现得很好,并且仍然满足我的实时截止日期。机器专用于此任务,但需要通过网络接收数据并将其发送到 IO 设备。
我对调度程序性能有何期望? 我还需要考虑什么。
【问题讨论】:
标签: c windows performance real-time scheduler