作者shiningboy ()
看板LinuxDev
标题[问题] 关於 process context
时间Tue May 1 22:19:30 2018
大家好 新手自学
最近在阅读 Linux 有关 execution contexts 的观念
对於 process context 这个名词的意思不太确定
举的例子是 :
一个程式 a,目的要开启档案後读取,
这个程式 a 执行之後,从 user space 经由 c library read()
发出一个读取请求给 kernel,接着 context 转移到 kernel space ,
kernel 经由 IDE driver 去驱使硬碟读取相对应磁区的资料,
在等待硬碟回应的这段时间,kernel 会把程式 a 阻断 blocked 放到 wait queue 中
接着执行 context switch 去执行别的程式;
等到硬碟读取完成之後,kernel 向 CPU 发一个 interrupt ,
再执行一个 context switch 回到程式 a,这时候就可以读到硬碟回应的资料
经由上方的例子,想问的是
所谓的 process context 是否是指
一个程式执行之後成为 process 并储存在 main memory ,
然後这个 process 就是要执行开启档案读取的目的,
而这个目的会经由
user space ( user space context),
kernel space ( kernel space context) ,
ISR (interrupt context) 等相关的部分来完成这个目的
所以这整个 application process 的执行过程上下文,就称为 process context ???
是这个意思吗??
再请各位解惑了,
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.72.16.21
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/LinuxDev/M.1525184372.A.8FD.html
1F:→ admon: process context 不含interrupt context 05/01 23:26
所以 admon 大大的意思是否是,我文章後面写的 process context 解释是对的,
但是 interrupt context 的部分除外
是这个意思吗??
如果不对的话,可以再进一步解说 process context 的部分吗?
谢谢
※ 编辑: shiningboy (42.72.16.21), 05/02/2018 00:05:51
2F:→ hizuki: 就是这个process被暂停执行後,恢复执行需要的内容 05/02 03:00
3F:→ hizuki: context其实就是程式本身,开的资源也算在内 05/02 03:01
4F:推 admon: process/thread/kernel thread的执行都是process context, 05/03 20:57
5F:→ admon: 这个词强调的是可以被schedule的context 05/03 20:57