阅读:1044回复:4
关于多任务等,
我在这方面比较笨。
我想多任务管理例程应该是一个类似于时钟中断的例程吧? 还有,页面调入中断的中断级别是多少,应该是trap吧? trap的中断级别是多少呢?好像比大多数中断级别要高,大概 比电源中断等少数几个中断要低吧?不知道对不对? 请问一下:内核中哪些例程的编写肯定不能使用分页内存呢? 感觉一般写的驱动程序,都可以使用分页内存。除了interrupt例程以外。 |
|
|
沙发#
发布于:2005-03-14 12:14
我在这方面比较笨。 任务切换确实是靠时钟驱动的,时钟中断是OS的脉搏 页面调入中断应该叫缺页中断,是Intel保留的,有关这方面详细情况看Intel处理器手册。 能不能使用分页内存一般决定于CPU当前IRQL。在DISPATCH Level及其以上都不能用分页内存 |
|
|
板凳#
发布于:2005-03-14 12:24
任务切换确实是靠时钟驱动的,时钟中断是OS的脉搏 这么说,缺页中断的中断级别很低喽? 时钟中断好像有好几个,我可没时间 去看intel的手册,我还想偷点懒。 |
|
|
地板#
发布于:2005-03-14 12:50
建议你看AMD的手册,感觉比INTEL的要好...
|
|
|
地下室#
发布于:2005-03-16 14:10
我的理解是,在DISPATCH_LEVEL或以上的中断级别中,页面换出去是可以的,但是该页面无法再换回来了,因为要换回页面,就需要读磁盘,这样就必定要调用磁盘驱动并经过PASSIVE_LEVEL,但是如果目前在DISPATCH_LEVEL,PASSIVE_LEVEL的代码是没有资格获得CPU的,所以Windows强制在在DISPATCH_LEVEL或以上的中断级别中不能使用分页内存!
|
|