阅读:1941回复:2
麻烦解释一下什么是“进程的上下文”?
驱动程序通过 MmAllocateContiguousMemory 或 ExAllocatePoolXxx 函数分配内存,创建并建立描述缓冲区的 MDL,并使用 MmMapLockedPages 把内存映射到用户进程地址空间中。用户应用程序可以使用由 MmMapLockPages 返回的虚拟地址直接访问系统内存。由于应当在访问内存的“进程上下文”中完成映射,所以此方法只能用于单层结构的驱动程序,这时可以保证 dispatch 例程在调用进程上下文中运行。您可以在任意数量的用户过程地址空间上映射同一个系统缓冲区。不过,应当设计一种保护机制,使驱动程序及所有应用程序对内存的访问同步。进一步说,应当在终止进程之前或者一旦使用完缓冲区就在映射缓冲区的相同进程上下文中取消缓冲区的映射
///////////////////////////////////////////// 以上这段话讲到了进程的上下文,不是很明白,麻烦指点一下!只要说对了,就给分,决不吝啬! |
|
最新喜欢:![]() |
沙发#
发布于:2003-10-05 10:08
用户被禁言,该主题自动屏蔽! |
|
论坛版主
![]() |
板凳#
发布于:2003-10-10 15:00
这个...
现在还没有对os很多经典概念的严格定义,进程就是一个,进程上下文就更是大家自己的理解了,由于没有严格精确定义,我就罗嗦一点儿,只要大家能懂我说什么就好: 进程:可并发执行的程序在一个数据集合上的运行过程。 它是早期多任务系统调度和资源分配的基本单位。它是一段代码,在多任务系统中的执行,并伴随着和系统内、外各实体的交互。那么进程的上下文就是这种运行和交互需要的一切资源,这些资源比较具体的有;cpu(包括内部全部状态寄存器、通用寄存器、浮点寄存器等等),进程控制块(这里面记录了所有进程存活期需要的纪录),进程打开的文件,端口,持有的信号量,锁,内部定义的局部变量等等,这些东西伴随进程,附属于它,所以叫它的context。在进程被os调度,切换的时候,不仅是执行的代码的变化,它的所有资源,也就是上下文全部要保存起来,换成下一个执行的进程的上下文。这样使得系统内部各进程相互独立,并发运行。 我想了一下打个比方怎么说进程和进程的上下文,进程象人的哲学定义,说他的什么社会属性,自然属性,比较抽象,但描述了他的很多基本属性,进程上下文较为具体,象是人的生物定义,说的人的眼睛,嘴巴,每一样可以看的到,人的眼睛,嘴巴,最终为它的社会行为,自然行文所服务..... 对不起各位,说的拉杂,混乱,我立即停止 |
|