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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值