抢占式调度会影响移动文件的速度吗?

Posted

技术标签:

【中文标题】抢占式调度会影响移动文件的速度吗?【英文标题】:Would preemptive scheduling affects speed of moving file? 【发布时间】:2021-10-07 14:05:04 【问题描述】:

假设我将文件从驱动器 C 移动到 D。 如果我将环境设置为这样的操作系统将进程调度为抢占式调度,是否会影响移动文件的速度?

我听说移动文件保存在内核中,虽然内核 (=OS) 仍然是一个进程,但我的回答是 yes,因为可能会发生上下文切换。

我说的对吗?如果我错了,我想知道我错过了什么。

【问题讨论】:

试试看。在基本上空闲的盒子上复制/移动一个大文件,然后用应用程序加载它并重试。时间移动。移动/复制占用相对较少的 CPU,但需要大量 I/O。由 I/O 完成中断准备好的线程通常会获得临时优先级提升,我怀疑延迟会比您想象的要少。 【参考方案1】:

是的,因为如果允许进程在完成之前从就绪队列中取出,那么抢占式调度的整个概念就存在了。

这不仅对 mv 命令重要,而且对任何其他将上下文带到内核的进程都无关紧要。但是我们有缺点,比如基于 CPU 突发时间的饥饿等

【讨论】:

如果就绪线程数少于核数,可能没有抢占,所以没有抢占延迟。因此,不合格的“是”是不正确的。

以上是关于抢占式调度会影响移动文件的速度吗?的主要内容,如果未能解决你的问题,请参考以下文章

Golang详解调度机制 抢占式调度

FreeRTOS——任务调度—抢占式,时间片和合作式

任务调度—抢占式,时间片和合作式

从源码剖析Go语言基于信号抢占式调度

移动硬盘传输数据时,电脑突然死机,对移动硬盘有影响吗?

有啥方法可以确定 Windows 中可移动驱动器的速度吗?