方式切换

用户方式的进程使用的系统调用允许通过用户方式调用内核函数。 直接或间接地调用系统调用来访问的函数一般由程序设计库提供,它们提供对操作系统函数的访问。

方式切换应与 vmstat 的输出(cs 列)和 sarcswch/s)命令中看到的上下文切换相区分。 在当前运行的线程不同于该处理器上先前运行的线程时会出现上下文转换。

当下列任一情况出现时调度程序执行上下文转换:

  • 线程必须等候某个资源(自愿),比如磁盘 I/O、网络 I/O、睡眠或锁
  • 一个较高优先级线程被唤醒(非自愿)
  • 线程已经用完了它的时间片(通常是 10 ms)。

上下文转换的时间、系统调用、设备中断、NFS I/O 和内核中任何其他活动都看作系统时间。