作者:小兔纸77 | 来源:互联网 | 2023-05-27 21:04
我理解新的Linux内核允许内核空间线程被抢先一步.有人可以简要解释在内核模式下执行时抢占是如何工作的吗?因此,当进行系统调用时,软件中断会将线程切换到内核模式,并且它将运行必要的内容.现在,让我们说它的时间片是 - 并且另一个用户线程运行,它也想在内核空间中执行.(或者它可能是啊/ w中断).当内核中断时,内核如何维护它为T1修改的任何结构的完整性?
1> tangrs..:
Linux内核以与在多线程环境中运行的任何内容相同的方式保护其数据结构.
它可能会使用某种锁来保护必须以原子方式访问的数据结构.通常,这些包括自旋锁,互斥锁和信号量.
还有一些函数可以禁用抢占,但通常不会显式使用,因为锁定代码会隐式处理这个问题.