几个问题:1.系统启动进入内核之后ring0,最后必然要回到用户态,这其中的切换需要什么代价?是如何切换的?比如设置哪些状态,保护什么东东标志?比如ring3可以通过 int 2e进入ring0,那么ring0怎么回到ring3.2.关于system service.我想win ...
全文
回复(9) 2002-11-27 19:50 来自版块 - 内核编程
表情
shiyuewei看了大补!(2002-12-01 14:44)
sufeng多谢了。(2002-11-29 13:07)
pjf其它诸点都不怎么成问题,稍微看一下NT代码即可窥出大概;至于第一点本身描述不甚清楚,“系统启动进入内核之后ring0,最后必然要回到用户态,这其中的切换需要什么代价?”似乎想让人从启动后如何创建system进程说起、直至控制交付某个应用的ring3部分呢,够写半本书。如果很想了解...(2002-11-28 20:12)
sufeng呵呵,真正弄清楚决非一件容易的事情。 也许很多人知道结论,但是不一定就清楚他真正的内部实现机制,也是个似懂非懂。 要想搞定,要自己专心研究,看书,查资料,讨论也是必不可少,也许一个提示就茅塞顿开。 continue. (2002-11-28 18:38)
ysypjf说的比较粗,但是我还是支持他的,的确不是几句话就能说明白的。你问的这些问题看似很简单但是需要对cpu的结构有个很清楚的了解,我也觉得真正弄明白的话需要看很多书,还需要时间,除非你是天才。(2002-11-28 16:56)
sufeng下面是pjf的解释。 ------------------------------ 1.系统启动进入内核之后ring0,最后必然要回到用户态,这其中的切换需要什么代价? 是如何切换的?比如设置哪些状态,保护什么东东标志? //范围so大,岂是几句能说清楚的 比如ring...(2002-11-28 12:36)
sufeng多谢ysy 呵呵,大家继续讨论。(2002-11-28 12:33)
ysy补充一下,从ring0返回ring3的时候还要检查是否需要进程切换,有没有apc在排队。。。。(2002-11-28 11:37)
ysy几个问题: 1.系统启动进入内核之后ring0,最后必然要回到用户态,这其中的切换需要什么代价? 至少保护所有的寄存器. 是如何切换的?比如设置哪些状态,保护什么东东标志? 比如ring3可以通过 int 2e进入ring0,那么ring0怎么回到ring3. 基本...(2002-11-28 11:35)

返回顶部