地址空间可重入进程内核--深入解析Linux内存模型
发布时间
阅读量:
阅读量
支持重入核心(Reentrant Kernel),是指多个子程序(子进程)可以同时运行于核心态(Kernel State)模式下
对于linux来说,可重入内核代码包含可重入函数和非可重入函数。
可重入函数是指运行时只改变局部数据结构,不改变全局数据结构;
不可重入函数是指运行该函数时也需要改变全局数据结构。
当多个进程同时进入不可重入函数时,则必须使用相应的锁机制以确保同一时刻只有一个进程更改涉及的全局数据。
一个内核代码指令序列将被用作内核控制路径(kernel control path)。
一旦有多个进程处于内核态时,则这些不同的内核控制路径就需要交替运行以确保CPU资源的有效利用。具体情况包括以下几种:
(1)进程A切换到内核态并运行其对应的内核控制路径P1;同时进程B切换到内 kernel control path P2. 在这种情况下,P1会被优先执行,但由于某种原因导致阻塞,PRI会暂停当前操作并切换到进程中进行相应的处理动作(即运行P2)。这种情形下,P1与P2分别属于不同进程中各自的管理流程。
(2)在进程中切换到其对应的inner kernel control path P1的过程中发生异常事件会导致该路径暂时中断并被挂起,CPU立即切换到进程中进行相应的处理操作(即运行inner kernel control path P2)。待完成
全部评论 (0)
还没有任何评论哟~
