如題,想問一些觀念
Kernel會幫process建立PCB
保存process state,pc,page table等資訊
但kernel也會幫助thread建立TCB
會有自己的register set,stack pointer之類的
聽起來是不是PCB的某些資訊好像沒有這麼必要(?
像是PCB的PC 因為每個thread都有自己的PC
想問PCB和TCB有哪些資訊不同
然後同一個process的不同thread會共享同一個PCB嗎?
再麻煩大神解答了 非常感謝
作者:
TWkobe (中華柯比)
2022-02-02 12:10:00怎麼會不重要,以課本的模型來說你不保留PCB那process之間溝通要看什麼?
T大 我有大概明白PCB的重要性 只是覺得某些資訊好像沒有這麼必要(像是我前面講的pc還有reg set,stack pointer之類的) 不確定是否有PCB保存一份TCB 又一份的必要性 還是PCB沒有這些資訊是我記錯想問b大不同kernel 是什麼意思 我的理解是kernel 就是OS 還是不同作業系統處理方式不一樣嗎?
作者: lienasd126 (迷途の獅子) 2022-02-02 14:38:00
我覺得要看是哪種模型,如果是many-to-one ,PCB還是要保存thread之間共享的資源那些,這樣在做user thread的切換時才能繼續上一個,我覺得是這樣
作者:
plsmaop (plsmaop)
2022-02-02 20:18:00Linux 的 pcb tcb 都是 task struct,tcb 就只是某些欄位沒在用Thread 的 task struct 會用 pointer 指向 main thread的 task struct