线程在系统调用中时,操作系统通常会阻止上下文切换

问题描述

我想知道在系统调用中操作系统是否普遍防止上下文切换,而不管哪个系统调用或当前正在做什么,换句话说:系统调用是原子操作是否常见? ?

或者通常情况是系统调用可以在中间获得(例如)计时器中断,而循环算法(例如)会将控制权交给其他线程,并且系统调用将被卡在中间直到调用它的线程将再次有时间运行?

当然,当引起上下文切换的系统调用(如调用互斥锁捕获功能时)时,上下文切换将在特定的预告位置进行。我也了解到,在系统调用的某些特定位置,不允许使用上下文切换来防止系统调用间的竞争情况,例如系统调用更改某些内核共享资源的地方。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)