您的位置:首页 > 其它

进程的上下文到底是什么东东

2010-02-03 16:31 323 查看
先给一个可以说是当今最具体的定义,最后给一个最抽象的定义 1.如果定义进程的上下文= 进程控制块(包含了很多信息,比如:此进程是否在内核态,内核堆栈的指针)+进程代码+进程堆栈(如果在用户状态就是用户堆栈,如果在内核态就是用户堆栈+内核堆栈)+cpu现场(即当前cpu的各个寄存器的状态)+连接在cpu上的与该进程相关的外部设备+环境变量(其实本身就包含在进程控制块里面)+页表+某个具体版本的内核。 以上几个元素的综合决定了进程运行经过的指令流,换句话说只要以上元素的状态确定了,进程运行的指令流也就是可以确定的。 2.当进程由用户态陷入内核态的时候,内核管理程序立即给该进程分配了一个内核栈,找到相应系统调用的代码段去运行,这段代码虽然是内核代码,但他的运行代表着调用他的那个进程(完全是被动的为这个进程去服务的),所以这时任然是在该进程的上下文中运行! 然后用一句抽象的概括:进程的上下文就是外界给进程提供的运行环境。(呵呵,包括具体的代码当然也可以说是一种环境了)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: