何时进行过程切换

时间:2013-04-18 14:05:23

标签: c linux gcc process context-switch

我对两个进程之间的进程切换感到困惑。使用fork创建新进程时,适用于在进程之间切换的一般规则是什么。是仅当一个进程进入空闲状态时?我几乎没有怀疑

  1. 当父母和孩子都处于无限循环且只有打印指令(无睡眠方法)时会发生什么
  2. 一般规则是什么?

2 个答案:

答案 0 :(得分:2)

大多数preemptive调度程序将高度简化,为每个进程分配一定的最长时间。

当该时间到期时(例如10毫秒),它将重新安排,以便其他进程获得一些CPU。

如果在进程遇到某些其他等待条件(例如执行I / O)之前计时器没有到期,那么它将重新安排。

答案 1 :(得分:0)

  
    

当量子到期时发生上下文切换

         

当资源。

         

当系统调用触发时==>不确定。     re是发生中断切换

         

当具有较高优先级的另一个进程/线程进入就绪状态时,触发上下文切换。

         

当您的线程凭借i / o进入阻塞状态或等待任何其他线程时,共享被锁定