📜  CPU调度中的时间分片

📅  最后修改于: 2021-08-27 17:23:17             🧑  作者: Mango

CPU内核不只是将PC的全部资源分配给单个进程或服务。 CPU持续运行许多对其运行至关重要的进程,因此我们的内核需要在不延迟的情况下管理这些进程。

当程序需要运行时,必须为其创建进程。该过程需要具有重要的资源,例如RAM和CPU。内核为CPU调度执行过程中的命令和指令的时间段。即便如此,也只有一个CPU和多个进程。

CPU如何在不延迟的情况下执行不同的进程?它是通过按时间片分别逐个执行进程来实现的。时间片是分配给CPU执行过程的短时间范围。

时间片 :
这是为其分配进程以在抢先式多任务CPU中运行的时间表。调度程序在每个时间片上运行每个进程。每个时间片的时间段可能非常重要,并且对于平衡CPU性能和响应能力至关重要。

如果时间片很短,则调度程序将花费更多的处理时间。相反,如果时间片太长,调度程序将再次花费更多的处理时间。

当将进程分配给CPU时,将根据时间片设置时钟计时器。

  • 如果进程在时间片之前完成其突发,CPU会像常规FCFS计算一样简单地将其交换出去。
  • 如果时间片首先消失,则CPU将其移到正在进行的队列的后面。

正在进行的队列就像循环队列一样进行管理,因此,在所有进程执行一次之后,调度程序将再次执行第一个进程,然后再执行第二个进程,依此类推。

例子 –

Process Queue Required burst time by process(ms)
P1 1
P2 4
P3 5

我们有三个进程(P1,P2,P3)及其相应的突发时间(1ms,4ms,5ms)。一条经验法则是80%的CPU突发次数应小于时间量。考虑到2ms的时间片。
这是CPU通过时间分段对其进行管理的方式。

流程管理的时间分割方法

好处 :

  • 公平分配CPU资源。
  • 它以同等优先级处理所有过程。
  • 在系统上易于实现。
  • 用于保存抢占进程状态的上下文切换方法
  • 在平均处理时间方面提供最佳性能。

缺点:

  • 如果切片时间短,则处理器输出将延迟。
  • 它花费时间进行上下文切换。
  • 性能在很大程度上取决于时间量。
  • 无法确定流程的优先级。
  • 没有优先处理更重要的任务。
  • 找到合适的时间范围是非常困难的。