[問題] 關於 process context

看板LinuxDev作者時間7年前 (2018/05/01 22:19), 7年前編輯推噓1(104)
留言5則, 2人參與, 7年前最新討論串1/1
大家好 新手自學 最近在閱讀 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://www.ptt.cc/bbs/LinuxDev/M.1525184372.A.8FD.html

05/01 23:26, 7年前 , 1F
process context 不含interrupt context
05/01 23:26, 1F
所以 admon 大大的意思是否是,我文章後面寫的 process context 解釋是對的, 但是 interrupt context 的部分除外 是這個意思嗎?? 如果不對的話,可以再進一步解說 process context 的部分嗎? 謝謝 ※ 編輯: shiningboy (42.72.16.21), 05/02/2018 00:05:51

05/02 03:00, 7年前 , 2F
就是這個process被暫停執行後,恢復執行需要的內容
05/02 03:00, 2F

05/02 03:01, 7年前 , 3F
context其實就是程式本身,開的資源也算在內
05/02 03:01, 3F

05/03 20:57, 7年前 , 4F
process/thread/kernel thread的執行都是process context,
05/03 20:57, 4F

05/03 20:57, 7年前 , 5F
這個詞強調的是可以被schedule的context
05/03 20:57, 5F
文章代碼(AID): #1Qw7TqZz (LinuxDev)
文章代碼(AID): #1Qw7TqZz (LinuxDev)